Ceph集群新增osd

比起君子讷于言而敏于行,我更喜欢君子善于言且敏于行。

目录

前言

一、先准备好干净的磁盘

二、修改culster.yaml

[1. 备份原来的yaml](#1. 备份原来的yaml)

[2. 修改](#2. 修改)

[3. 应用新的yaml](#3. 应用新的yaml)

[4. 观察osd pod](#4. 观察osd pod)

[5. 看一下集群信息](#5. 看一下集群信息)

总结


前言

记录ceph新增osd,实际上增加了osd之后,ceph集群也是会做一个数据均衡的动作,所以如果可用空间很少,那么并不会立刻马上就增加容量。ceph df显示的可使用的空间,是按照最满的那个osd的可用量算的。最好是日常多观测多均衡数据存放。


一、先准备好干净的磁盘

盘不干净的话参考上一篇文章进行预处理

每台设备都确认好 对应磁盘的 by-id/wwn 号

复制代码
ls -l /dev/disk/by-id/wwn-* | grep sdk
ls -l /dev/disk/by-id/wwn-* | grep sdj

注意踩坑:此处最好使用 by-id/wwn 号,不要直接用sdX这种,有可能下次加盘sdX会发生变化,全部打乱不好找,一旦打乱超级无敌难对应起来。

二、修改culster.yaml

1. 备份原来的yaml

要找到自己的cluster.yaml,我的路径是自己后期挪动的

c 复制代码
cp /home/ubuntu/rook/2-cluster/cluster.yaml /home/ubuntu/rook/2-cluster/cluster.yaml.$(date +%Y.%m.%d_%H:%M).bak

2. 修改

直接给新的加到对应的机器的name下面就好

c 复制代码
################### OSD 磁盘声明 #################
  storage:
    useAllNodes: false
    useAllDevices: false
    config:
      onlyApplyOSDPlacement: "true" # 强制使用指定节点和设备
      forceFormat: "true"
    nodes:
      - name: bj10-10-18-102
        devices:
          - name: /dev/disk/by-id/wwn-0x5000c500a6b81d6b        #sdc
          - name: /dev/disk/by-id/wwn-0x5000c500a6b7af77        #sdd
          - name: /dev/disk/by-id/wwn-0x5000c500a6b842d3        #sde
          - name: /dev/disk/by-id/wwn-0x5000c50085fe1a4f        #sdh
          - name: /dev/disk/by-id/wwn-0x5000c500a65ebef7        #sdi
          - name: /dev/disk/by-id/wwn-0x5000c500a6b7d013        #sdf   #hdd
            config:
              osdsPerDevice: "1"
              deviceClass: hdd_new
              metadataDevice: /dev/disk/by-id/ata-Lenovo_SSD_SL700_2TB_LSL702T0B56LV00544       #sdg   # ssd(DB/WAL)
          - name: /dev/disk/by-id/wwn-0x5000c500cbe839d1        #sdj

      - name: sh10-10-18-129
        devices:
          - name: /dev/disk/by-id/wwn-0x5000c500a6b3a10b        #sdd
          - name: /dev/disk/by-id/wwn-0x5000c500a6b2c53b        #sdg
          - name: /dev/disk/by-id/wwn-0x5000c500a6b3c4e7        #sde
          - name: /dev/disk/by-id/wwn-0x5000c500a6b853c7        #sdf
          - name: /dev/disk/by-id/wwn-0x5000c500a6b85e2f        #sdh
          - name: /dev/disk/by-id/wwn-0x5000c50085fe1e87        #sdi-hdd
            config:
              osdsPerDevice: "1"
              deviceClass: hdd_new
              metadataDevice: /dev/disk/by-id/ata-Lenovo_SSD_SL700_2TB_LSL702T0B56LV00537  #sdb   # ssd(DB/WAL)
          - name: /dev/disk/by-id/wwn-0x5000c500c08391c2        #sdk

           

      - name: sh10-10-18-130
        devices:
          - name: /dev/disk/by-id/wwn-0x5000c500a6b3a7fb        #原sdf
          - name: /dev/disk/by-id/wwn-0x5000cca252383038        #原sdg
          - name: /dev/disk/by-id/wwn-0x5000c500a6b2a4f3        #原sdh
          - name: /dev/disk/by-id/wwn-0x5000039ad828d665        #sdc
          - name: /dev/disk/by-id/wwn-0x5000c500a6b82aa7        #sdj
          - name: /dev/disk/by-id/wwn-0x5000c500a6b82d2f        #原sde   #hdd
            config:
              osdsPerDevice: "1"
              deviceClass: hdd_new
              metadataDevice: /dev/disk/by-id/ata-Lenovo_SSD_SL700_2TB_LSL702T0B56LV00535  #原sdd   # ssd(DB/WAL)
          - name: /dev/disk/by-id/wwn-0x5000c500c0e26cd2        #sdk

3. 应用新的yaml

复制代码
kubectl apply -f ./cluster.yaml

4. 观察osd pod

耐心等一下,不会是秒级的出现,大概会等1-2分钟甚至更久,会发现有新的osd pod出现了

复制代码
kubectl -n rook-ceph get pods -l app=rook-ceph-osd

5. 看一下集群信息

这个要去pod里面看

复制代码
#先进到rook-ceph的pod
kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash
#查看集群
ceph osd df tree
ceph -s

总结

新增osd相对来说还是比较简单的,yaml更新也不会影响之前的内容。

相关推荐
m0_7360348516 小时前
ceph分布式存储
分布式·ceph
三十..1 天前
Ceph 三大存储接口深度实践与数据保护指南
运维·ceph
AOwhisky1 天前
Ceph系列第六期:Ceph 文件系统(CephFS)精讲
linux·运维·网络·笔记·ceph
潮起鲸落入海1 天前
Ceph 分布式存储 对象存储管理
ceph
qq_356408661 天前
Kubernetes Loki 日志收集系统部署文档 (读写分离模式 + Ceph S3 + Nginx 日志分离)
ceph·nginx·kubernetes
潮起鲸落入海2 天前
ceph分布式存储认证和授权,块存储管理
分布式·ceph
AOwhisky3 天前
Ceph系列第三期:Ceph 集群核心配置与管理
linux·运维·数据库·笔记·ceph
AOwhisky4 天前
Ceph系列第五期:Ceph 对象存储(RADOS Gateway)精讲
linux·运维·笔记·ceph·gateway·对象存储
AOwhisky4 天前
Ceph系列第四期:Ceph块存储(RBD)精讲
linux·运维·笔记·ceph·云计算·rbd