ceph 换盘扩容

调整时间

基础设施调整操作:工作日0点之后操作,或者非工作日

基础设施包括网络、主机系统、存储 / 备份系统、安全系统、以及机房动力环境等

调整规范

变更管理实现所有基础设施和应用系统的变更,变更管理应记录并对所有要求的变更进行分类,应评估变更请求的风险、影响和业务收益。其主要目标是以对服务最小的干扰实现有益的变更。

调整需要对可能影响的业务方进行通知。如果是关键系统的调整,需要全局通知。

调整方式

后续均通过工单系统进行操作,重要操作需要至少两个人一起确认后在执行

调整实例

换盘扩容可以抽象为几个元步骤的结合:1)删除OSD步骤 2)观察集群状态 3)IDC更换磁盘 4)新OSD上线步骤 5)观察集群状态

更换磁盘

1、 根据OSD ID 确认需要更换的磁盘对应的盘符(ceph-25 25为OSD对应的ID,sdf为服务器上对应的盘符;)

[root@ceph-81-204 ~]# lsblk |grep -B1 `ls -lrt /var/lib/ceph/osd/ceph-25 | grep block |awk -F "-" '{print $NF}'`
sdf                                                                             └─ceph--f014814a--8721--4347--9ebd--b307bab59e0d-osd--block--a87fccf6--88bf--481e--9757--8d5b74d3ca59 253:4    0  7.3T  0 lvm

2、 获取磁盘SN:

lsblk --nodeps -no serial /dev/sda

根据磁盘SN获取磁盘插槽slot位置:

/opt/MegaRAID/MegaCli/MegaCli64 -PDlist -Aall | grep -B4 $SN

3、获取磁盘SN号提交磁盘更换工单http://wos.myhexin.com/?#/process/create-ticket?processId=5

(从A服务器拔出,更换到B服务器工单:http://wos.myhexin.com/?#/process/create-ticket?processId=244

[root@ceph-81-204 ~]# smartctl --all /dev/sdf | grep "Serial Number"Serial Number:    WSD62F28

删除 OSD

要想缩减集群尺寸或替换硬件,可在运行时删除 OSD 。在 Ceph 里,一个 OSD 通常是一台主机上的一个 ceph-osd 守护进程、它运行在一个硬盘之上。 如果一台主机上有多个数据盘,你得逐个删除其对应 ceph-osd 。通常,操作前应该检查集群容量,看是否快达到上限了,确保删除 OSD 后不会使集群达到 near full 比率。

警告: 删除 OSD 时不要让集群达到 full ratio 值,删除 OSD 可能导致集群达到或超过 full ratio 值。

1、停止需要剔除的 OSD 进程,让其他的 OSD 知道这个 OSD 不提供服务了。停止 OSD 后,状态变为 down

ssh {osd-host}sudo systemctl stop ceph-osd@{osd-num}

2.将 OSD 标记为 out 状态,这个一步是告诉 mon,这个 OSD 已经不能服务了,需要在其他的 OSD 上进行数据的均衡和恢复了。

ceph osd out {osd-num}

执行完这一步后,会触发数据的恢复过程。此时应该等待数据恢复结束,集群恢复到 HEALTH_OK 状态,再进行下一步操作。

3.删除 CRUSH Map 中的对应 OSD 条目,它就不再接收数据了。你也可以反编译 CRUSH Map、删除 device 列表条目、删除对应的 host 桶条目或删除 host 桶(如果它在 CRUSH Map 里,而且你想删除主机),重编译 CRUSH Map 并应用它。

ceph osd crush remove {name}

该步骤会触发数据的重新分布。等待数据重新分布结束,整个集群会恢复到 HEALTH_OK 状态。

4.删除 OSD 认证密钥:

    ceph auth del osd.{osd-num}

5.删除 OSD 。

ceph osd rm {osd-num}#for exampleceph osd rm 1

6.卸载 OSD 的挂载点。

sudo umount /var/lib/ceph/osd/$cluster-{osd-num}

7.登录到保存 ceph.conf 主拷贝的主机。

    ssh {admin-host}    cd /etc/ceph    vim ceph.conf

8.从 ceph.conf 配置文件里删除对应条目。

    [osd.1]            host = {hostname}

9.从保存 ceph.conf 主拷贝的主机,把更新过的 ceph.conf 拷贝到集群其他主机的 /etc/ceph 目录下。

如果在 ceph.conf 中没有定义各 OSD 入口,就不必执行第 7 ~ 9 步。

新增OSD

1.初始化新的磁盘、OSD初始化,在deploy服务器上运行,vlan1的deploy服务器是192.168.215.89,# 指定目标机器及对应的块设备编号,如果更换的是旧盘,这一步操作有可能失败报错,此时最好用dd(或者分区工具)摧毁磁盘上残留的Raid或分区表信息,然后重新初始化尝试;

su - cephfsdsh /usr/local/bin/ceph-devops/deploy-osd.sh $hostname sdb,sdc,sde,...sdn 
# 验证方法ceph osd status | grep $hostname # 确认最后一列是 exists,up表示osd已经启动完毕

2.调整Crushmap,由于现在测试和vlan1的ceph都变为了rack为故障域,并且线上还没有开启自动加入osd,所以需要手动的将新的bucket加入进去,命令如下:

ceph osd crush add-bucket $hostname host # 该命令是新增一个host级的bucket,名称是$hostname,一般以目标服务器的hostname作为名称
ceph osd crush add osd.* $weight host=$hostname # 该命令是将osd加入到host中去,如果已经自动创建了这一步不需要,$weight为硬盘容量转换为T的数值
ceph osd crush move $hostname rack=$rackname # 该命令是把整个host移动到对应的rack下面
### 如何在Proxmox虚拟环境中扩展Ceph存储容量 #### 方法一:添加新的OSD节点 为了提高Ceph集群的性能和可靠性,可以通过向现有集群中添加新OSD(Object Storage Device)节点来扩大存储容量。具体操作如下: 1. 准备一台或多台具有足够磁间的新服务器作为目标机器; 2. 安装必要的软件包,在每台新增加的目标主机上执行命令`apt-get install ceph-osd`[^4]; 3. 配置这些设备成为OSDs的一部分,编辑`/etc/ceph/ceph.conf`文件中的相应部分,并确保它们能够连接到现有的Monitor节点; 4. 使用`ceph-deploy osd create`命令完成最后设置。 ```bash sudo apt-get update && sudo apt-get install -y ceph-common ceph-osd sudo systemctl enable ceph.target sudo systemctl start ceph-osd@<osd_id> ``` #### 方法二:利用已有硬件资源扩充单个OSD 当不想额外购置更多物理机时,也可以考虑充分利用当前已部署好的计算节点上的未分配硬盘来进行扩容工作。只需按照下面流程即可实现这一目的: 1. 登录至想要添加更多磁间的那个成员服务器; 2. 执行`lsblk`查看有哪些可用分区尚未被加入任何卷组或逻辑卷内; 3. 对选定的目标驱动器初始化为一个新的OSD实例; ```bash sudo sgdisk -o /dev/sdb # 清除旧分区表并创建GPT结构 (假设sdb为闲磁) sudo parted /dev/sdb mklabel gpt sudo parted /dev/sdb mkpart primary 0% 100% sudo ceph-volume lvm create --data /dev/sdb1 ``` 以上两种方式均能有效提升整个系统的总储存能力,同时保持良好的稳定性和高效的数据访问速度。值得注意的是,在实际应用过程中应当依据具体的业务场景和个人偏好做出合理的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

米利都

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值