ceph L版本小版本升级 [备忘]

本文档记录了从Ceph L版本到N版本的安全升级过程,包括删除旧MON、添加新MON、升级MON RPM、重启Mgr和OSD等步骤,以及在升级过程中可能遇到的问题及解决方案,旨在确保CEPH集群的安全和稳定。
摘要由CSDN通过智能技术生成

背景

希望升级至 ceph-14 版本(N)
ceph 要从 L 版升级到 N 版必须带标签 purged_snapdirs

# ceph osd dump | grep ^flag
flags sortbitwise,recovery_deletes,purged_snapdirs

ceph-12.2.0-0.el7.x86_64 无法增加 purged_snapdirs 标签,无法升级至 14 版

参考官方文档 ceph update 方法

目的

需要把 ceph-12.2.0-0.el7.x86_64 先升级至 ceph-12.2.13-0.el7.x86_64

安全升级方案

原 ceph conf 配置

[global]
fsid = e9a58cad-c7b4-4d42-bdef-cc0311ed83f0
mon initial members = ns-ceph-208183,ns-ceph-208187,ns-ceph-208192
mon host = 10.189.208.183,10.189.208.197,10.189.208.192
public network = 10.189.208.0/22
cluster network =  240.30.128.0/21
auth cluster required = cephx
auth service required = cephx
auth client required = cephx
osd journal size = 2048
filestore xattr use omap = true
osd pool default size = 3
osd pool default min size = 1
osd pool default pg num = 1024
osd pool default pgp num = 1024
osd crush chooseleaf type = 1

[mon]
mon osd full ratio           = .95
mon osd nearfull ratio       = .85
mon clock drift allowed      = 10
mon clock drift warn backoff = 30


[mds.ns-ceph-208183]
host = ns-ceph-208183

[mds.ns-ceph-208192]
host = ns-ceph-208192

[mds.ns-ceph-208187]
host = ns-ceph-208187

ceph 状态

# ceph -s
  cluster:
    id:     e9a58cad-c7b4-4d42-bdef-cc0311ed83f0
    health: HEALTH_OK

  services:
    mon: 5 daemons, quorum ns-ceph-208183,ns-ceph-208184,ns-ceph-208187,ns-ceph-208188,ns-ceph-208192
    mgr: ns-ceph-208183(active), standbys: ns-ceph-208187, ns-ceph-208192
    mds: noah_fs-1/1/1 up  {0=ns-ceph-208187=up:active}, 2 up:standby
    osd: 50 osds: 50 up, 50 in

  data:
    pools:   4 pools, 3840 pgs
    objects: 37590k objects, 53546 GB
    usage:   157 TB used, 102150 GB / 257 TB avail
    pgs:     3837 active+clean
             2    active+clean+scrubbing+deep
             1    active+clean+scrubbing

  io:
    client:   807 kB/s rd, 6535 kB/s wr, 810 op/s rd, 580 op/s wr

安全升级思路

1 删除 ceph mon 从 5 个变成 3 个
2 找两个新的电脑 A, B, 独立安装 ceph-12.2.0-0.el7.x86_64 版本
3 把 A, B 服务器加入到原集群,并创建为 mon 服务
4 验证当前有 5 个 MON
5 直接对 A, B 执行 ceph rpm 升级到 ceph-12.2.13 版本
6 升级成功即可以对原集群中剩余的 3 个 MON 执行升级(正常可安全无损升级,客户端无感知)
7 升级失败,回滚(剔除 AB MON 即可)
8 上述方案保证了原 ceph 安全健壮性不会一次过破坏 CEPH 集群
9 cephfs 升级重启需断开所有 client

执行过程

删除旧 mon 5 -> 3

# ceph mon remove ns-ceph-208184
removing mon.ns-ceph-208184 at 10.189.208.184:6789/0, there will be 4 monitors
# ceph mon remove ns-ceph-208188
removing mon.ns-ceph-208188 at 10.189.208.188:6789/0, there will be 3 monitors

同步 monmap

# monmaptool /etc/ceph/monmap --rm ns-ceph-208184
monmaptool: monmap file /etc/ceph/monmap
monmaptool: removing ns-ceph-208184
monmaptool: writing epoch 5 to /etc/ceph/monmap (4 monitors)
# monmaptool /etc/ceph/monmap --rm ns-ceph-208188
monmaptool: monmap file /etc/ceph/monmap
monmaptool: removing ns-ceph-208188
monmaptool: writing epoch 5 to /etc/ceph/monmap (3 monitors)

添加新 mon A, B

添加 ceph-mon, ceph-mgr
IP : 10.189.208.205 10.189.208.214
当前 ceph 版本, 与 10.189.208.183 一致, 先加入集群从 ceph mon 3 添加至 ceph mon 5 个

</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
1. 确认环境 在开始部署之前,请确保您已经完成了以下操作: - 确认您的服务器已经安装了 CentOS 7.x 或者 CentOS 8.x 操作系统。 - 确认您的服务器已经安装了 Docker 和 Python3。 - 确认您的服务器已经安装了 Ceph 17.2.5 的二进制文件。 2. 创建 cephadm 配置文件 在开始部署之前,您需要创建一个 cephadm 配置文件。您可以参考以下示例: ``` [global] mon_host = 192.168.1.100,192.168.1.101,192.168.1.102 mgr_host = 192.168.1.100,192.168.1.101,192.168.1.102 osd_host = 192.168.1.103,192.168.1.104,192.168.1.105 public_network = 192.168.1.0/24 cluster_network = 192.168.2.0/24 fsid = bbd30c27-7a89-4a96-8b7d-6bda1c7d77e9 auth_cluster_required = cephx auth_service_required = cephx auth_client_required = cephx osd_pool_default_size = 2 osd_pool_default_min_size = 1 osd_pool_default_pg_num = 64 osd_pool_default_pgp_num = 64 osd_crush_chooseleaf_type = 1 [mon] mon_initial_members = ceph-mon-1,ceph-mon-2,ceph-mon-3 mon_allow_pool_delete = true [osd] osd_journal_size = 100 osd_objectstore = bluestore osd_mkfs_type = xfs osd_mkfs_options_xfs = -f ``` 在上述配置文件中,您需要修改以下参数: - mon_host:指定 Mon 节点的 IP 地址。 - mgr_host:指定 Mgr 节点的 IP 地址。 - osd_host:指定 OSD 节点的 IP 地址。 - public_network:指定公网 IP 地址段。 - cluster_network:指定集群 IP 地址段。 - fsid:指定集群的 UUID。 - mon_initial_members:指定初始的 Mon 节点名称。 3. 部署 Ceph 在创建好 cephadm 配置文件之后,您可以使用以下命令部署 Ceph: ``` cephadm bootstrap --mon-ip 192.168.1.100 --config-file /path/to/ceph.conf ``` 在上述命令中,您需要修改以下参数: - --mon-ip:指定 Mon 节点的 IP 地址。 - --config-file:指定 cephadm 配置文件的路径。 在执行以上命令后,Ceph 将会在您的服务器上自动部署。 4. 部署 OSD 在部署好 Ceph 后,您可以使用以下命令部署 OSD: ``` ceph orch apply osd --all-available-devices ``` 在上述命令中,--all-available-devices 参数表示使用所有可用的硬盘作为 OSD。 5. 部署 RGW 如果您需要部署 RGW,您可以使用以下命令: ``` ceph orch apply rgw --all-available-devices ``` 在上述命令中,--all-available-devices 参数表示使用所有可用的硬盘作为 RGW。 6. 部署 NFS 如果您需要部署 NFS,您可以使用以下命令: ``` ceph orch apply nfs ``` 在执行以上命令后,您可以使用 mount 命令将 NFS 挂载到客户端。 7. 部署 iSCSI 如果您需要部署 iSCSI,您可以使用以下命令: ``` ceph orch apply iscsi ``` 在执行以上命令后,您可以使用 iSCSI 客户端连接到 iSCSI 服务。 8. 部署 CephFS 如果您需要部署 CephFS,您可以使用以下命令: ``` ceph orch apply mds ``` 在执行以上命令后,您可以使用 mount 命令将 CephFS 挂载到客户端。 9. 总结 通过以上步骤,您已经成功部署了 Ceph 17.2.5 版本。您可以根据需要部署 RGW、NFS、iSCSI 和 CephFS 等服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Terry_Tsang

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

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

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

打赏作者

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

抵扣说明:

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

余额充值