• CEPH 系统盘挂了,如何使用数据盘恢复


    硬盘损坏是早晚的时,CEHP数据盘坏了,使用CEPH的基本都轻车熟路了,如果系统盘坏了呢?不知道的可能会采取整个系统盘全做的方式

    前提条件:使用cephadm搭建集群
    如果换服务器,请确保CEPH数据盘放到其它服务器上后还能看到LVM分区

    如果IP/主机名变了请先设置

    ceph config set global osd_crush_update_on_start false
    

    禁止自动更新视图
    不禁止osd会跑到新主机上,触发迁移

    前面都可有可无
    最终情况是:
    系统盘数据被清除,
    ceph相关的数据也没了,
    但ceph数据盘仍在
    目标:将仍在的数据盘恢复到集群中,避免出现大量回填/迁移情况

    方法:重新生成对应的系统文件即可

    启蒙方法(看看就好)
    文件都在/var/lib/ceph/{fsid}/osd.x目录
    里面的东西大都差不多
    可以随便考一个出来
    在这里插入图片描述
    注意那些时间不会更新的文件基本,剩下的会自动刷出来
    文件虽然都一样,但里面的osdid及对应的osduuid不一样

    sed -i "s/osdid/${osdid}/g" unit.*
    sed -i "s/osduuid/${osduuid}/g" unit.*
    
    systemctl start ceph-${fsid}@osd.${osdid}.service
    systemctl enable ceph-${fsid}@osd.${osdid}.service
    

    自己会改的话 就能启动成功了
    看看就行

    优雅的操作:(主要看这个
    上面的文件也是基于一套模块生成出来的

    cephadm deploy --name osd.x --config /etc/ceph/ceph.conf --fsid {fsid} --osd-fsid {osdfsid}
    

    必要参数说明
    osd.x:要恢复的osd
    文件/etc/ceph/ceph.conf从其它服务器上拿就行了[keying也要,如果不幸挂的是admin服务器见CEPH client.admin key获取]
    fsid:ceph -s 中的fasid
    osdfsid:通过ceph-volume lvm list osd.id 命令获取,注意osd fsid这行

    旧版不支持指定osdid获取,只能指定硬盘或全部获取,那只有全部获取后再找出来

    即使系统盘没挂,也可以用此方法将osd迁移到其它服务器上
    视图问题要注意

  • 相关阅读:
    Linux 系统编程
    《代码随想录》三刷,与诸君共勉,秋招见!
    9/15(实习)一面
    【JVM笔记】方法的调用—虚方法与非虚方法
    美中嘉和在港交所招股书失效:去年亏损约5亿元,杨建宇为实控人
    资料分析(错题、经典)
    python与分形0020 - Stack of Hexagons
    零基础自学SQL课程 | IF函数
    为什么建议你多吃黄瓜,这7大健康益处你需要知道
    【面试题 - spring】二
  • 原文地址:https://blog.csdn.net/bener2008zj/article/details/140101912