7.3. 通过 NFS 容错使用 CephFS 的共享文件系统服务
当 Red Hat OpenStack Platform(RHOSP)director 启动 Ceph 服务守护进程时,它们管理自己的高可用性(HA)状态。通常情况下,这些守护进程会有多个实例在运行。相反,在这个发行版本中,一个 NFS-Ganesha 实例一次只能提供文件共享。
为避免通过 NFS 共享进行 CephFS 数据路径中的单点故障,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 保留了客户端列表并提前退出宽限期。
宽限期的默认值为 90 秒。要更改这个值,请编辑 NFSv4 Grace_Period
配置选项。