1、摘除故障硬盘

Ceph集群中一个OSD通常对应一块硬盘,运行专用的守护进程,如果某OSD故障,可能需要移除特定的OSD,需要先停止守护进程,再进行移除。

  1. # 1. 停用设备:
  2. $ ceph osd out {osd-num}
  3. # 2. 停止进程:
  4. sudo systemctl stop ceph-osd@{osd-num}
  5. # 3. 移除设备:
  6. $ ceph osd crush remove osd.{osd-num}
  7. $ ceph auth del osd.{osd-num}
  8. $ ceph osd rm osd.{osd-num}
  9. # 卸载磁盘
  10. $ umount /var/lib/ceph/osd/ceph-{osd-num}

此操作仅从Ceph集群中摘除硬盘,但此硬盘块设备信息仍会显示及其依赖关系。再次使用此硬盘会提示硬盘正在使用。

  1. $ ceph-deploy osd create ceph-test1 --data /dev/sde
  2. [ceph-test1][WARNIN] --> Zapping: /dev/sde
  3. [ceph-test1][WARNIN] --> Zapping lvm member /dev/sde. lv_path is /dev/ceph-019ee643-ec3b-4c14-bc0e-b309727bad09/osd-block-836a7ecb-e805-4bf2-b159-de76f41a3e93
  4. [ceph-test1][WARNIN] Running command: /bin/dd if=/dev/zero of=/dev/ceph-019ee643-ec3b-4c14-bc0e-b309727bad09/osd-block-836a7ecb-e805-4bf2-b159-de76f41a3e93 bs=1M count=10 conv=fsync
  5. [ceph-test1][WARNIN] --> --destroy was not specified, but zapping a whole device will remove the partition table
  6. [ceph-test1][WARNIN] stderr: wipefs: error: /dev/sde: probing initialization failed: 设备或资源忙
  7. [ceph-test1][WARNIN] --> failed to wipefs device, will try again to workaround probable race condition

2、清除硬盘信息

可先使用lsblk列出可用块设备信息,以及依赖关系

  1. $ lsblk
  2. # /dev/sde即为需要清理的硬盘信息
  3. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  4. sda 8:0 0 30G 0 disk
  5. ├─sda1 8:1 0 1G 0 part /boot
  6. └─sda2 8:2 0 29G 0 part
  7. ├─centos-root 253:0 0 26G 0 lvm /
  8. └─centos-swap 253:1 0 3G 0 lvm [SWAP]
  9. sdb 8:16 0 50G 0 disk
  10. └─ceph--06235d4b--38a2--4137--949c--6679210b5d08-osd--block--e852921e--afa7--440f--be6c--61ef7e80b8ef 253:2 0 50G 0 lvm
  11. sdc 8:32 0 50G 0 disk
  12. └─ceph--4b697b85--96b4--4e2f--bcfb--bacb6b295423-osd--block--55b52048--20f0--421b--b522--572345997ffa 253:3 0 50G 0 lvm
  13. sdd 8:48 0 50G 0 disk
  14. └─ceph--5eb6fde1--faf4--47b8--8c58--e02aac6c2798-osd--block--8e4cbc6a--724e--41cc--ab85--2293029cc699 253:4 0 50G 0 lvm
  15. sde 8:64 0 30G 0 disk
  16. └─ceph--019ee643--ec3b--4c14--bc0e--b309727bad09-osd--block--836a7ecb--e805--4bf2--b159--de76f41a3e93 253:5 0 30G 0 lvm
  17. sr0 11:0 1 792M 0 rom

2.1、操作清理硬盘信息

  1. $ dmsetup ls
  2. ceph--5eb6fde1--faf4--47b8--8c58--e02aac6c2798-osd--block--8e4cbc6a--724e--41cc--ab85--2293029cc699 (253:4)
  3. ceph--019ee643--ec3b--4c14--bc0e--b309727bad09-osd--block--836a7ecb--e805--4bf2--b159--de76f41a3e93 (253:5)
  4. ceph--4b697b85--96b4--4e2f--bcfb--bacb6b295423-osd--block--55b52048--20f0--421b--b522--572345997ffa (253:3)
  5. ceph--06235d4b--38a2--4137--949c--6679210b5d08-osd--block--e852921e--afa7--440f--be6c--61ef7e80b8ef (253:2)
  6. # 清理硬盘信息
  7. $ dmsetup remove ceph--019ee643--ec3b--4c14--bc0e--b309727bad09-osd--block--836a7ecb--e805--4bf2--b159--de76f41a3e93

2.2、执行分区操作

  1. $ parted /dev/sdf
  2. > mklabel gpt
  3. > unit s
  4. > mkpart opt 2048s 100%
  5. > q