Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.15. iSCSI 相互接続のスキャン

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

出力は以下の形式で表示されます。
target_IP:port,target_portal_group_tag proper_target_name

例25.11 iscsiadm を使用した sendtargets コマンドの発行

たとえば、proper_target_nameiqn.1992-08.com.netapp:sn.33615311 で、target_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:port10.15.84.19:3260 および 10.15 .85.19:3260 を使用します。
各セッションに使用される iface 設定を確認するには、-P 1 オプションを追加します。このオプションは、以下のように、セッション情報もツリー形式で出力します。
    Target: proper_target_name
        Portal: target_IP:port,target_portal_group_tag
           Iface Name: iface_name

例25.12 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 は、iface 設定として iface2 を使用します。
デバイスモデルによっては、1 つのターゲットに複数の論理ユニットとポータルが存在する場合があります。この場合、最初に sendtargets コマンドをホストに発行して、ターゲット上の新しいポータルを検索します。次に、以下を使用して既存のセッションを再スキャンします。
# iscsiadm -m session --rescan
以下のようにセッションの SID 値を指定して、特定のセッションを再スキャンすることもできます。
# iscsiadm -m session -r SID --rescan[7]
デバイスが複数のターゲットに対応している場合は、ホストに 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.13 sendtargets コマンドの出力

たとえば、ターゲットが 1 つ、論理ユニット、およびポータルのデバイスが target_name として equallogic-iscsi1 の場合、出力は次のようになります。
10.16.41.155:3260,0 iqn.2001-05.com.equallogic:6-8a0900-ac3fe0101-63aff113e344a4a2-dl585-03-1
proper_target_name および ip: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 
[8]

例25.14 完全な 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[8]


[7] For information on how to retrieve a session's SID value, refer to 「iSCSI API」.
[8] This is a single command split into multiple lines, to accommodate printed and PDF versions of this document. All concatenated lines — preceded by the backslash (\) — should be treated as one command, sans backslashes.