Red Hat Training

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

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

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

例24.11 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

例24.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 はその ifaceiface2 を使用していることがわかります。
デバイスモデルによっては、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

例24.13 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 
[8]

例24.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] セッションの SID 値を取得する方法の詳細は、「iSCSI API」 を参照してください。
[8] このコマンドは、改行がない 1 行のコマンドになりますが、印刷版または PDF 版では複数の行で表されることがあります。 行の前にバックスラッシュ「\」が付いている場合は、バックスラッシュを除いた 1 つのコマンドを示していることに注意してください。