7.4. 使用 CephFS-NFS 容错的共享文件系统服务
当 Red Hat OpenStack Platform (RHOSP) director 启动 Red Hat Ceph Storage 服务守护进程时,它们管理自己的高可用性(HA)状态,通常有多个运行这些守护进程的实例。相反,在这个发行版本中,一个 NFS-Ganesha 实例一次只能提供文件共享。
为了避免 CephFS-NFS 共享的数据路径中出现单点故障,NFS-Ganesha 在由 Pacemaker-Corosync 集群管理的主动 - 被动配置中的 RHOSP Controller 节点上运行。NFS-Ganesha 使用虚拟服务 IP 地址来跨 Controller 节点充当虚拟服务。
如果一个 Controller 节点失败或者特定 Controller 节点上的服务失败,且无法在那个节点上恢复,Pacemaker-Corosync 会使用同一虚拟 IP 地址在不同的 Controller 节点上启动新的 NFS-Ganesha 实例。保留现有客户端挂载,因为它们使用虚拟 IP 地址进行共享导出位置。
失败后,使用默认 NFS mount-option 设置和 NFS 4.1 或更高版本,并重置 TCP 连接和客户端重新连接。I/O 操作在故障切换过程中临时停止响应,但它们不会失败。应用程序 I/O 也停止响应,但在故障转移完成后恢复。
新连接、新锁定状态等,直到服务器在达到 90 秒的宽限期后才会被拒绝,直到服务器等待客户端回收其锁定。如果所有客户端都回收其锁定,NFS-Ganesha 保留了客户端列表并提前退出宽限期。