11.6. 为 HA 升级独立 CephFS/NFS 集群
作为存储管理员,您可以通过在现有 NFS 服务上部署 ingress
服务,将独立存储集群升级到一个高可用性(HA)集群。
先决条件
- 运行一个带有现有 NFS 服务的 Red Hat Ceph Storage 集群。
- 主机添加到集群中。
- 部署所有管理器、监控和 OSD 守护进程。
- 确保启用了 NFS 模块。
流程
登录到 Cephadm shell:
示例
[root@host01 ~]# cephadm shell
列出现有的 NFS 集群:
示例
[ceph: root@host01 /]# ceph nfs cluster ls mynfs
注意如果在一个节点上创建了独立 NFS 集群,您需要将它增加到两个或更多用于 HA 的节点。要增加 NFS 服务,请编辑
nfs.yaml
文件并增加具有相同端口号的放置。为 NFS 服务分配的主机数量必须大于您要部署的活跃 NFS 服务器数量,由
placement: count
参数指定。语法
service_type: nfs service_id: SERVICE_ID placement: hosts: - HOST_NAME_1 - HOST_NAME_2 count: COUNT spec: port: PORT_NUMBER
示例
service_type: nfs service_id: mynfs placement: hosts: - host02 - host03 count: 1 spec: port: 12345
在这个示例中,现有 NFS 服务在端口
12345
中运行,另一个节点会添加到具有相同端口的 NFS 集群中。应用
nfs.yaml
服务规格更改以升级到两个节点 NFS 服务:示例
[ceph: root@host01 ceph]# ceph orch apply -i nfs.yaml
使用现有 NFS 集群 ID 编辑
ingress.yaml
规格文件:语法
service_type: SERVICE_TYPE service_id: SERVICE_ID placement: count: PLACEMENT spec: backend_service: SERVICE_ID_BACKEND 1 frontend_port: FRONTEND_PORT monitor_port: MONITOR_PORT 2 virtual_ip: VIRTUAL_IP_WITH_CIDR
示例
service_type: ingress service_id: nfs.mynfs placement: count: 2 spec: backend_service: nfs.mynfs frontend_port: 2049 monitor_port: 9000 virtual_ip: 10.10.128.75/22
部署入口服务:
示例
[ceph: root@host01 /]# ceph orch apply -i ingress.yaml
注意部署 NFS 守护进程和入口服务是异步的,命令可能会在服务完全启动前返回。
检查 ingress 服务是否已成功启动:
语法
ceph orch ls --service_name=ingress.nfs.CLUSTER_ID
示例
[ceph: root@host01 /]# ceph orch ls --service_name=ingress.nfs.mynfs NAME PORTS RUNNING REFRESHED AGE PLACEMENT ingress.nfs.mynfs 10.10.128.75:2049,9000 4/4 4m ago 22m count:2
验证
查看单个 NFS 守护进程的 IP 端点、IP 地址,以及
入口
服务的虚拟 IP:语法
ceph nfs cluster info CLUSTER_ID
示例
[ceph: root@host01 /]# ceph nfs cluster info mynfs { "mynfs": { "virtual_ip": "10.10.128.75", "backend": [ { "hostname": "host02", "ip": "10.10.128.69", "port": 12049 }, { "hostname": "host03", "ip": "10.10.128.70", "port": 12049 } ], "port": 2049, "monitor_port": 9049 } }
列出主机和进程:
示例
[ceph: root@host01 /]# ceph orch ps | grep nfs haproxy.nfs.mynfs.host01.ruyyhq host01 *:2049,9000 running (27m) 6m ago 34m 9.85M - 2.2.19-7ea3822 5e6a41d77b38 328d27b3f706 haproxy.nfs.mynfs.host02.ctrhha host02 *:2049,9000 running (34m) 6m ago 34m 4944k - 2.2.19-7ea3822 5e6a41d77b38 4f4440dbfde9 keepalived.nfs.mynfs.host01.fqgjxd host01 running (27m) 6m ago 34m 31.2M - 2.1.5 18fa163ab18f 0e22b2b101df keepalived.nfs.mynfs.host02.fqzkxb host02 running (34m) 6m ago 34m 17.5M - 2.1.5 18fa163ab18f c1e3cc074cf8 nfs.mynfs.0.0.host02.emoaut host02 *:12345 running (37m) 6m ago 37m 82.7M - 3.5 91322de4f795 2d00faaa2ae5 nfs.mynfs.1.0.host03.nsxcfd host03 *:12345 running (37m) 6m ago 37m 81.1M - 3.5 91322de4f795 d4bda4074f17
其他资源
- 有关在客户端主机上挂载 NFS 导出的详情,请参阅 Red Hat Ceph Storage 文件系统指南中的通过 NFS 协议导出 Ceph 文件系统命名空间部分。