K8S ceph存储集群迁移四
9. ceph存储集群模拟迁移
9.1 新增三台服务器并且有块磁盘没有初始化
sealer join -n 10.5.11.13
sealer join -n 10.20.201.40
sealer join -n 10.20.201.41
9.2 奇怪现象出现了。。。
只是添加三台服务器到集群中 结果自动加入ceph集群了
原因:
kubectl edit cephclusters.ceph.rook.io rook-ceph -n rook-ceph
发现: useAllDevices: useAllNodes 都为true
查看 官网解释 Cluster CRD - Rook Ceph Documentation
以上两个参数都要改成false才行
9.3 修改参数并且将新增三个几点剔除集群
9.3.1 修改参数
kubectl edit cephclusters.ceph.rook.io rook-ceph -n rook-ceph
9.3.2 剔除新增的三个节点
#查看osd状态
ceph osd tree
#下线osd
ceph osd out osd.id
等 pg 都为0
依次删除deployment
kubectl delete deployment rook-ceph-osd-3 -n rook-ceph
kubectl delete deployment rook-ceph-osd-4 -n rook-ceph
kubectl delete deployment rook-ceph-osd-5 -n rook-ceph
查看页面已经为down 状态
在删除节点
ceph auth del osd.3
ceph osd rm 3
ceph auth del osd.4
ceph osd rm 4
ceph auth del osd.5
ceph osd rm 5
查看页面 正常
9.3用stroagess创建Minio用来模拟数据
安装步骤省略掉
将minio管理界面地址nodeport 映射出来
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/instance: minio
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: minio
helm.sh/chart: minio-11.9.2
name: minio-nodeport
namespace: default
spec:
ports:
- name: minio-console-nodeport
nodePort: 31113
port: 9001
protocol: TCP
targetPort: 9001
selector:
app.kubernetes.io/instance: minio
app.kubernetes.io/name: minio
sessionAffinity: None
type: NodePort
上传两个文件
9.4 新增三个节点
9.4.1 由于刚才那三个节点有数据了 所以需要格式化
yum install gdisk parted -y
DISK="/dev/sdc"
sgdisk --zap-all $DISK
dd if=/dev/zero of="$DISK" bs=1M count=100 oflag=direct,dsync
blkdiscard $DISK
rm -rf /dev/ceph-*
rm -rf /dev/mapper/ceph--*
rm -rf /var/lib/rook
partprobe $DISK
9.4.2 新增节点
kubectl edit cephclusters.ceph.rook.io rook-ceph -n rook-ceph
1.发现osd并没有起来
解决办法 磁盘用通配符不能用精确磁盘 原因未知
发现node-4起来
2. 发现osd5 osd6并没有起来
解决办法:
ceph auth del osd.4
ceph osd rm 4
ceph osd crush rm osd.4
ceph auth del osd.5
ceph osd rm 5
ceph osd crush rm osd.5
在上面删除节点 忘记执行 ceph auth del osd.4 ceph auth del osd.5
但是 node-4节点起来 是因为执行了 ceph auth del osd.3
观察服务 以及状态 都是正常了 起来了
9.5 下线老的三个节点
-
要等待pg都为0 才能执行下一个步骤
-
依次删除deployment
kubectl delete deployment rook-ceph-osd-0 -n rook-ceph
kubectl delete deployment rook-ceph-osd-1 -n rook-ceph
kubectl delete deployment rook-ceph-osd-2 -n rook-ceph
-
将节点剔除集群
ceph auth del osd.0
ceph osd rm 0
ceph osd crush rm osd.0
ceph osd crush rm k8s-node-01
ceph auth del osd.1
ceph osd rm 1
ceph osd crush rm osd.1
ceph osd crush rm k8s-node-02
ceph auth del osd.2
ceph osd rm 2
ceph osd crush rm osd.2
ceph osd crush rm k8s-node-03
-
此时发现ceph存储其他服务器去掉了
验证:登录Minio附件都是正常的 证明迁移没问题
本文来自博客园,作者:小星奕的快乐,转载请注明原文链接:https://www.cnblogs.com/superzed/articles/16910306.html