shell编写的多服务器自动互信脚本(安装ceph)

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

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

   

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

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

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

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

   

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

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


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

然后最后边是主函数main


main(){
 yum_update  
 yum_config 
 iptables_config 
 sysctl_config  
 system_config 
 ssh_config 
 ulimit_config 
 change_hosts 
 rootssh_trust
 yum_install_ceph 
 config_ceph 
 install_ceph
if [ "$?" != 0 ]; then
remove_ceph
install_ceph_repo_url
mon_admin
check_status
else
mon_admin
fi
if [ "$?" != 0 ]; then
remove_ceph
install_ceph_repo_url
mon_admin
check_status
else
mon_admin
fi
}
main > ./setup.log 2>&1

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


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

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

最近哥又在憋大招,波哥品质,坚若磐石。

伙伴们拭目以待吧!


贝贝!

相关文章
|
1天前
|
Shell 数据安全/隐私保护
阿里云服务器安装宝塔
阿里云服务器安装宝塔
18 3
|
12天前
|
运维 监控 API
自动化运维实践指南:Python脚本优化服务器管理任务
本文探讨了Python在自动化运维中的应用,介绍了使用Python脚本优化服务器管理的四个关键步骤:1) 安装必备库如paramiko、psutil和requests;2) 使用paramiko进行远程命令执行;3) 利用psutil监控系统资源;4) 结合requests自动化软件部署。这些示例展示了Python如何提升运维效率和系统稳定性。
30 8
|
8天前
|
Java 关系型数据库 MySQL
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
15 0
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
|
1月前
|
运维 Linux 程序员
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
最全查看Linux系统状态脚本_linux查询所有服务器信息的脚本,墙都不扶就服你
|
23天前
|
Ubuntu Java Linux
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
Linux centos7 ubuntu 一键安装Java JDK 脚本 shell 脚本
34 2
|
1天前
|
Linux Shell Python
linux服务器python2升级安装python3.7环境
linux服务器python2升级安装python3.7环境
7 0
|
3天前
|
安全 Linux Python
【安全狗】linux免费服务器防护软件安全狗详细安装教程
【安全狗】linux免费服务器防护软件安全狗详细安装教程
9 0
|
16天前
|
Linux Shell 测试技术
Linux服务器测试脚本集合
LemonBench是iLemonrain创作的Linux服务器性能测试工具,能一键检测系统信息、网络、CPU、内存和硬盘性能。
14 0
|
24天前
|
Apache Windows
windows 一键安装apache服务器 windows傻瓜式安装apache2 web服务器管理软件
windows 一键安装apache服务器 windows傻瓜式安装apache2 web服务器管理软件
32 0
|
24天前
|
Apache Windows
windows源码安装apache2 win安装apache 阿帕奇服务器
windows源码安装apache2 win安装apache 阿帕奇服务器
18 0