博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell编写的多服务器自动互信脚本(安装ceph)
阅读量:4352 次
发布时间:2019-06-07

本文共 1367 字,大约阅读时间需要 4 分钟。

相信大家都使用过分布式存储,而在分布式存储中较为出色的非ceph莫属了,但是这里就不深入聊ceph啦,我们只是聊聊安装ceph时遇到的问题。

    ceph需要多台主机进行ssh互信。三台还能忍受,但是当超过三台那工作量想想就令人发指,而且都是重复性的动作。这类操作必须要优化掉。

因此用shell写了一个多服务器互信脚本,仅供大家借鉴参考。具体脚本已经上传至github可在本公众号代码仓库中找到install_ceph进行下载使用。

代码不多说了比较简单,相信大家都能看懂!

这里只讲几点我当时的书写思路:

    install_ceph.sh是主节点安装程序,本着模块化的调用的方针,整个脚本脉络还是很清晰的。脚本由多个小函数组成,每个函数对应不同的功能。然后由main函数再进行调用。

互信我们需要获取本机IP地址,那就写了名为get_localip的函数。

1 get_localip(){2 ipaddr='172.0.0.1'3 ipaddr=$(ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}')4 echo "$ipaddr"5 }

然后最后边是主函数main

1 main(){ 2  yum_update   3  yum_config  4  iptables_config  5  sysctl_config   6  system_config  7  ssh_config  8  ulimit_config  9  change_hosts 10  rootssh_trust11  yum_install_ceph 12  config_ceph 13  install_ceph14 if [ "$?" != 0 ]; then15 remove_ceph16 install_ceph_repo_url17 mon_admin18 check_status19 else20 mon_admin21 fi22 if [ "$?" != 0 ]; then23 remove_ceph24 install_ceph_repo_url25 mon_admin26 check_status27 else28 mon_admin29 fi30 }31 main > ./setup.log 2>&1

在这里我们实现各个方法的组合调用,最后我们只需要执行main函数就行了。同样我们不想执行哪个方法,就可以注释掉main函数中哪个方法的名字就可以了。具体使用方法见README.md

波哥写的不只是技术,而是人生!是不是灰常牛X呀!!哇咔咔咔咔!

 

PS:shell其实我并没有深入研究过,这么多年也就是赶着用赶着写。好在非常简单易用。写shell有种手短的感觉,shell类似那种近身肉搏型的,快,准,狠,寸劲十足。所以我们在日常项目中时长会用shell来完成最后一公里的任务!

最近哥又在憋大招,波哥品质,坚若磐石。大家可以关注我的公众号获取更多的项目代码和讲解!

转载于:https://www.cnblogs.com/devops-ITboge/p/11012607.html

你可能感兴趣的文章
django paginator 分页功能
查看>>
java arrayList vector 区别
查看>>
测试思想-文档评审 关于需求评审
查看>>
poj 1035 纯正的字符串水
查看>>
Spring Shiro配置第三方SSO客户端登录
查看>>
mybatis逆向工程之动态web项目
查看>>
pip问题解决方案
查看>>
iphone手机连接USB时出现须要Mobile device setup disk上的usbaapl.sys文件
查看>>
一步一步教你在 Android 里创建自己的账号系统(一)
查看>>
巧妇能为少米之炊(1)——Android下小内存下的生存之道
查看>>
使用sql server management studio 2008 连接数据库,无法查看数据库,提示 无法为该请求检索数据 错误916 - z...
查看>>
我的四轴专用PID参数整定方法及原理---超长文慎入(转)
查看>>
潜意识
查看>>
sharepoint中查询列表绑定gridview
查看>>
管理最大困境:既想有效率,又怕得罪人
查看>>
Java 对象和类
查看>>
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
查看>>
06 构建之法阅读毕节
查看>>
Leetcode Search in Rotated Sorted Array
查看>>
(转)VC得到可用的串口列表
查看>>