20.3. ネットワークデバイスの追加
ネットワークデバイスドライバーモジュールは、udev により自動的に読み込まれます。
ネットワークインターフェイスは、動的または永続的に IBM Z 上で追加できます。
- 動的に追加する方法
- デバイスドライバーを読み込みます。
- 無視するデバイスの一覧からネットワークデバイスを削除します。
- グループデバイスを作成します。
- デバイスを設定します。
- デバイスをオンラインに設定します。
- 永続的に追加する方法
- 設定スクリプトを作成します。
- インターフェイスをアクティベートします。
以下のセクションでは、各 IBM Z ネットワークデバイスドライバーのタスクごとに基本情報を説明します。「qeth デバイスの追加」 では、qeth デバイスを Red Hat Enterprise Linux の既存のインスタンスに追加する方法を説明しています。「LCS デバイスの追加」 では、lcs デバイスを Red Hat Enterprise Linux の既存のインスタンスに追加する方法を説明しています。
20.3.1. qeth デバイスの追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
qeth ネットワークデバイスドライバーは、IBM Z の OSA-Express 機能を QDIO モード、HiperSockets、z/VM ゲスト LAN、および z/VM VSWITCH でサポートします。
qeth デバイスドライバーは、イーサネットおよび Hipersockets デバイスに同じインターフェイス名( enccwbus_ID )を割り当てます。バス ID は、チャネルサブシステム ID、サブチャンネルセット ID、およびデバイス番号(例: enccw0.0.0a00 )で設定されています。
20.3.1.1. qeth デバイスの動的な追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
qeth デバイスを動的に追加するには、以下の手順に従います。
qethデバイスドライバーモジュールが読み込まれているかどうかを確認します。以下の例は、ロードされたqethモジュールを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow lsmod コマンドの出力でqethモジュールが読み込まれていないことを示す場合は、modprobe コマンドを実行してそれらを読み込みます。modprobe qeth
# modprobe qethCopy to Clipboard Copied! Toggle word wrap Toggle overflow - cio_ignore ユーティリティーを使用して無視するデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow read_device_bus_id と write_device_bus_id、data_device_bus_id は、ネットワークデバイスを表す 3 つのデバイスバス ID で置き換えます。たとえば、read_device_bus_id が0.0.f500の場合、write_device_bus_id は0.0.f501で、data_device_bus_id は0.0.f502になります。cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
# cio_ignore -r 0.0.f500,0.0.f501,0.0.f502Copy to Clipboard Copied! Toggle word wrap Toggle overflow - znetconf ユーティリティーを使用して、ネットワークデバイスの候補設定を識別し、一覧表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用する設定を選択し、znetconf を使用して設定を適用し、設定したグループデバイスをネットワークデバイスとしてオンラインにします。
znetconf -a f500
# znetconf -a f500 Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必要に応じて、オンラインに設定する前に、グループデバイスに設定されている引数を渡すこともできます。
znetconf -a f500 -o portname=myname
# znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで、enccw0.0.f500ネットワークインターフェイスの設定を継続できます。
または、
sysfs 属性を使用して、以下のようにデバイスをオンラインに設定できます。
qethグループデバイスを作成します。echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/group
# echo read_device_bus_id,write_device_bus_id,data_device_bus_id > /sys/bus/ccwgroup/drivers/qeth/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group
# echo 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に、読み込みチャネルを探して、
qethグループデバイスが正しく作成されていることを確認します。ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
# ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なシステムや機能を設定する方法により、オプションで追加のパラメーターや機能を設定できます。以下に例を示します。portnolayer2portname
- オンライン
sysfs属性に1を書き込んでデバイスをオンラインにします。echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に、デバイスの状態を確認します。
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online 1
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 戻り値が1の場合は、デバイスがオンラインであることを示します。戻り値0はデバイスがオフラインであることを示します。 - デバイスに割り当てられたインターフェイス名を見つけます。
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name enccw0.0.f500
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name enccw0.0.f500Copy to Clipboard Copied! Toggle word wrap Toggle overflow これで、enccw0.0.f500ネットワークインターフェイスの設定を継続できます。s390utils パッケージの以下のコマンドは、qethデバイスの最も重要な設定を表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.3.1.2. qeth デバイスの動的な削除 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
qeth デバイスを削除するには、znetconf ユーティリティーを使用します。以下に例を示します。
- znetconf ユーティリティーを使用して、設定されたすべてのネットワークデバイスを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 削除するネットワークデバイスを選択し、znetconf を実行してデバイスをオフラインに設定し、
ccw> グループデバイスのグループ化を解除します。znetconf -r f500
# znetconf -r f500 Remove network device 0.0.f500 (0.0.f500,0.0.f501,0.0.f502)? Warning: this may affect network connectivity! Do you want to continue (y/n)?y Successfully removed device 0.0.f500 (enccw0.0.f500)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 削除の完了を確認します。
znetconf -c
# znetconf -c Device IDs Type Card Type CHPID Drv. Name State -------------------------------------------------------------------------------------- 0.0.8036,0.0.8037,0.0.8038 1731/05 HiperSockets FB qeth hsi1 online 0.0.f5f0,0.0.f5f1,0.0.f5f2 1731/01 OSD_1000 76 qeth enccw0.0.09a0 onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
20.3.1.3. qeth デバイスの永続的な追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
新しい
qeth デバイスを永続化するには、新しいインターフェイス用の設定ファイルを作成する必要があります。ネットワークインターフェイス設定ファイルは /etc/sysconfig/network-scripts/ ディレクトリーに配置されます。
ネットワーク設定ファイルは、命名規則の
ifcfg-device を使用します。device は、先に作成した qeth グループデバイスの if_name ファイルで見つかった値(例: enccw0.0.09a0 )です。cio_ignore コマンドは、永続的なデバイス設定に対して透過的に処理されるため、無視リストからデバイスを手動で解放する必要はありません。
同じタイプの別のデバイスの設定ファイルがすでにある場合は、それを新しい名前にコピーしてから編集するのが一番簡単な方法です。
cd /etc/sysconfig/network-scripts cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
# cd /etc/sysconfig/network-scripts
# cp ifcfg-enccw0.0.09a0 ifcfg-enccw0.0.0600
ネットワークデバイスの ID を確認するには、lsqeth ユーティリティーを使用します。
lsqeth -p
# lsqeth -p
devices CHPID interface cardtype port chksum prio-q'ing rtr4 rtr6 lay'2 cnt
-------------------------- ----- ---------------- -------------- ---- ------ ---------- ---- ---- ----- -----
0.0.09a0/0.0.09a1/0.0.09a2 x00 enccw0.0.09a0 Virt.NIC QDIO 0 sw always_q_2 n/a n/a 1 64
0.0.0600/0.0.0601/0.0.0602 x00 enccw0.0.0600 Virt.NIC QDIO 0 sw always_q_2 n/a n/a 1 64
同様のデバイスをこれまでに定義していない場合は、新規のファイルを作成する必要があります。以下の
/etc/sysconfig/network-scripts/ifcfg-0.0.09a0 の例をテンプレートとして使用します。
新しい
ifcfg-0.0.0600 ファイルを以下のように編集します。
DEVICEステートメントを変更して、ccwグループのif_nameファイルの内容を反映します。IPADDRステートメントを変更して、新しいインターフェイスの IP アドレスを反映させます。- 必要に応じて
NETMASKステートメントを変更します。 - 起動時に新しいインターフェイスをアクティブにする場合は、
ONBOOTがyesに設定されていることを確認します。 SUBCHANNELSステートメントが qeth デバイスのハードウェアアドレスと一致していることを確認します。ID は小文字で指定する必要があることに注意してください。PORTNAMEステートメントを修正するか、お使いの環境で必要でない場合は除外します。OPTIONSパラメーターに、有効なsysfs属性とその値を追加できます。現在、Red Hat Enterprise Linux インストールプログラムでは、これを使用してレイヤーモード(layer2)とqethデバイスの関連ポート番号(portno)を設定します。OSA デバイス用のqethデバイスドライバーのデフォルトがレイヤー 2 モードになりました。以前のデフォルトであるレイヤー 3 モードに依存する旧式のifcfg定義を引き続き使用するには、layer2=0 をOPTIONSパラメーターに追加します。
/etc/sysconfig/network-scripts/ifcfg-0.0.0600
ifcfg ファイルへの変更は、システムの再起動後か、システムの I/O 設定を変更(z/VM 下で接続など)を変更することで、新しいネットワークデバイスチャネルの動的な追加後にのみ有効になります。または、以前はアクティブになっていなかったネットワークチャネルに対して、以下のコマンドを実行して ifcfg ファイルのアクティベーションを開始できます。
- cio_ignore ユーティリティーを使用して無視するデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow read_device_bus_id と write_device_bus_id、data_device_bus_id は、ネットワークデバイスを表す 3 つのデバイスバス ID で置き換えます。たとえば、read_device_bus_id が0.0.0600の場合、write_device_bus_id は0.0.0601で、data_device_bus_id は0.0.0602になります。cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
# cio_ignore -r 0.0.0600,0.0.0601,0.0.0602Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に変更をアクティベートする uevent を開始します。
echo add > /sys/bus/ccw/devices/read-channel/uevent
# echo add > /sys/bus/ccw/devices/read-channel/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。echo add > /sys/bus/ccw/devices/0.0.0600/uevent
# echo add > /sys/bus/ccw/devices/0.0.0600/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ネットワークデバイスのステータスを確認します。
lsqeth
# lsqethCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ここで新しいインターフェイスを開始します。
ifup enccw0.0.0600
# ifup enccw0.0.0600Copy to Clipboard Copied! Toggle word wrap Toggle overflow - インターフェイスのステータスを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 新しいインターフェイスのルーティングを確認します。
ip route
# ip route default via 10.85.1.245 dev enccw0.0.0600 proto static metric 1024 12.34.4.95/24 dev enp0s25 proto kernel scope link src 12.34.4.201 12.38.4.128 via 12.38.19.254 dev enp0s25 proto dhcp metric 1 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow pingユーティリティーを使用して、ゲートウェイまたは新しいデバイスのサブネットにある別のホストに ping して、変更を確認します。ping -c 1 192.168.70.8
# ping -c 1 192.168.70.8 PING 192.168.70.8 (192.168.70.8) 56(84) bytes of data. 64 bytes from 192.168.70.8: icmp_seq=0 ttl=63 time=8.07 msCopy to Clipboard Copied! Toggle word wrap Toggle overflow - デフォルトのルート情報が変更された場合は、それに応じて
/etc/sysconfig/networkも更新する必要があります。
20.3.2. LCS デバイスの追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
LCS (LAN チャネルステーション) のデバイスドライバーは、OSA-Express2 と OSA-Express 3 機能で 1000Base-T Ethernet をサポートします。
LCS デバイスドライバーは、OSA-Express Fast イーサネットおよびギガビットイーサネットデバイスに次のインターフェイス名( enccwbus_ID )を割り当てます。バス ID は、チャネルサブシステム ID、サブチャンネルセット ID、およびデバイス番号(例: enccw0.0.0a00 )で設定されています。
20.3.2.1. LCS デバイスの動的な追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
- デバイスドライバーを読み込みます。
modprobe lcs
# modprobe lcsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - cio_ignore ユーティリティーを使用して無視するデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
cio_ignore -r read_device_bus_id,write_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow read_device_bus_id と write_device_bus_id は、ネットワークデバイスを表す 2 つのデバイス ID で置き換えます。以下に例を示します。cio_ignore -r 0.0.09a0,0.0.09a1
# cio_ignore -r 0.0.09a0,0.0.09a1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - グループデバイスを作成します。
echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group
# echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/groupCopy to Clipboard Copied! Toggle word wrap Toggle overflow - デバイスを設定します。OSA カードは、CHPID 1 つにつき最大 16 ポートまで提供できます。デフォルトでは、LCS グループデバイスはポート
0を使用します。別のポートを使うには、次のようなコマンドを実行します。echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portno
# echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portnoCopy to Clipboard Copied! Toggle word wrap Toggle overflow portno には使用するポート番号を入力します。 - デバイスをオンラインに設定します。
echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online
# echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/onlineCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 割り当て済みのネットワークデバイス名を確認するには、以下のコマンドを入力します。
ls -l /sys/bus/ccwgroup/drivers/lcs/read_device_bus_ID/net/
# ls -l /sys/bus/ccwgroup/drivers/lcs/read_device_bus_ID/net/ drwxr-xr-x 4 root root 0 2010-04-22 16:54 enccw0.0.0600Copy to Clipboard Copied! Toggle word wrap Toggle overflow
20.3.2.2. LCS デバイスの永続的な追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
cio_ignore コマンドは、永続的なデバイス設定に対して透過的に処理されるため、無視リストからデバイスを手動で解放する必要はありません。
LCS デバイスを永続的に追加するには、以下の手順に従います。
/etc/sysconfig/network-scripts/に、ifcfg- deviceなどの名前で設定スクリプトを作成します。device は、先に作成したqethグループデバイスのif_nameファイルで見つかった値です(例:enccw0.0.09a0)。このファイルは以下のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PORTNAMEの値を変更して、使用する LCS ポート番号(portno)を反映します。任意のOPTIONSパラメーターに、有効な lcs sysfs 属性とその値を追加できます。この構文については、「qeth デバイスの永続的な追加」 を参照してください。DEVICEパラメーターを以下のように設定します。DEVICE=enccwbus_ID
DEVICE=enccwbus_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ifup コマンドを実行して、デバイスをアクティベートします。
ifup enccwbus_ID
# ifup enccwbus_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ifcfg ファイルへの変更は、システムの再起動後にのみ有効になります。以下のコマンドを実行して、ネットワークチャネル用の ifcfg ファイルのアクティベーションを開始できます。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から LCS デバイスアダプターを削除し、Linux から見えるようにします。
cio_ignore -r read_device_bus_id,write_device_bus_id
# cio_ignore -r read_device_bus_id,write_device_bus_idCopy to Clipboard Copied! Toggle word wrap Toggle overflow read_device_bus_id と write_device_bus_id は、LCS デバイスのデバイス ID で置き換えます。以下に例を示します。cio_ignore -r 0.0.09a0,0.0.09a1
# cio_ignore -r 0.0.09a0,0.0.09a1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次に変更をアクティベートする uevent を開始します。
echo add > /sys/bus/ccw/devices/read-channel/uevent
# echo add > /sys/bus/ccw/devices/read-channel/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
# echo add > /sys/bus/ccw/devices/0.0.09a0/ueventCopy to Clipboard Copied! Toggle word wrap Toggle overflow
20.3.3. ネットワークルートファイルシステム用の IBM Z ネットワークデバイスの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
root ファイルシステムへのアクセスに必要なネットワークデバイスを追加するには、起動オプションの変更だけが必要です。起動オプションは、パラメーターファイル( 21章IBM Z でのパラメーターと設定ファイルを参照)か、zipl ブートローダーが準備した DASD または FCP 接続の SCSI LUN の
zipl.conf の一部に置くことができます。initramfs を再作成する必要はありません。
Dracut は、initrd に代わる initramfs で機能を提供する mkinitrd の後継であり、起動プロセスの早い段階で IBM Z 上のネットワークデバイスをアクティベートするための起動パラメーター
rd.znet= を提供します。
このパラメーターは入力として、
NETTYPE (qeth、lcs、ctc)、2 つ(lcs、ctc)または 3 つ(qeth)デバイスバス ID と、ネットワークデバイス sysfs 属性に対応するキーと値のペアで設定される任意の追加パラメーターを取ります。このパラメーターは、IBM Z のネットワークハードウェアを設定し、アクティベートします。IP アドレスとその他のネットワーク仕様の設定は、他のプラットフォームと同様に機能します。詳細は dracut のドキュメントを参照してください。
ネットワークチャネルの cio_ignore コマンドは、起動時に透過的に処理されます。
NFS 経由のネットワークでアクセスした root ファイルシステムの起動オプションの例:
root=10.16.105.196:/nfs/nfs_root cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0,portname=OSAPORT ip=10.16.105.197:10.16.105.196:10.16.111.254:255.255.248.0:nfs‑server.subdomain.domain:enccw0.0.09a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us
root=10.16.105.196:/nfs/nfs_root cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0,portname=OSAPORT ip=10.16.105.197:10.16.105.196:10.16.111.254:255.255.248.0:nfs‑server.subdomain.domain:enccw0.0.09a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us