11.5. 为 HA 升级独立 CephFS/NFS 集群
作为存储管理员,您可以通过在现有 NFS 服务上部署 ingress
服务,将独立存储集群升级到高可用性(HA)集群。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群,带有现有 NFS 服务。
- 主机添加到集群中。
- 部署所有管理器、监控和 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
部署 ingress 服务:
示例
[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
验证
查看 IP 端点、单个 NFS 守护进程的 IP 和
入口
服务的虚拟 IP:语法
ceph nfs cluster info CLUSTER_NAME
示例
[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 文件系统命名空间部分。