Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
20.3. ネットワークデバイスの追加
ネットワークデバイスドライバーモジュールは udev が自動的に読み込みます。
ネットワークインターフェースは、動的または永続的に IBM Z 上で追加できます。
- 動的に追加する方法
- デバイスドライバーを読み込みます。
- 無視するデバイスの一覧からネットワークデバイスを削除します。
- グループデバイスを作成します。
- デバイスを設定します。
- デバイスをオンラインに設定します。
- 永続的に追加する方法
- 設定スクリプトを作成します。
- インターフェースをアクティベートします。
以下のセクションでは、それぞれの IBM Z のネットワークデバイスドライバーのタスクに関する基本的な情報を提供しています。「qeth デバイスの追加」は、Red Hat Enterprise Linux の既存インスタンスに qeth デバイスを追加する方法を説明しています。「LCS デバイスの追加」は、Red Hat Enterprise Linux の既存インスタンスに lcs デバイスを追加する方法を説明しています。
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 qethqeth
モジュールが読み込まれていないことをlsmod
コマンドの出力が表示している場合、modprobe
コマンドを実行してそれらを読み込みます。#
modprobe qeth
cio_ignore
ユーティリティーを使用して無視されるデバイスのリストからネットワークチャネルを削除し、それが Linux から見えるようにします。#
cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
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
- 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
の表記を修正するか、使用環境に不要であれば除外します。- 有効な
sysfs
属性とその値をOPTIONS
パラメーターに追加することができます。現在、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_id
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
- 次に変更をアクティベートする 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 イーサネットと Gigabit イーサネットデバイス用に、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_id
read_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/portno
portno には使用するポート番号を入力します。 - デバイスをオンラインに設定します。
#
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
) を反映します。有効な lcs sysfs 属性とその値をオプションのOPTIONS
パラメーターに追加できます。構文については、「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_id
read_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 ネットワークデバイスの設定
ルートファイルシステムにアクセスする必要のあるネットワークデバイスを追加するには、その起動オプションを変更することのみが必要になります。この起動オプションはパラメーターファイル (「21章IBM Z でのパラメーターと設定ファイル」を参照) 内にあるか、zipl ブートローダーで準備された DASD または FCP 接続の SCSI LUN 上の
zipl.conf
の一部である可能性があります。initramfs を再作成する必要はありません。
Dracut (mkinitrd の後継であり、initrd の代わりとなる initramfs 内で機能を提供する) は、ブートプロセスの初期段階で IBM Z 上のネットワークデバイスをアクティベートするブートパラメーター
rd.znet=
を提供します。
このパラメーターは、
NETTYPE
(qeth, lcs, ctc) と、2 つ (lcs, ctc) または 3 つ (qeth) のデバイスバス ID とネットワークデバイス sysfs 属性に相当するキー値ペアから構成されるオプションの追加パラメーターのコンマで区切った一覧を取ります。このパラメーターは、IBM Z のネットワークハードウェアを設定、アクティベートします。IP アドレスと他のネットワーク仕様の設定は、他のプラットフォームと同様に機能します。詳細については、dracut のドキュメントを参照してください。
ネットワークチャネルに対する cio_ignore コマンドは、起動時に透過的に処理されます。
NFS 経由のネットワークでアクセスされたルートファイルシステム用の起動オプションの例:
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
このページには機械翻訳が使用されている場合があります (詳細はこちら)。