Show Table of Contents
25.3. ネットワークデバイスの追加
ネットワークデバイスドライバーモジュールは udev が自動的に読み込みます。
ネットワークインターフェースは、動的または永続的に IBM System z 上で追加できます。
- 動的に追加する方法
- デバイスドライバーを読み込みます。
- 無視するデバイスの一覧からネットワークデバイスを削除します。
- グループデバイスを作成します。
- デバイスを設定します。
- デバイスをオンラインに設定します。
- 永続的に追加する方法
- 設定スクリプトを作成します。
- インターフェースをアクティベートします。
以下のセクションでは、IBM System z の各ネットワークデバイスドライバーのタスクに関する基本的な情報を提供しています。「qeth デバイスの追加」 では Red Hat Enterprise Linux の既存インスタンスに qeth デバイスを追加する方法を説明しています。「LCS デバイスの追加」 は Red Hat Enterprise Linux の既存インスタンスに lcs デバイスを追加する方法を説明しています。「サブチャンネルのマッピングとネットワークデバイス名」 では永続化したネットワークデバイス名がどのように機能するかを説明しています。「ネットワーク root ファイルシステム用の System z ネットワークデバイスの設定」 では、ネットワーク経由でのみアクセス可能な root ファイルシステムで使用するネットワークデバイスの設定方法を説明しています。
25.3.1. qeth デバイスの追加
qeth ネットワークデバイスドライバーは System z の OSA-Express 機能を QDIO モード、HiperSockets、z/VM ゲスト LAN および z/VM VSWITCH でサポートします。
追加されるインターフェースのタイプに応じて、qeth デバイスドライバーは以下のベースインターフェース名のいずれかを割り当てます。
- hsin (HiperSockets デバイス)
- ethn (イーサネット機能)
n の値は、デバイスを識別する一意な整数です。n は、そのタイプの最初のデバイスは「
0」、2 番目は「1」となり、その後はこれに続きます。
25.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 qeth
lsmodコマンド出力で 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 (eth1)
- オプションとして、オンラインに設定する前にグループデバイス上で設定された引数を渡すこともできます。
# znetconf -a f500 -o portname=myname Scanning for network devices... Successfully configured device 0.0.f500 (eth1)
これで、ネットワークeth1インターフェースの設定を継続できます。
別の方法では、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必要なシステムや機能を設定する方法により、オプションで追加のパラメーターや機能を設定することができます。例を示します。portnolayer2portname
追加のパラメーターに関する詳細は、『Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6』 の qeth デバイスドライバーの章を参照してください。 - オンライン sysfs 属性に「1」と入力し、デバイスをオンラインにします。
# echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online - 次に、デバイスの状態を確認します。
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online1戻り値が「1」の場合はデバイスがオンラインであることを示し、戻り値が「0」の場合はデバイスがオフラインであることを示します。 - デバイスに割り当てられたインターフェース名を探します。
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_nameeth1これで、ネットワークeth1インターフェースの設定を継続できます。s390utils パッケージからの以下のコマンドは qeth デバイスの最も重要な設定を示しています。# lsqeth eth1 Device name : eth1 --------------------------------------------- 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
25.3.1.2. qeth デバイスの動的な削除
znetconf ツールを使って qeth デバイスを削除します。以下に例を示します。
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 eth0 online 0.0.f500,0.0.f501,0.0.f502 1731/01 GuestLAN QDIO 00 qeth eth1 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 (eth1)
- 削除の完了を確認します。
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 eth0 online
25.3.1.3. qeth デバイスの永続的な追加
新規の qeth デバイスを永続化するには、新規インターフェース用の設定ファイルを作成する必要があります。ネットワークインターフェースの設定ファイルは
/etc/sysconfig/network-scripts/ にあります。
ネットワーク設定ファイルには、命名規則
ifcfg-device を使用します。ここでの device は、以前に作成した qeth グループデバイス内の if_name ファイルに記載されている値です。今回の例では、eth1 になります。cio_ignore は、永続的なデバイス設定に応じて透過的に処理されるので、無視するリストからデバイスを手動で解放する必要はありません。
同じタイプの別デバイスの設定ファイルが既にある場合は、それをコピーして新しい名前を付けるのが一番簡単な方法です。
# cd /etc/sysconfig/network-scripts # cp ifcfg-eth0 ifcfg-eth1
同じようなデバイスが定義されていない場合は、設定ファイルを作成します。この
ifcfg-eth0 の例をテンプレートとして使用してください。
/etc/sysconfig/network-scripts/ifcfg-eth0
# IBM QETH DEVICE=eth0 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-eth1 ファイルを以下のように編集します。
DEVICEの記述を修正して、ccwgroup からのif_nameのコンテンツを反映させます。IPADDRの記述を修正して、新しいインターフェースの IP アドレスを反映させます。- 必要に応じて
NETMASKの記述を修正します。 - 新しいインターフェースを起動時にアクティブにするには、
ONBOOTがyesに設定されていることを確認します。 SUBCHANNELSの記述が qeth デバイスのハードウェアアドレスと合致していることを確認します。PORTNAMEの表記を修正するか、使用環境に不要であれば除外します。- 有効な sysfs 属性とその値を
OPTIONSパラメーターに追加することができます。Red Hat Enterprise Linux インストーラーは現在、これを使用してレイヤーモード (layer2) とportnoデバイスの関連ポート番号 (portno) を設定します。OSA デバイス用の qeth デバイスドライバーのデフォルトは、レイヤー 2 モードです。以前のデフォルトであるレイヤー3 モードに依存する旧式の ifcfg 定義を継続使用するには、layer2=0をOPTIONSパラメーターに追加します。
/etc/sysconfig/network-scripts/ifcfg-eth1
# IBM QETH DEVICE=eth1 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 eth1 - インターフェースのステータスを確認します。
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 02:00:00:00:00:01 inet addr:192.168.70.87 Bcast:192.168.70.255 Mask:255.255.255.0 inet6 addr: fe80::ff:fe00:1/64 Scope:Link UP BROADCAST RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:3 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:644 (644.0 b) TX bytes:264 (264.0 b) - 新しいインターフェースのルーティングを確認します。
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.70.0 * 255.255.255.0 U 0 0 0 eth1 10.1.20.0 * 255.255.255.0 U 0 0 0 eth0 default 10.1.20.1 0.0.0.0 UG 0 0 0 eth0
- 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も更新する必要があります。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.