zoukankan      html  css  js  c++  java
  • Ceph实验室:第五课:Ceph运维之换盘

    在ceph集群里,磁盘出故障是不可避免,所以替换故障磁盘成为ceph日常运维不断重复的任务。本课程演示如何替换一个故障盘。


    定位故障磁盘

    #MegaCli -PDList -aALL|grep "Media Error"
        Enclosure Device ID: 0  
        Slot Number: 3  
        Enclosure position: 0  
        Device Id: 2  
        Sequence Number: 2  
        Media Error Count: 227     <- 物理故障  
        Other Error Count: 2  
        Enclosure Device ID: 0  

    定位故障OSD

    #lsblk -i|grep /dev/sdc
    /dev/sdc1 on /var/lib/ceph/osd/ceph-1

    停止故障OSD

    systemctl status ceph-osd@1.service
    

    虽然osd.1的服务已停止,然而他任然被标记为IN(集群中)状态。只要他的状态还是IN,Ceph集群就不会为他触发数据恢复。默认情况下,ceph集群需要5分钟来将一个DOWN状态的磁盘标记为OUT状态,然后开始数据恢复。我们可以手工将故障OSD标记为OUT。一旦该OSD被标记为OUT,ceph集群会为该OSD上的PG启动恢复过程。

    • 当某个PG对应的OSD set中有一个OSD被标记为down时(假如是Primary被标记为down,则某个Replica会成为新的Primary,并处理所有读写 object请求),则该PG处于active+degraded状态,也就是当前PG有效的副本数是N-1。
    • 过了5秒之后,假如还是无法连接该OSD,则它被标记为out,Ceph会重新计算PG到OSD set的映射(当有新的OSD加入到集群时,也会重新计算所有PG到OSD set的映射),以此保证PG的有效副本数是N。
    #ceph osd out osd.1
    #ceph status
    

    删除故障OSD

    • 从ceph CRUSH map中移除
    #ceph osd crush rm osd.1 
    • 删除该osd的秘钥
    #ceph auth del osd.1
    • 从ceph集群中删除该osd
    #ceph osd rm osd.1


    拔掉故障盘,插入新磁盘......................


    重新组建 RAID

    [root@hh-yun-ceph-cinder016-128056 ~]# MegaCli -CfgLdAdd -r0 [0:3] WB Direct -a0  
    Adapter 0: Created VD 2  
    Adapter 0: Configured the Adapter!!  
    Exit Code: 0x00

    创建OSD,加入集群

    #ceph-deploy disk list ceph-node1
    #ceph-deploy disk zap ceph-node2:sdc
    #ceph-deploy --overwrite-conf osd create ceph-node1:sdc


    一旦OSD加入到集群,ceph会执行回填backfilling操作,他会将PG从第二OSD上移到这个新的OSD上。

    阅读全文:http://click.aliyun.com/m/16680/  

  • 相关阅读:
    生产宕机dunp配置
    虚拟机下载地址
    处理soapUI特殊返回报文 【原】
    SpringMVC 手动控制事务提交 【转】
    码云URL
    Java IO流操作汇总: inputStream 和 outputStream【转】
    springMVC下载中文文件名乱码【转】
    js
    js
    js
  • 原文地址:https://www.cnblogs.com/iyulang/p/6699935.html
Copyright © 2011-2022 走看看