首页 技术 正文
技术 2022年11月12日
0 收藏 608 点赞 3,394 浏览 940 个字

ceph在部署过程中是先进行部署,再去写配置文件的,而一些新手在部署完了后,并没有写配置文件,在重启服务器后,因为挂载点没有挂载,所以服务无法启动,所以需要写好配置文件

还有一种情况是集群有几百个osd,在新加入或者修改的时候,再去进行变更配置文件就是一个很麻烦的事情,所以写配置文件这个如果脚本来处理,就可以节约很多时间,所以写了一个脚本如下,这个地方如果熟悉python的可以用python写,我这个是自己使用,并且使用的频率不会太高,因此,怎么方便怎么来

脚本里面用了一个二进制文件是解析json用的,这个拷贝到运行的机器上就可以了

解析的二进制文件在这里下载:

http://stedolan.github.io/jq/

备用下载地址:

http://pan.baidu.com/s/1pKgefmr

下载后拷贝到linux机器的/sbin/下面,为了方便重命名为 /sbin/jq

后面的输出可以方便的修改,原理是获取当前的osd状态,然后去osd上获取信息

#! /bin/sh
#注意要配合js使用http://stedolan.github.io/jq/
for osd in `ceph osd dump |awk '/^osd/ {print $1}'|cut -d . -f 2`
do
#获取主机名
osdhost=`ceph osd find $osd |jq '.crush_location' |jq '.host'|cut -d \" -f 2`
#获取主机的ip
osdip=`ceph osd find $osd |jq '.ip' |cut -d : -f 1|cut -d \" -f 2`
#获取主机的磁盘
osddisk=`ssh $osdip findmnt /var/lib/ceph/osd/ceph-$osd|awk '{print $2}'|tail -n 1`
#获取主机的uuid
uuid=`ssh $osdip blkid $osddisk|cut -d : -f 2|cut -d " " -f 2|cut -d \" -f 2`
#写入文件
echo "osd.$osd.host = $osdhost" >> mydiskinfo
echo "osd.$osd.uuid = $uuid " >> mydiskinfo
echo "osd.$osd.devs = $osddisk" >> mydiskinfo
done
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,083
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,558
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,407
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,180
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,816
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,899