zoukankan      html  css  js  c++  java
  • ceph写osd的配置文件/etc/ceph/ceph.conf

    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
    
  • 相关阅读:
    OpenCV 实现图像拼接例子
    XML 可扩展标记语言
    XML和YAML的区别与使用方法
    OpenCV 感兴趣区域ROI和logo添加技术
    OpenCV 详解掩膜mask
    OpenCV 读写xml和yml文件
    OpenCV 如何生成能在无OpenCV环境下运行的exe
    OpenCV 图像拼接和图像融合技术
    OpenCV 特征检测和特征匹配方法汇总
    OpenCV 图像矫正技术深入探讨
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575320.html
Copyright © 2011-2022 走看看