报错:
1
handle_auth_bad_method server allowed_methods [2] but i only support [2]
解决办法如下:
1
kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}') bash
删除 osd
1
2
3
4
5
6
7
8
#查询状态,找到要移除的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
删除 osd 的 deployment
1
kubectl delete deploy rook-ceph-osd-1 -n rook-ceph
登录删除 osd 所在的服务器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
yum install -y gdisk
#检查硬盘路径
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
5、重启 ceph operator 调度,使检测到格式化后的 osd 硬盘,osd 启动后 ceph 集群会自动平衡数据
1
kubectl rollout restart deploy rook-ceph-operator -n rook-ceph
注意查看 pod 中问题。
#date 20241220
遇到ceph osd down的情况:
解决方案如下:
1
2
3
4
#遇到的问题是For example, you will have rook-ceph-mgr-b-xxx in crash, rook-ceph-osd-0-*** and “rook-ceph-mon-a-***” not ready.
kubectl scale deployment -n rook-ceph rook-ceph-osd-0 --replicas 0
kubectl delete pod rook-ceph-mon-a-******** -n rook-ceph
# 等待一会重启即可。
Licensed under CC BY-NC-SA 4.0
最后更新于 Jan 06, 2025 05:52 UTC