25.11. iSCSI オフロードとインターフェースバインディングの設定

本章では、ソフトウェア iSCSI を使用する際にセッションを NIC ポートに結合させるための iSCSI インターフェースを設定する方法について説明します。また、オフロード機能に対応する Chelsio、 Broadcom、 ServerEngines などのネットワークデバイスでインターフェースを使用できるよう設定を行う方法についても説明しています。
iSCSI が結合に使用するパスや NIC を指定できるようネットワークサブシステムを設定することができます。たとえば、ポータルと NIC が別々のサブネットにセットアップされている場合、結合用の iSCSI インターフェースを手作業で設定する必要はありません。
結合用の iSCSI インターフェースを設定する前に、まず次のコマンドを実行します。
$ ping -I ethX target_IP
ping が失敗する場合はセッションを NIC に結合することはできません。このような場合にはネットワーク設定をまず確認してください。

25.11.1. 利用可能な iface の設定を表示する

Red Hat Enterprise Linux 5.5 から、以下のような iSCSI イニシエーターの実装に対する iSCSI オフロードとインターフェースのバインディングに対応しています。
  • ソフトウェア iSCSIscsi_tcp モジュールや ib_iser モジュールと同様、このスタックはセッションごとに iSCSI ホストインスタンス (scsi_host) を割り当てます。接続は 1 セッションに 1 接続です。結果として /sys/class_scsi_host/proc/scsi は、ログインしている各接続/セッションに対して 1 つの scsi_host を報告します。
  • オフロード iSCSI — Chelsio cxgb3i、Broadcom bnx2i、ServerEngines be2iscsi モジュールなどと同様に、このスタックは各 PCI デバイスに対して scsi_host を割り当てます。このため、ホストのバスアダプター上の各ポートは、HBA ポートごとに別々の scsi_host を持つ異なった PCI デバイスとして表示されます。
いずれのタイプのイニシエーター実装を管理する場合も iscsiadmiface 構造を使用します。この構造では、複数のセッションの結合に使用する各 HBA ポート、ソフトウェア iSCSI、またはネットワークデバイス (ethX) などの /var/lib/iscsi/ifacesiface の設定を記載しておく必要があります。
利用可能な iface の設定を表示するには、iscsiadm -m iface を実行します。次のような形式で iface の情報が表示されます。
iface_name transport_name,hardware_address,ip_address,net_ifacename,initiator_name
それぞれの値または設定については次の表を参照してください。

表25.2 iface の設定

設定 詳細
iface_name iface の設定名
transport_name ドライバー名
hardware_address MAC アドレス
ip_address このポートに使用する IP アドレス
net_iface_name ソフトウェア iSCSI セッションの vlan またはエイリアス結合に使用する名前 (iSCSI オフロードの場合、再起動するとこの値は維持されないため net_iface_name<empty> になります)
initiator_name /etc/iscsi/initiatorname.iscsi で定義されているイニシエーターのデフォルト名を無効にする場合に使用

例25.9 iscsiadm -m iface コマンドの出力例

以下に iscsiadm -m iface コマンドの出力例を示します。
iface0 qla4xxx,00:c0:dd:08:63:e8,20.15.0.7,default,iqn.2005-06.com.redhat:madmax
iface1 qla4xxx,00:c0:dd:08:63:ea,20.15.0.9,default,iqn.2005-06.com.redhat:madmax
ソフトウェア iSCSI の場合、iface 設定には固有の名前を持たせなければなりません (65 文字未満)。オフロード機能に対応するネットワークデバイスの iface_nametransport_name.hardware_name の形式で表示されます。

例25.10 Chelsio ネットワークカードを使用する場合の iscsiadm -m iface の出力

たとえば、Chelsio ネットワークカードを使用しているシステムで iscsiadm -m iface コマンドを実行した場合の出力例は以下のようになります。
default tcp,<empty>,<empty>,<empty>,<empty>
iser iser,<empty>,<empty>,<empty>,<empty>
cxgb3i.00:07:43:05:97:07 cxgb3i,00:07:43:05:97:07,<empty>,<empty>,<empty>
特定の iface 設定をさらにわかりやすい方法で表示することもできます。これを実行するには、-I iface_name オプションを使用します。これにより、次のような形式で設定が表示されます。
iface.setting = value

例25.11 Chelsio 集中型ネットワークアダプターによる iface 設定を使用

前述の例と同じ Chelsio 統合型ネットワークアダプターによる iface 設定は次のように表示されます (iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07) 。
# BEGIN RECORD 2.0-871
iface.iscsi_ifacename = cxgb3i.00:07:43:05:97:07
iface.net_ifacename = <empty>
iface.ipaddress = <empty>
iface.hwaddress = 00:07:43:05:97:07
iface.transport_name = cxgb3i
iface.initiatorname = <empty>
# END RECORD