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
モジュールを示しています。#
lsmod | grep qeth qeth_l3 127056 9 qeth_l2 73008 3 ipv6 492872 155ip6t_REJECT,nf_conntrack_ipv6,qeth_l3 qeth 115808 2 qeth_l3,qeth_l2 qdio 68240 1 qeth ccwgroup 12112 2 qethlsmod コマンドの出力でqeth
モジュールが読み込まれていないことを示す場合は、modprobe コマンドを実行してそれらを読み込みます。#
modprobe qeth- cio_ignore ユーティリティーを使用して無視するデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
#
cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idread_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 - znetconf ユーティリティーを使用して、ネットワークデバイスの候補設定を識別し、一覧表示します。
#
znetconf -u Scanning for network devices... Device IDs Type Card Type CHPID Drv. ------------------------------------------------------------ 0.0.f500,0.0.f501,0.0.f502 1731/01 OSA (QDIO) 00 qeth 0.0.f503,0.0.f504,0.0.f505 1731/01 OSA (QDIO) 01 qeth 0.0.0400,0.0.0401,0.0.0402 1731/05 HiperSockets 02 qeth - 使用する設定を選択し、znetconf を使用して設定を適用し、設定したグループデバイスをネットワークデバイスとしてオンラインにします。
#
znetconf -a f500 Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500) - 必要に応じて、オンラインに設定する前に、グループデバイスに設定されている引数を渡すこともできます。
#
znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (enccw0.0.f500)これで、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 0.0.f500,0.0.f501,0.0.f502 > /sys/bus/ccwgroup/drivers/qeth/group- 次に、読み込みチャネルを探して、
qeth
グループデバイスが正しく作成されていることを確認します。#
ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500必要なシステムや機能を設定する方法により、オプションで追加のパラメーターや機能を設定できます。以下に例を示します。portno
layer2
portname
- オンライン
sysfs
属性に1
を書き込んでデバイスをオンラインにします。#
echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online - 次に、デバイスの状態を確認します。
#
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online 1戻り値が1
の場合は、デバイスがオンラインであることを示します。戻り値0
はデバイスがオフラインであることを示します。 - デバイスに割り当てられたインターフェイス名を見つけます。
#
cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name enccw0.0.f500これで、enccw0.0.f500
ネットワークインターフェイスの設定を継続できます。s390utils パッケージの以下のコマンドは、qeth
デバイスの最も重要な設定を表示します。#
lsqeth enccw0.0.f500 Device name : enccw0.0.f500 ------------------------------------------------- card_type : OSD_1000 cdev0 : 0.0.f500 cdev1 : 0.0.f501 cdev2 : 0.0.f502 chpid : 76 online : 1 portname : OSAPORT portno : 0 state : UP (LAN ONLINE) priority_queueing : always queue 0 buffer_count : 16 layer2 : 1 isolation : none
20.3.1.2. qeth デバイスの動的な削除
qeth
デバイスを削除するには、znetconf ユーティリティーを使用します。以下に例を示します。
- znetconf ユーティリティーを使用して、設定されたすべてのネットワークデバイスを表示します。
#
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 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth enccw0.0.f500 online - 削除するネットワークデバイスを選択し、znetconf を実行してデバイスをオフラインに設定し、
ccw
> グループデバイスのグループ化を解除します。#
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) - 削除の完了を確認します。
#
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
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
ネットワークデバイスの ID を確認するには、lsqeth ユーティリティーを使用します。
#
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
の例をテンプレートとして使用します。
# IBM QETH DEVICE=enccw0.0.09a0 BOOTPROTO=static IPADDR=10.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.09a0,0.0.09a1,0.0.09a2 PORTNAME=OSAPORT OPTIONS='layer2=1 portno=0' MACADDR=02:00:00:23:65:1a TYPE=Ethernet
新しい
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
# IBM QETH DEVICE=enccw0.0.0600 BOOTPROTO=static IPADDR=192.168.70.87 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=qeth SUBCHANNELS=0.0.0600,0.0.0601,0.0.0602 PORTNAME=OSAPORT OPTIONS='layer2=1 portno=0' MACADDR=02:00:00:b3:84:ef TYPE=Ethernet
ifcfg
ファイルへの変更は、システムの再起動後か、システムの I/O 設定を変更(z/VM 下で接続など)を変更することで、新しいネットワークデバイスチャネルの動的な追加後にのみ有効になります。または、以前はアクティブになっていなかったネットワークチャネルに対して、以下のコマンドを実行して ifcfg
ファイルのアクティベーションを開始できます。
- cio_ignore ユーティリティーを使用して無視するデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
#
cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_idread_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 - 次に変更をアクティベートする uevent を開始します。
#
echo add > /sys/bus/ccw/devices/read-channel/uevent以下に例を示します。#
echo add > /sys/bus/ccw/devices/0.0.0600/uevent - ネットワークデバイスのステータスを確認します。
#
lsqeth - ここで新しいインターフェイスを開始します。
#
ifup enccw0.0.0600 - インターフェイスのステータスを確認します。
#
ip addr show enccw0.0.0600 3: enccw0.0.0600: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 3c:97:0e:51:38:17 brd ff:ff:ff:ff:ff:ff inet 10.85.1.245/24 brd 10.34.3.255 scope global dynamic enccw0.0.0600 valid_lft 81487sec preferred_lft 81487sec inet6 1574:12:5:1185:3e97:eff:fe51:3817/64 scope global noprefixroute dynamic valid_lft 2591994sec preferred_lft 604794sec inet6 fe45::a455:eff:d078:3847/64 scope link valid_lft forever preferred_lft forever - 新しいインターフェイスのルーティングを確認します。
#
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 ping
ユーティリティーを使用して、ゲートウェイまたは新しいデバイスのサブネットにある別のホストに ping して、変更を確認します。#
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- デフォルトのルート情報が変更された場合は、それに応じて
/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 - cio_ignore ユーティリティーを使用して無視するデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
#
cio_ignore -r read_device_bus_id,write_device_bus_idread_device_bus_id と write_device_bus_id は、ネットワークデバイスを表す 2 つのデバイス ID で置き換えます。以下に例を示します。#
cio_ignore -r 0.0.09a0,0.0.09a1 - グループデバイスを作成します。
#
echo read_device_bus_id,write_device_bus_id > /sys/bus/ccwgroup/drivers/lcs/group - デバイスを設定します。OSA カードは、CHPID 1 つにつき最大 16 ポートまで提供できます。デフォルトでは、LCS グループデバイスはポート
0
を使用します。別のポートを使うには、次のようなコマンドを実行します。#
echo portno > /sys/bus/ccwgroup/drivers/lcs/device_bus_id/portnoportno には使用するポート番号を入力します。 - デバイスをオンラインに設定します。
#
echo 1 > /sys/bus/ccwgroup/drivers/lcs/read_device_bus_id/online - 割り当て済みのネットワークデバイス名を確認するには、以下のコマンドを入力します。
#
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
20.3.2.2. LCS デバイスの永続的な追加
cio_ignore コマンドは、永続的なデバイス設定に対して透過的に処理されるため、無視リストからデバイスを手動で解放する必要はありません。
LCS デバイスを永続的に追加するには、以下の手順に従います。
/etc/sysconfig/network-scripts/
に、ifcfg- device
などの名前で設定スクリプトを作成します。device は、先に作成したqeth
グループデバイスのif_name
ファイルで見つかった値です(例:enccw0.0.09a0
)。このファイルは以下のようになります。# IBM LCS DEVICE=enccw0.0.09a0 BOOTPROTO=static IPADDR=10.12.20.136 NETMASK=255.255.255.0 ONBOOT=yes NETTYPE=lcs SUBCHANNELS=0.0.09a0,0.0.09a1 PORTNAME=0 OPTIONS='' TYPE=Ethernet
PORTNAME
の値を変更して、使用する LCS ポート番号(portno
)を反映します。任意のOPTIONS
パラメーターに、有効な lcs sysfs 属性とその値を追加できます。この構文については、「qeth デバイスの永続的な追加」 を参照してください。DEVICE
パラメーターを以下のように設定します。DEVICE=enccwbus_ID
- ifup コマンドを実行して、デバイスをアクティベートします。
#
ifup enccwbus_ID
ifcfg
ファイルへの変更は、システムの再起動後にのみ有効になります。以下のコマンドを実行して、ネットワークチャネル用の ifcfg
ファイルのアクティベーションを開始できます。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から LCS デバイスアダプターを削除し、Linux から見えるようにします。
#
cio_ignore -r read_device_bus_id,write_device_bus_idread_device_bus_id と write_device_bus_id は、LCS デバイスのデバイス ID で置き換えます。以下に例を示します。#
cio_ignore -r 0.0.09a0,0.0.09a1 - 次に変更をアクティベートする uevent を開始します。
#
echo add > /sys/bus/ccw/devices/read-channel/uevent以下に例を示します。#
echo add > /sys/bus/ccw/devices/0.0.09a0/uevent
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