25.14. iSCSI オフロードおよびインターフェイスバインディングの設定
本章では、ソフトウェア iSCSI を使用する場合に、セッションを NIC ポートにバインドするために iSCSI インターフェイスを設定する方法を説明します。また、オフロードをサポートするネットワークデバイスで使用するインターフェイスを設定する方法についても説明します。
ネットワークサブシステムは、iSCSI インターフェイスがバインドに使用するパス/NIC を決定するように設定できます。たとえば、ポータルと NIC が別のサブネットに設定されている場合は、iSCSI インターフェイスをバインド用に手動で設定する必要はありません。
バインディング用に iSCSI インターフェイスを設定する前に、以下のコマンドを実行します。
$ ping -I ethX target_IP
ping に失敗すると、NIC にセッションをバインドできなくなります。その場合は、まずネットワーク設定を確認してください。
25.14.1. 利用可能な iface 設定の表示
iSCSI オフロードおよびインターフェイスバインディングは、以下の iSCSI イニシエーターの実装でサポートされています。
- ソフトウェア iSCSI
- このスタックは、セッションごとに iSCSI ホストインスタンス( scsi_host)を割り当て、セッションごとに単一の接続を使用します。その結果、
/sys/class_scsi_host
および/proc/scsi
は、ログインしている各接続/セッションの scsi_host を報告します。 - iSCSI のオフロード
- このスタックは、PCI デバイスごとに scsi_host を割り当てます。そのため、ホストバスアダプター上の各ポートは異なる PCI デバイスとして表示され、HBA ポートごとに異なる scsi_host が表示されます。
両方のタイプのイニシエーター実装を管理するために、iscsiadm は iface 構造を使用します。この構造では、セッションのバインドに使用される各 HBA ポート、ソフトウェア iSCSI、またはネットワークデバイス(ethX)の
/var/lib/iscsi/ iface s
に iface 設定を入力する必要があります。
利用可能な iface 設定を表示するには、iscsiadm -m iface を実行します。これにより、iface 情報が次の形式で表示されます。
iface_name transport_name,hardware_address,ip_address,net_ifacename,initiator_name
各値/設定の説明は、以下の表を参照してください。
設定 | 説明 |
---|---|
iface_name | iface 設定名。 |
transport_name | ドライバーの名前 |
hardware_address | MAC アドレス |
ip_address | このポートに使用する IP アドレス |
net_iface_name | ソフトウェア iSCSI セッションの vlan または alias バインディングに使用される名前。iSCSI オフロードの場合、この値は再起動後も持続しないため、net_iface_name は < empty > になります。 |
initiator_name | この設定は、イニシエーターのデフォルト名を上書きするために使用されます。これは、/etc/iscsi/initiatorname.iscsi で定義されます。 |
例25.6 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_name は、transport_name.hardware_name の形式で表示されます。
例25.7 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.8 Chelsio コンバージドネットワークアダプターでの iface 設定の使用
前の例を使用すると、同じ Chelsio コンバージドネットワークアダプター( iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07)の iface設定は以下のように表示されます。
# 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
25.14.2. ソフトウェア iSCSI 用の iface の設定
前述のように、セッションのバインドに使用される各ネットワークオブジェクトに iface 設定が必要です。
前
ソフトウェア iSCSI の iface 設定を作成するには、次のコマンドを実行します。
# iscsiadm -m iface -I iface_name --op=new
これにより、指定した iface _name を持つ新しい 空 の iface 設定が作成されます。既存の iface 設定にすでに同じ iface_name がある場合は、空の新しい設定によって上書きされます。
特定の iface 設定を設定するには、以下のコマンドを使用します。
# iscsiadm -m iface -I iface_name --op=update -n iface.setting -v hw_address
例25.9 iface0
の MAC アドレスの設定
たとえば、
iface0
の MAC アドレス(hardware_address)を 00:0F: 1F:92:6B:BF
に設定するには、次のコマンドを実行します。
# iscsiadm -m iface -I iface0 --op=update -n iface.hwaddress -v 00:0F:1F:92:6B:BF
警告
デフォルト
または iser
を iface 名として使用しないでください。どちらの文字列も、後方互換性のために iscsiadm で使用される特別な値です。手動で作成された default
または iser
という名前の iface 設定は、後方互換性を無効にします。
25.14.3. iSCSI オフロード用の iface の設定
デフォルトでは、
iscsiadm
は、ポートごとに iface
設定を作成します。利用可能な iface 設定を表示するには、ソフトウェア iSCSI の場合と同じコマンドである iscsiadm -m iface を使用します。
iSCSI オフロードにネットワークカードの iface を使用する前に、まずオフロードインターフェイスの
iface.ipaddress
値を、インターフェイスが使用するイニシエーター IP アドレスに設定します。
be2iscsi
ドライバーを使用するデバイスの場合、IP アドレスは BIOS 設定画面で設定されます。- 他のすべてのデバイスで、
iface
の IP アドレスを設定するには、次のコマンドを実行します。# iscsiadm -m iface -I iface_name -o update -n iface.ipaddress -v initiator_ip_address
例25.10 Chelsio カードの iface
IP アドレスの設定
たとえば、
iface
名が cxgb3i .00:07:43:05:97:07 のカードを使用する場合は、iface
IP アドレスを 20.15.0.66
に設定するには、次のコマンドを実行します
。
# iscsiadm -m iface -I cxgb3i.00:07:43:05:97:07 -o update -n iface.ipaddress -v 20.15.0.66
25.14.4. iface のポータルへのバインド/バインド解除
iscsiadm を使用して相互接続をスキャンするたびに、最初に
/var/lib/iscsi/ifaces
の各 iface 設定の iface.transport 設定を確認します。その後、iscsiadm ユーティリティーは、検出されたポータルを、 iface.transport が tcp
である任意の iface にバインドします。
この動作は、互換性の理由で実装されました。これを上書きするには、以下のように -I iface_name を使用して iface にバインドするポータルを指定します。
# iscsiadm -m discovery -t st -p target_IP:port -I iface_name -P 1 [5]
デフォルトでは、iscsiadm ユーティリティーは、オフロードを使用する iface 設定にポータルを自動的にバインドしません。これは、このような iface 設定では iface.transport が
tcp
に設定されないためです。そのため、iface 設定は、検出されたポータルに手動でバインドする必要があります。
ポータルが既存の iface にバインドされないようにすることもできます。これを行うには、以下のように
default
を iface_name として使用します。
# iscsiadm -m discovery -t st -p IP:port -I default -P 1
ターゲットと iface 間のバインディングを削除するには、次のコマンドを実行します。
# iscsiadm -m node -targetname proper_target_name -I iface0 --op=delete[6]
特定の iface のバインディングをすべて削除するには、次のコマンドを実行します。
# iscsiadm -m node -I iface_name --op=delete
特定のポータル (Equalogic ターゲットなど) のバインディングを削除するには、以下のコマンドを実行します。
# iscsiadm -m node -p IP:port -I iface_name --op=delete
注記
/var/lib/iscsi/
iface に iface 設定が定義されておらず、-I オプションが使用されていない場合、iscsiadm はネットワークサブシステムが特定のポータルが使用するデバイスを決定できるようにします。