1.3.2.2. NFS バックエンドに CephFS を使用した Shared File System サービスの耐障害性
OpenStack director が Ceph サービスデーモンを起動すると、これらのデーモンは自己の高可用性 (HA) 状態を管理し、一般的に、これらのデーモン用に複数のインスタンスが実行されます。これとは対照的に、本リリースでは、ファイル共有を提供することのできる NFS-Ganesha 用インスタンスは、常に 1 つだけです。
NFS バックエンドに CephFS を使用したファイル共有では、データパスに単一障害点が生じるのを避けるために、NFS-Ganesha はアクティブ-パッシブ設定 (Pacemaker-Corosync クラスターが管理) の OpenStack コントローラーノード上で実行されます。NFS-Ganesha は、複数のコントローラーノードに渡って仮想サービス IP アドレスを持つ仮想サービスとして機能します。
コントローラーに障害が発生した (あるいは、特定のコントローラーノード上のサービスに障害が発生し、そのノードで復帰できない) 場合には、Pacemaker-Corosync が同じ仮想 IP を使用して新たな NFS-Ganesha インスタンスを別のコントローラー上で起動します。既存クライアントのマウントはファイル共有のエクスポート場所の仮想 IP を使用するので、これらのマウントは維持されます。
デフォルトの NFS マウントオプション設定および NFS 4.1 以降を使用している場合には、障害発生後に TCP 接続がリセットされ、クライアントが再接続されます。フェイルオーバー中は I/O 操作が一時的に応答しなくなりますが、機能は失われません。アプリケーション I/O も応答しなくなりますが、フェイルオーバーが完了すると処理が再開されます。
最大 90 秒の猶予期間 (クライアントがロックを再要求するのをサーバーが待機する期間) が経過するまで、新規接続や新たなロック状態などは拒否されます。NFS-Ganesha はクライアントの一覧を維持し、すべてのクライアントがロックを再要求したことを確認すると、これより早く猶予期間を終了する場合があります。
猶予期間のデフォルト値は 90 秒です。この値は、NFSv4 Grace_Period 設定オプションにより変更することが可能です。