2.5. 使用 Ceph Orchestrator 管理 MDS 服务


作为存储管理员,您可以在后端中将 Ceph Orchestrator 与 Cephadm 搭配使用,以部署 MDS 服务。默认情况下,Ceph 文件系统(CephFS)仅使用了一个活跃的 MDS 守护进程。但是,具有许多客户端的系统得益于多个活跃的 MDS 守护进程。

本节涵盖了以下管理任务:

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 所有节点的根级别访问权限。
  • 主机添加到集群中。
  • 部署所有管理器、监控和 OSD 守护进程。

2.5.1. 使用命令行界面部署 MDS 服务

通过使用 Ceph 编排器,您可以使用命令行界面中的 placement 规格部署元数据服务器(MDS)服务。Ceph 文件系统(CephFS)需要一个或多个 MDS。

注意

确保至少有一个池,一个用于 Ceph 文件系统(CephFS)数据,另一个用于 CephFS 元数据。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 主机添加到集群中。
  • 部署所有管理器、监控和 OSD 守护进程。

流程

  1. 登录到 Cephadm shell:

    示例

    [root@host01 ~]# cephadm shell
    Copy to Clipboard

  2. 使用放置规格部署 MDS 守护进程有两种方法:

方法 1

  • 使用 ceph fs volume 来创建 MDS 守护进程。这将创建 CephFS 卷和与 CephFS 关联的池,也会在主机上启动 MDS 服务。

    语法

    ceph fs volume create FILESYSTEM_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2 HOST_NAME_3"
    Copy to Clipboard

    注意

    默认情况下,为此命令创建池。

    示例

    [ceph: root@host01 /]# ceph fs volume create test --placement="2 host01 host02"
    Copy to Clipboard

方法 2

  • 创建池 CephFS,然后使用放置规格部署 MDS 服务:

    1. 为 CephFS 创建池:

      语法

      ceph osd pool create DATA_POOL [PG_NUM]
      ceph osd pool create METADATA_POOL [PG_NUM]
      Copy to Clipboard

      示例

      [ceph: root@host01 /]# ceph osd pool create cephfs_data 64
      [ceph: root@host01 /]# ceph osd pool create cephfs_metadata 64
      Copy to Clipboard

      通常,元数据池可以从保守的 PG 数量开始,因为它的对象通常比数据池少得多。如果需要,可以增加 PG 数量。池大小范围从 64 个 PG 到 512 个 PG。数据池的大小与您文件系统中预期的文件的编号和大小成比例。

      重要

      对于元数据池,请考虑使用:

      • 更高的复制级别,因为对此池的任何数据丢失都可能会导致整个文件系统无法访问。
      • 延迟较低的存储(如 Solid-State Drive(SSD)磁盘),因为这会直接影响客户端上观察到的文件系统操作延迟。
    2. 为数据池和元数据池创建文件系统:

      语法

      ceph fs new FILESYSTEM_NAME METADATA_POOL DATA_POOL
      Copy to Clipboard

      示例

      [ceph: root@host01 /]# ceph fs new test cephfs_metadata cephfs_data
      Copy to Clipboard

    3. 使用 ceph orch apply 命令部署 MDS 服务:

      语法

      ceph orch apply mds FILESYSTEM_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2 HOST_NAME_3"
      Copy to Clipboard

      示例

      [ceph: root@host01 /]# ceph orch apply mds test --placement="2 host01 host02"
      Copy to Clipboard

验证

  • 列出服务:

    示例

    [ceph: root@host01 /]# ceph orch ls
    Copy to Clipboard

  • 检查 CephFS 状态:

    示例

    [ceph: root@host01 /]# ceph fs ls
    [ceph: root@host01 /]# ceph fs status
    Copy to Clipboard

  • 列出主机、守护进程和进程:

    语法

    ceph orch ps --daemon_type=DAEMON_NAME
    Copy to Clipboard

    示例

    [ceph: root@host01 /]# ceph orch ps --daemon_type=mds
    Copy to Clipboard

2.5.2. 使用服务规格部署 MDS 服务

通过使用 Ceph 编排器,您可以使用服务规格部署 MDS 服务。

注意

确保至少有两个池,一个用于 Ceph 文件系统(CephFS)数据,另一个用于 CephFS 元数据。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 主机添加到集群中。
  • 部署所有管理器、监控和 OSD 守护进程。

流程

  1. 创建 mds.yaml 文件:

    示例

    [root@host01 ~]# touch mds.yaml
    Copy to Clipboard

  2. 编辑 mds.yaml 文件,使其包含以下详情:

    语法

    service_type: mds
    service_id: FILESYSTEM_NAME
    placement:
      hosts:
      - HOST_NAME_1
      - HOST_NAME_2
      - HOST_NAME_3
    Copy to Clipboard

    示例

    service_type: mds
    service_id: fs_name
    placement:
      hosts:
      - host01
      - host02
    Copy to Clipboard

  3. 将 YAML 文件挂载到容器中的一个目录下:

    示例

    [root@host01 ~]# cephadm shell --mount mds.yaml:/var/lib/ceph/mds/mds.yaml
    Copy to Clipboard

  4. 进入该目录:

    示例

    [ceph: root@host01 /]# cd /var/lib/ceph/mds/
    Copy to Clipboard

  5. 登录到 Cephadm shell:

    示例

    [root@host01 ~]# cephadm shell
    Copy to Clipboard

  6. 进入以下目录:

    示例

    [ceph: root@host01 /]# cd /var/lib/ceph/mds/
    Copy to Clipboard

  7. 使用服务规格部署 MDS 服务:

    语法

    ceph orch apply -i FILE_NAME.yaml
    Copy to Clipboard

    示例

    [ceph: root@host01 mds]# ceph orch apply -i mds.yaml
    Copy to Clipboard

  8. 部署 MDS 服务后,创建 CephFS:

    语法

    ceph fs new CEPHFS_NAME METADATA_POOL DATA_POOL
    Copy to Clipboard

    示例

    [ceph: root@host01 /]# ceph fs new test metadata_pool data_pool
    Copy to Clipboard

验证

  • 列出服务:

    示例

    [ceph: root@host01 /]# ceph orch ls
    Copy to Clipboard

  • 列出主机、守护进程和进程:

    语法

    ceph orch ps --daemon_type=DAEMON_NAME
    Copy to Clipboard

    示例

    [ceph: root@host01 /]# ceph orch ps --daemon_type=mds
    Copy to Clipboard

2.5.3. 使用 Ceph Orchestrator 删除 MDS 服务

您可以使用 ceph orch rm 命令删除该服务。或者,您也可以删除文件系统和相关池。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 所有节点的根级别访问权限。
  • 主机添加到集群中。
  • 在主机上至少部署一个 MDS 守护进程。

流程

  • 可以通过两种方式从集群中移除 MDS 守护进程:

方法 1

  • 移除 CephFS 卷、关联的池和服务:

    1. 登录到 Cephadm shell:

      示例

      [root@host01 ~]# cephadm shell
      Copy to Clipboard

    2. 将配置参数 mon_allow_pool_delete 设置为 true

      示例

      [ceph: root@host01 /]# ceph config set mon mon_allow_pool_delete true
      Copy to Clipboard

    3. 删除文件系统:

      语法

      ceph fs volume rm FILESYSTEM_NAME --yes-i-really-mean-it
      Copy to Clipboard

      示例

      [ceph: root@host01 /]# ceph fs volume rm cephfs-new --yes-i-really-mean-it
      Copy to Clipboard

      此命令将删除文件系统、其数据和元数据池。它还会尝试使用启用了 ceph-mgr Orchestrator 模块来删除 MDS。

方法 2

  • 使用 ceph orch rm 命令从整个集群中删除 MDS 服务:

    1. 列出服务:

      示例

      [ceph: root@host01 /]# ceph orch ls
      Copy to Clipboard

    2. 删除服务

      语法

      ceph orch rm SERVICE_NAME
      Copy to Clipboard

      示例

      [ceph: root@host01 /]# ceph orch rm mds.test
      Copy to Clipboard

验证

  • 列出主机、守护进程和进程:

    语法

    ceph orch ps
    Copy to Clipboard

    示例

    [ceph: root@host01 /]# ceph orch ps
    Copy to Clipboard

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat