25.12. iSCSI 相互接続をスキャンする

iSCSI の場合、新しいストレージが追加されたことを示す iSCSI 非同期イベントがターゲットによって送信されると、スキャンが自動的に行われます。Cisco MDS™ および EMC Celerra™ はこの機能に対応しています。
ただし、ターゲットが iSCSI 非同期イベントを送信しない場合は iscsiadm ユーティリティーを使って手作業でスキャンを行う必要があります。スキャンを行う前に、適切な --targetname --portal の値をまず取得する必要があります。ご使用のデバイスモデルが 1 ターゲットに 1 論理ユニットとポータルのみをサポートしている場合は、以下のように iscsiadm を使ってホストに対し sendtargets コマンドを発行します。
# iscsiadm -m discovery -t sendtargets -p target_IP:port
[7]

出力は以下のような形式になります。
target_IP:port,target_portal_group_tag proper_target_name

例25.14 iscsiadm を使って sendtargets コマンドを発行する

たとえば、proper_target_nameiqn.1992-08.com.netapp:sn.33615311target_IP:port10.15.85.19:3260 になるターゲットでは出力は次のようになります。
10.15.84.19:3260,2 iqn.1992-08.com.netapp:sn.33615311
10.15.85.19:3260,3 iqn.1992-08.com.netapp:sn.33615311
上記の例では、 ターゲットにはポータルが 2 つあり、 target_ip:port にはそれぞれ 10.15.84.19:326010.15.85.19:3260 を使用しています。
各セッションに使用される iface 構成を表示させる場合は -P 1 オプションを付けます。 このオプションによりセッション情報がツリー形式で表示されます。
    Target: proper_target_name
        Portal: target_IP:port,target_portal_group_tag
           Iface Name: iface_name

例25.15 iface 構成の表示

たとえば、iscsiadm -m discovery -t sendtargets -p 10.15.85.19:3260 -P 1 の場合、出力は以下のようになります。
Target: iqn.1992-08.com.netapp:sn.33615311
    Portal: 10.15.84.19:3260,2
       Iface Name: iface2
    Portal: 10.15.85.19:3260,3
       Iface Name: iface2
上記から、ターゲットの iqn.1992-08.com.netapp:sn.33615311 はその ifaceiface2 を使用していることがわかります。
しかし、デバイスモデルの中には 1 つのターゲットで複数の論理ユニットやポータルに対応できるものがあります (EMC および Netapp など)。この場合、まず sendtargets コマンドをホストに発行して、ターゲット上の新しいポータルを検索します。次に既存のセッションを再スキャンするのに以下を使用します。
# iscsiadm -m session --rescan
セッションの SID 値を以下のようにして指定することで特定セッションの再スキャンを実行することもできます。
# iscsiadm -m session -r SID --rescan[9]
複数のターゲットに対応するデバイスの場合、sendtargets コマンドをその複数ホストに対して発行し、各ターゲットごとに 新しいポータルを探す必要があります。次に既存の複数セッションを再スキャンして、それらのセッションにある新しい複数の論理ユニットを探します (--rescan オプションを使用)。

重要

--targetname--portal の値の取得に使用する sendtargets コマンドにより /var/lib/iscsi/nodes データベースのコンテンツが上書きされます。このデータベースは /etc/iscsi/iscsid.conf 内の設定を使って再設定されることになります。ただし、セッションが現在ログイン中で使用されている場合は再設定は行われません。
新しいターゲットやポータルの追加や古いターゲットやポータルの削除を安全に行うには、-o new オプションと -o delete オプションをそれぞれ使用します。たとえば、新しいターゲットやポータルを /var/lib/iscsi/nodes を上書きせずに追加する場合は次のコマンドを使用します。
iscsiadm -m discovery -t st -p target_IP -o new
検索中にターゲットが表示しなかった /var/lib/iscsi/nodes のエントリーを削除するには、次を使用します。
iscsiadm -m discovery -t st -p target_IP -o delete
次のようにして、両方のタスクを同時に行うこともできます。
iscsiadm -m discovery -t st -p target_IP -o delete -o new
sendtargets コマンドにより次のような出力が生成されます。
ip:port,target_portal_group_tag proper_target_name

例25.16 sendtargets コマンドの出力

たとえば、ターゲット、論理ユニット、およびポータルが 1 つで target_nameequallogic-iscsi1 になるデバイスの場合、出力は次のようになります。
10.16.41.155:3260,0 iqn.2001-05.com.equallogic:6-8a0900-ac3fe0101-63aff113e344a4a2-dl585-03-1
proper_target_nameip:port,target_portal_group_tag「iSCSI API」 にある同じ名前の値と同一になることに注意してください。
これで iSCSI デバイスの手作業によるスキャンを行うために必要な --targetname--portal の適切な値を確認できました。次のコマンドを実行します。
# iscsiadm --mode node --targetname proper_target_name --portal ip:port,target_portal_group_tag \ --login 
[10]

例25.17 iscsiadm コマンド

前述の例を使用すると (proper_target_nameequallogic-iscsi1)、このコマンドは以下のようになります。
# iscsiadm --mode node --targetname  \ iqn.2001-05.com.equallogic:6-8a0900-ac3fe0101-63aff113e344a4a2-dl585-03-1 	\ --portal 10.16.41.155:3260,0 --login[10]


[9] For information on how to retrieve a session's SID value, refer to 「iSCSI API」.
[10] このコマンドは改行なしの 1 行のコマンドになります。印刷版または PDF 版で表示する制限上、複数行で表されることがあります。 バックスラッシュ「\」が前に付く複数行はバックスラッシュを除いた 1 つのコマンドとして扱ってください。