2つのDRBDプライマリノードを備えたiSCSI 2つのパスが同時に書き込み要求を受け取る場合は、使用することをお勧めしません。しかし、私はこのアイデアをESXi5.5U2ホストのバックエンドストレージとして使用することを考えています。
私はすでにこれをプライマリ/セカンダリ構成と従来のフェールオーバークラスターでテストしました。
この時点でESXiが行うことは、マルチパスを検出し、アクティブに1つのパスのみを使用することです。したがって、このコンステレーションでは、同時書き込みio問題は発生しないようです。
両方の場合(プライマリ/セカンダリまたはプライマリ/プライマリ)の問題は次のとおりです。iSCSIクライアント(iSCSI用語ではiSCSIイニシエータ)へのアクティブなオープン接続があるiSCSIサーバー(iSCSI用語ではiSCSIターゲットプロバイダー)をシャットダウンするにはどうすればよいですか?
現在、ターゲットサーバーでCentOS5を使用しています。
CO5はtgtdを使用してターゲットを提供します。驚いたことに、接続されたクライアントがある場合、通常の停止方法は失敗します。代わりに、この場合、強制停止が必要なようです。
一方のサーバーをクリーンにシャットダウンしたいので(ターゲットへのアクセスを停止する必要があるため、drbdをセカンダリに切り替えることができます)、もう一方のサーバーは自動的にアクティブになります(このコンステレーションIMHOでは何もしません)。
その文脈での質問:次は大丈夫ですか、それとも何かが足りませんか?
はい、私は何かを逃しました。問題は、基礎となるプロトコル(SCSI)がステートフルプロトコルであるということです。そのため、ターゲットをシャットダウンできたとしても(たとえば、強制停止で)、アクティビティイニシエーターは「ハング」状態のままになります。
しかし:私のユースケースでは、問題の解決策があります。
したがって、私の質問に対する適切な答えは次のように思われます。
短い:適切な方法はありません。クライアントがハングします。
Long:状況によります。最初にiSCSIトラフィックを適切にサイレンシング/終了できるレイヤーが間にある場合は、後でターゲットを終了できます(ターゲットサーバーがまだ接続されたイニシエータークライアントがあると見なしている場合でも)。