targetcli を使用して複数のイニシエーター接続を無効にする

targetcli を使用して複数のイニシエーター接続を無効にする

私は、いくつかのハード ドライブ (ブロック デバイス) と「TPG 認証」(すべてのイニシエーターの一意の useid と passwd) を持つために targetcli を使用して iscsi ターゲットをセットアップしました。

1 つのイニシエーターが検出とログインを行うと、すべてのデバイス (sda、sdb、sdc) にアクセスし、フォーマットしてマウントすることができます。ただし、2 番目のイニシエーターが検出とログインを行うと、すべてのデバイスを使用 (フォーマットしてマウント) することもできます。

問題: ドライブ (例: sda) が複数のイニシエーターによって使用されると、ドライブ内で競合が発生します。また、「デモ モード」(認証なし) と「ACL 認証」(イニシエーターごとの認証) も試しましたが、いずれも 2 番目のイニシエーター アクセスを無効にできませんでした。

私が望んでいるのは、ドライブまたは iSCSI ターゲットが 1 つのイニシエーターによってアクセスされている場合、2 番目のイニシエーターのアクセスを拒否することです。これを targetcli を使用して実現するにはどうすればよいでしょうか。

答え1

実質的には、何らかの形でクラスタリング構成I/Oフェンシングディスクが一度に複数のノードにマウントされるのを防ぎます。アクティブ/パッシブ フェイルオーバー シナリオでホスト間でストレージを共有する場合は、この方法を使用します。

基本的に、ディスクはクラスタリング ソフトウェアによって監視されます。クラスタの 1 つのノードにディスクをインポートしてマウントできます (他のノードではこれを行うことはできません)。

危険な状況は「ハートビートの相互接続がダウンしたらどうなるでしょうか?」--そこはI/Oフェンシングフェンシングの設定にはクォーラムディスク(クラスタ内の各ノードに提示されます)。クラスタ接続が失われた場合、クラスタのノードはクォーラムディスクの制御を競います。勝ったノードがディスクをインポートします。他のすべてのノードはカーネルパニックになります。他のノードの頭を撃つさらに詳しい情報と、それが過剰反応ではない理由については、こちらをご覧ください。

とにかく、実用的なアドバイスとしては、私はざっと目を通しただけでこのガイドRed Hat ベースのディストリビューションを使用している場合、これはやりたいことを十分に説明しているようです。SLES を使用している場合は、Symantec SFHA にソリューションが付属していますvxfen。Debian / Ubuntu 用のソリューションは、すぐには思いつきません。

関連情報