単一のプライマリ DRBD を備えた HA NFS

単一のプライマリ DRBD を備えた HA NFS

2 台のサーバーを介した高可用性 NFS の基本的なプロセスは何ですか? 2 台のサーバー間でフローティング IP をフェイルオーバーするためにハートビートを使用しているとします。次に、その IP に基づいて NFS 共有をマウントするサードパーティ サーバーがあります。これは、ファイルを操作し、フェイルオーバーが発生した場合に NFS がアクティブなままになり、NFS と IP が他のサーバーに切り替えられるため、一時的に使用できなくなるという考え方です。

しかし、ワークフローについて疑問があります。現時点では、手動フェイルオーバーでは、ノード 1 を drbd プライマリとして設定し、drbd をフローティング IP で nfs エクスポートとしてマウントできます。その後、フェイルオーバーする場合は、drbd ドライブをアンマウントし、サーバーをセカンダリに設定してから、ノード 2 をプライマリに設定し、drbd nfs をマウントすると、ノード 2 に新しい IP が表示されます。

これは正しい考えでしょうか? nfs/drbd マウントを正常にアンマウントしようとすると、nfs がまだアクセスしているため (つまり、サードパーティのサーバーが共有にアクセスしている場合)、失敗する可能性があります。

手動フェイルオーバーと同様のプロセスを実行し、すぐにフェイルオーバーする方法はありますか?

答え1

あなたのアプローチに従うと、フェイルオーバーを実行するときに nfs サービスを停止することを念頭に置く必要があるため、手順は次のようになります。

  1. ノード2のNFSサービスを停止する
  2. アンマウントNFSドライブノード2上
  3. サービスIPアドレスをノード2からノード1へ移動します。
  4. マウントNFSドライブノード1上
  5. ノード1でNFSサービスを開始する

他にも選択肢はあります。例えば、クラスタファイルシステム(RedHatのGFS)、このようにしてマウントすることができますNFSドライブ両方のサーバーで。障害が発生した場合にノードからノードへ移動するか、アクティブ/アクティブになるように何らかの方法でバランスをとるかは、あなた次第です。

関連情報