11.6. 使用规格文件为 CephFS/NFS 部署 HA
您可以首先部署 NFS 服务,然后部署到相同 NFS 服务的 ingress
来使用规格文件部署 HA。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 主机添加到集群中。
- 部署所有管理器、监控和 OSD 守护进程。
- 确保启用了 NFS 模块。
流程
登录到 Cephadm shell:
示例
cephadm shell
[root@host01 ~]# cephadm shell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确定启用了 NFS 模块:
示例
[ceph: root@host01 /]# ceph mgr module ls | more
[ceph: root@host01 /]# ceph mgr module ls | more
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 退出 Cephadm shell 并创建
nfs.yaml
文件:示例
touch nfs.yaml
[root@host01 ~]# touch nfs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
nfs.yaml
文件,使其包含以下详情:语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意为 NFS 服务分配的主机数量必须大于您请求要部署的活跃 NFS 服务器数量,由
placement: count
参数指定。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,服务器在非默认端口
12345
上运行,而不是在 host02 和 host03 的默认端口2049
上运行。将 YAML 文件挂载到容器中的一个目录下:
示例
cephadm shell --mount nfs.yaml:/var/lib/ceph/nfs.yaml
[root@host01 ~]# cephadm shell --mount nfs.yaml:/var/lib/ceph/nfs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到 Cephadm shell 并导航到目录:
示例
[ceph: root@host01 /]# cd /var/lib/ceph/
[ceph: root@host01 /]# cd /var/lib/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用服务规格部署 NFS 服务:
语法
ceph orch apply -i FILE_NAME.yaml
ceph orch apply -i FILE_NAME.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 ceph]# ceph orch apply -i nfs.yaml
[ceph: root@host01 ceph]# ceph orch apply -i nfs.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意NFS 服务的部署是异步的,命令可能会在服务完全启动前返回。
检查 NFS 服务是否已成功启动:
语法
ceph orch ls --service_name=nfs.CLUSTER_ID
ceph orch ls --service_name=nfs.CLUSTER_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch ls --service_name=nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT nfs.cephfsnfs ?:12345 2/2 3m ago 13m host02;host03
[ceph: root@host01 /]# ceph orch ls --service_name=nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT nfs.cephfsnfs ?:12345 2/2 3m ago 13m host02;host03
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 退出 Cephadm shell 并创建
ingress.yaml
文件:示例
touch ingress.yaml
[root@host01 ~]# touch ingress.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
ingress.yaml
文件,使其包含以下详情:语法
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在本例中,
placement: count: 2
在随机节点上部署keepalived
和haproxy
服务。要指定要在其上部署keepalived
和haproxy
的节点,请使用placement: hosts
选项:示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 YAML 文件挂载到容器中的一个目录下:
示例
cephadm shell --mount ingress.yaml:/var/lib/ceph/ingress.yaml
[root@host01 ~]# cephadm shell --mount ingress.yaml:/var/lib/ceph/ingress.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到 Cephadm shell 并导航到目录:
示例
[ceph: root@host01 /]# cd /var/lib/ceph/
[ceph: root@host01 /]# cd /var/lib/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用服务规格部署
ingress
服务:语法
ceph orch apply -i FILE_NAME.yaml
ceph orch apply -i FILE_NAME.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 ceph]# ceph orch apply -i ingress.yaml
[ceph: root@host01 ceph]# ceph orch apply -i ingress.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查入口服务是否已成功启动:
语法
ceph orch ls --service_name=ingress.nfs.CLUSTER_ID
ceph orch ls --service_name=ingress.nfs.CLUSTER_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph orch ls --service_name=ingress.nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT ingress.nfs.cephfsnfs 10.10.128.75:2049,9000 4/4 4m ago 22m count:2
[ceph: root@host01 /]# ceph orch ls --service_name=ingress.nfs.cephfsnfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT ingress.nfs.cephfsnfs 10.10.128.75:2049,9000 4/4 4m ago 22m count:2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
查看 IP 端点、各个 NFS 守护进程的 IP 和
入口
服务的虚拟 IP:语法
ceph nfs cluster info CLUSTER_NAME
ceph nfs cluster info CLUSTER_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出主机和进程:
示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow