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 守护进程。
流程
登录到 Cephadm shell:
示例
[root@host01 ~]# cephadm shell- 使用放置规格部署 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"注意默认情况下,为此命令创建池。
示例
[ceph: root@host01 /]# ceph fs volume create test --placement="2 host01 host02"
方法 2
创建池 CephFS,然后使用放置规格部署 MDS 服务:
为 CephFS 创建池:
语法
ceph osd pool create DATA_POOL [PG_NUM] ceph osd pool create METADATA_POOL [PG_NUM]示例
[ceph: root@host01 /]# ceph osd pool create cephfs_data 64 [ceph: root@host01 /]# ceph osd pool create cephfs_metadata 64通常,元数据池可以从保守的 PG 数量开始,因为它的对象通常比数据池少得多。如果需要,可以增加 PG 数量。池大小范围从 64 个 PG 到 512 个 PG。数据池的大小与您文件系统中预期的文件的编号和大小成比例。
重要对于元数据池,请考虑使用:
- 更高的复制级别,因为对此池的任何数据丢失都可能会导致整个文件系统无法访问。
- 延迟较低的存储(如 Solid-State Drive(SSD)磁盘),因为这会直接影响客户端上观察到的文件系统操作延迟。
为数据池和元数据池创建文件系统:
语法
ceph fs new FILESYSTEM_NAME METADATA_POOL DATA_POOL示例
[ceph: root@host01 /]# ceph fs new test cephfs_metadata cephfs_data使用
ceph orch apply命令部署 MDS 服务:语法
ceph orch apply mds FILESYSTEM_NAME --placement="NUMBER_OF_DAEMONS HOST_NAME_1 HOST_NAME_2 HOST_NAME_3"示例
[ceph: root@host01 /]# ceph orch apply mds test --placement="2 host01 host02"
验证
列出服务:
示例
[ceph: root@host01 /]# ceph orch ls检查 CephFS 状态:
示例
[ceph: root@host01 /]# ceph fs ls [ceph: root@host01 /]# ceph fs status列出主机、守护进程和进程:
语法
ceph orch ps --daemon_type=DAEMON_NAME示例
[ceph: root@host01 /]# ceph orch ps --daemon_type=mds
2.5.2. 使用服务规格部署 MDS 服务 复制链接链接已复制到粘贴板!
通过使用 Ceph 编排器,您可以使用服务规格部署 MDS 服务。
确保至少有两个池,一个用于 Ceph 文件系统(CephFS)数据,另一个用于 CephFS 元数据。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 主机添加到集群中。
- 部署所有管理器、监控和 OSD 守护进程。
流程
创建
mds.yaml文件:示例
[root@host01 ~]# touch mds.yaml编辑
mds.yaml文件,使其包含以下详情:语法
service_type: mds service_id: FILESYSTEM_NAME placement: hosts: - HOST_NAME_1 - HOST_NAME_2 - HOST_NAME_3示例
service_type: mds service_id: fs_name placement: hosts: - host01 - host02将 YAML 文件挂载到容器中的一个目录下:
示例
[root@host01 ~]# cephadm shell --mount mds.yaml:/var/lib/ceph/mds/mds.yaml进入该目录:
示例
[ceph: root@host01 /]# cd /var/lib/ceph/mds/登录到 Cephadm shell:
示例
[root@host01 ~]# cephadm shell进入以下目录:
示例
[ceph: root@host01 /]# cd /var/lib/ceph/mds/使用服务规格部署 MDS 服务:
语法
ceph orch apply -i FILE_NAME.yaml示例
[ceph: root@host01 mds]# ceph orch apply -i mds.yaml部署 MDS 服务后,创建 CephFS:
语法
ceph fs new CEPHFS_NAME METADATA_POOL DATA_POOL示例
[ceph: root@host01 /]# ceph fs new test metadata_pool data_pool
验证
列出服务:
示例
[ceph: root@host01 /]# ceph orch ls列出主机、守护进程和进程:
语法
ceph orch ps --daemon_type=DAEMON_NAME示例
[ceph: root@host01 /]# ceph orch ps --daemon_type=mds
2.5.3. 使用 Ceph Orchestrator 删除 MDS 服务 复制链接链接已复制到粘贴板!
您可以使用 ceph orch rm 命令删除该服务。或者,您也可以删除文件系统和相关池。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 所有节点的根级别访问权限。
- 主机添加到集群中。
- 在主机上至少部署一个 MDS 守护进程。
流程
- 可以通过两种方式从集群中移除 MDS 守护进程:
方法 1
移除 CephFS 卷、关联的池和服务:
登录到 Cephadm shell:
示例
[root@host01 ~]# cephadm shell将配置参数
mon_allow_pool_delete设置为true:示例
[ceph: root@host01 /]# ceph config set mon mon_allow_pool_delete true删除文件系统:
语法
ceph fs volume rm FILESYSTEM_NAME --yes-i-really-mean-it示例
[ceph: root@host01 /]# ceph fs volume rm cephfs-new --yes-i-really-mean-it此命令将删除文件系统、其数据和元数据池。它还会尝试使用启用了
ceph-mgrOrchestrator 模块来删除 MDS。
方法 2
使用
ceph orch rm命令从整个集群中删除 MDS 服务:列出服务:
示例
[ceph: root@host01 /]# ceph orch ls删除服务
语法
ceph orch rm SERVICE_NAME示例
[ceph: root@host01 /]# ceph orch rm mds.test
验证
列出主机、守护进程和进程:
语法
ceph orch ps示例
[ceph: root@host01 /]# ceph orch ps