3.6. 删除 Ceph OSD 节点


要减少存储集群的容量,可移除 OSD 节点。

警告

在移除 Ceph OSD 节点之前,请确保存储集群能够通过OUT 回填所有 OSD 的内容,达到满比率。达到全满比率将导致集群拒绝写操作。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。

步骤

  1. 检查存储集群的容量:

    [root@monitor ~]# ceph df
    [root@monitor ~]# rados df
    [root@monitor ~]# ceph osd df
  2. 临时禁用清理:

    [root@monitor ~]# ceph osd set noscrub
    [root@monitor ~]# ceph osd set nodeep-scrub
  3. 限制回填和恢复功能:

    Syntax

    ceph tell $DAEMON_TYPE.* injectargs --$OPTION_NAME $VALUE [--$OPTION_NAME $VALUE]

    示例

    [root@monitor ~]# ceph tell osd.* injectargs --osd-max-backfills 1 --osd-recovery-max-active 1 --osd-recovery-op-priority 1

  4. 从存储集群中移除节点上的每个 OSD:

    • 使用 Ansible.
    • 使用命令行界面

      重要

      从存储集群中移除 OSD 节点时,红帽建议在节点内部删除一个 OSD,并允许集群恢复 active+clean 状态,然后再继续执行下一个 OSD。

      1. 删除 OSD 检查后,验证存储集群是否没有达到将满比率:

        [root@monitor ~]# ceph -s
        [root@monitor ~]# ceph df
      2. 重复此步骤,直到节点上的所有 OSD 都从存储集群中移除。
  5. 当所有 OSD 被删除后,从 CRUSH map 中删除主机存储桶:

    Syntax

    ceph osd crush rm $BUCKET_NAME

    示例

    [root@monitor ~]# ceph osd crush rm node2

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.