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 デバイスに同じインターフェイス名( enccw
bus_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 qeth
Copy 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_id
Copy 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.f502
Copy 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/group
Copy 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/group
Copy 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.f500
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なシステムや機能を設定する方法により、オプションで追加のパラメーターや機能を設定できます。以下に例を示します。portno
layer2
portname
- オンライン
sysfs
属性に1
を書き込んでデバイスをオンラインにします。echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
Copy 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 1
Copy 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.f500
Copy 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 online
Copy 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_id
Copy 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.0602
Copy 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/uevent
Copy 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/uevent
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ネットワークデバイスのステータスを確認します。
lsqeth
# lsqeth
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ここで新しいインターフェイスを開始します。
ifup enccw0.0.0600
# ifup enccw0.0.0600
Copy 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.1
Copy 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 ms
Copy 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 イーサネットおよびギガビットイーサネットデバイスに次のインターフェイス名( enccw
bus_ID )を割り当てます。バス ID は、チャネルサブシステム ID、サブチャンネルセット ID、およびデバイス番号(例: enccw0.0.0a00
)で設定されています。
20.3.2.1. LCS デバイスの動的な追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
- デバイスドライバーを読み込みます。
modprobe lcs
# modprobe lcs
Copy 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_id
Copy 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.09a1
Copy 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/group
Copy 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/portno
Copy 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/online
Copy 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.0600
Copy 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_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ifup コマンドを実行して、デバイスをアクティベートします。
ifup enccwbus_ID
# ifup enccwbus_ID
Copy 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_id
Copy 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.09a1
Copy 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/uevent
Copy 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/uevent
Copy 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