
CentOS 6.4 マシンが 3 台あり、iSCSI を使用するように構成しようとしています。基本的には、2 つの異なるイニシエーターが単一のホスト サーバー上の 2 つの異なるターゲットと通信します。
1 台のマシン (「サーバー」) に 2 つのターゲットを定義し、/etc/tgt/targets.conf
各ターゲットが異なる論理ディスクを指しています。構成スタンザはほぼ同じで、名前とinitiator-address
フィールドのみが異なります。
/etc/tgt/targets.conf
これらはコメントアウトされていない行です。
default-driver iscsi
<target iqn.2013-08.com.example.group:backup>
backing-store /dev/primary/backup
initiator-address <ip address>
incominguser username password
</target>
<target iqn.2013-08.com.example.group:migrations>
backing-store /dev/primary/migrations
initiator-address <ip address>
incominguser username password
</target>
実行すると、tgt-admin -s
予想どおり 2 つのターゲットが表示されます。ただし、ターゲットの 1 つには 1 つの LUN (0 コントローラー) のみが表示され、もう 1 つのターゲットには 2 つの LUN (コントローラーとディスク) が表示されます。これが重要かどうかはわかりません。
残念なことに、最初のターゲット (ディスク LUN なし) はイニシエータからアクセスでき、マシンはスペースをマウントできるので、すべて問題ありません。2 番目のターゲット (ディスク LUN あり) はイニシエータからアクセスできません。実行すると、次のメッセージがiscsiadm -m discovery -t sendtargets -p <ipaddr>
表示されますiscsiadm: No portals found
。
さらに悪いことに、2 番目のターゲットが他のアドレスからの接続を期待している場合、またはinitiator-address
構成の一部を削除した場合でも、他のシステムは 2 番目のターゲットを認識しないようです。
答え1
エラー:
iscsiadm: ポータルが見つかりません。
問題: ACL の問題です。
解決策: iSCSI ターゲットで以下のコマンドを実行します。
tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL #In Target
次に、以下のコマンドを実行します。
iscsiadm -m discoverydb -t st --p 192.168.1.5 #It will work... Enjoy.
コマンド: "tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL" は、iscsi ターゲット (id = 1) がすべてのイニシエーターを受け入れるように設定します。また、イニシエーターを受け入れる IP アドレスまたは IP アドレス範囲を指定することもできます。残念ながら、これをデフォルトの動作にする方法が見つからないようで、iscsi サービスが停止するたびに設定がリセットされるようです。