3.4. 使用命令行界面删除 Ceph OSD


从存储集群中移除 OSD 涉及更新 cluster map、移除其身份验证密钥、从 OSD map 中删除 OSD,并从 ceph.conf 文件中删除 OSD。如果节点有多个驱动器,您可能需要重复这个过程为每个驱动器删除 OSD。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 有足够的 OSD,以便存储集群没有处于 接近满 比率。
  • 具有对 OSD 节点的 root 访问权限。

步骤

  1. 禁用并停止 OSD 服务:

    Syntax

    systemctl disable ceph-osd@$DEVICE_NAME
    systemctl stop ceph-osd@$DEVICE_NAME

    示例

    [root@osd ~]# systemctl disable ceph-osd@sdb
    [root@osd ~]# systemctl stop ceph-osd@sdb

    OSD 停止后,它 将被关闭

  2. 从存储集群中移除 OSD:

    Syntax

    ceph osd out $DEVICE_NAME

    示例

    [root@osd ~]# ceph osd out sdb

    重要

    OSD 超时后,Ceph 将开始重新平衡数据并将其复制到存储集群中的其他 OSD 中。红帽建议在继续下一步前等待存储集群变为 active+clean。要观察数据迁移,请运行以下命令:

    [root@monitor ~]# ceph -w
  3. 从 CRUSH map 移除 OSD,使其不再接收数据。

    Syntax

    ceph osd crush remove $OSD_NAME

    示例

    [root@osd ~]# ceph osd crush remove osd.4

    注意

    您还可以解译 CRUSH map,从设备列表中删除 OSD,将设备作为主机存储桶中的项目删除,或者移除主机存储桶。如果它位于 CRUSH map 中,并且计划移除主机,然后重新编译 map 并设置它。详情请参阅 存储策略指南

  4. 删除 OSD 身份验证密钥:

    Syntax

    ceph auth del osd.$DEVICE_NAME

    示例

    [root@osd ~]# ceph auth del osd.sdb

  5. 删除 OSD:

    Syntax

    ceph osd rm $DEVICE_NAME

    示例

    [root@osd ~]# ceph osd rm sdb

  6. 编辑存储集群的配置文件,默认为 /etc/ceph.conf,如果存在,请删除 OSD 条目:

    示例

    [osd.4]
    host = $HOST_NAME

  7. 如果手动添加 OSD,则移除对 /etc/fstab 文件中的 OSD 的引用。
  8. 将更新后的配置文件复制到存储集群中所有其他节点的 /etc/ceph/ 目录中。

    Syntax

    scp /etc/ceph/$CLUSTER_NAME.conf $USER_NAME@$HOST_NAME:/etc/ceph/

    示例

    [root@osd ~]# scp /etc/ceph/ceph.conf root@node4:/etc/ceph/

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.