暗能星系

    • 登录
    • 搜索

    rook-ceph磁盘删除重新添加

    问题记录及解决
    1
    1
    10
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      zhanglu 最后由 编辑

      Rook Ceph OSD异常,格式化osd硬盘重新挂载

      1、进入rook ceph toolbox工具pod

      kubectl exec -it rook-ceph-tools-68754fc9dd-sj9h6 bash -n rook-ceph
      

      2、命名用ceph命令查询并删除osd

      #查询状态,找到要移除的osd id

      ceph osd status
      #标记移除的osd
      ceph osd out osd.1
      ceph osd purge 1 --yes-i-really-mean-it
      ceph osd crush remove osd.1
      ceph auth rm osd.1
      ceph osd rm osd.1
      

      3、删除相关osd节点的deployment

      kubectl delete deploy rook-ceph-osd-1 -n rook-ceph
      

      4、登录要删除osd所在的服务器,格式化osd硬盘

      #检查硬盘路径
      fdisk -l
      #删除硬盘分区信息
      DISK="/dev/sdb"
      sgdisk --zap-all $DISK
      #清理硬盘数据(hdd硬盘使用dd,ssd硬盘使用blkdiscard,二选一)
      dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync
      blkdiscard $DISK
      #删除原osd的lvm信息(如果单个节点有多个osd,那么就不能用*拼配模糊删除,而根据lsblk -f查询出明确的lv映射信息再具体删除,参照第5项操作)
      ls /dev/mapper/ceph-* | xargs -I% -- dmsetup remove %
      rm -rf /dev/ceph-*
      #重启,sgdisk –zzap-all需要重启后才生效
      reboot
      

      报错错误:cannot open /dev/sdb: Device or resource busy

      5、手动查看并删除原osd创建的lvm信息

      (可选,根据第4步执行情况决定),否则格式化时会报 cannot open /dev/sdb: Device or resource busy 异常

      #查看lvm设备信息

      dmsetup ls;
      #删除ceph osd lvm映射关系
      dmsetup remove ceph--5a4cb4bb--70b3--40bd--9da7--09d4f264a513-osd-xxxxxxxxx
      #移动lv
      lvremove /dev/mapper/ceph--5a4cb4bb--70b3--40bd--9da7--09d4f264a513-osd—xxxxxxxxx
      #删除相关文件
      rm –rf /dev/ceph--5a4cb4bb--70b3--40bd--9da7--09d4f264a513
      

      5、重启ceph operator调度,使检测到格式化后的osd硬盘,osd启动后ceph集群会自动平衡数据

      注:如果新osd pod无法执行起来可以通过查询osd prepare日志找问题

      kubectl -n rook-ceph logs rook-ceph-osd-prepare-node1-fvmrp provision
      
      1 条回复 最后回复 回复 引用 0
      • First post
        Last post
      Powered by 暗能星系