本文所使用Ceph版本爲luminous(不同版本刪除OSD基本操作相同),當出現Ceph OSD爲down的情況時,可以通過以下方法解決(假設ceph-admin節點OSD.1 Down,該OSD對應磁盤爲/dev/sdb):
步驟1.停止相應OSD服務
此步驟需要在Down掉的OSD所在節點上操作,
輸入命令:
systemctl stop [email protected]
步驟2.取消OSD掛載
安裝OSD時,會將osd.1掛載至/var/lib/ceph/osd/ceph-1,因此,刪除OSD時,需要首先取消OSD掛載,
輸入命令:
umount /var/lib/ceph/osd/ceph-1
步驟3. 設置OSD爲OUT
輸入命令:
ceph osd out osd.1
步驟4.刪除OSD
輸入命令:
ceph osd crush remove osd.1(如果未配置Crush Map則不需要執行這一行命令)
ceph auth del osd.1
ceph osd rm 1
步驟5.清空已刪除磁盤中的內容
輸入命令:
wipefs -af /dev/sdb
完成此項操作後,重啓該OSD所在節點的機器
重啓完成後,需要zap該磁盤,輸入命令如下:
ceph-volume lvm zap /dev/sdb
如果zap成功,會提示以下信息:
--> Zapping: /dev/sdb
Running command: /usr/sbin/cryptsetup status /dev/mapper/
stdout: /dev/mapper/ is inactive.
Running command: /usr/sbin/wipefs --all /dev/sdb
Running command: /bin/dd if=/dev/zero of=/dev/sdb bs=1M count=10
stderr: 10+0 records in
10+0 records out
stderr: 10485760 bytes (10 MB) copied, 0.0195807 s, 536 MB/s
--> Zapping successful for: /dev/sdb
步驟6.重新安裝OSD
輸入命令:
ceph-deploy osd create --bluestore ceph-admin --data /dev/sdb
步驟7.查看OSD TREE
輸入命令:
ceph osd tree
此時應該看到OSD爲UP的情況