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_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 (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
必要なシステムや機能を設定する方法により、オプションで追加のパラメーターや機能を設定することができます。例を示します。portno
layer2
portname
追加のパラメーターに関する詳細は、『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/online
1
戻り値が「1
」の場合はデバイスがオンラインであることを示し、戻り値が「0
」の場合はデバイスがオフラインであることを示します。 - デバイスに割り当てられたインターフェース名を探します。
# cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/if_name
eth1
これで、ネットワーク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_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 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
も更新する必要があります。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。