Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.3. ネットワークデバイスの追加

ネットワークデバイスドライバーモジュールは udev が自動的に読み込みます。
IBM System z にネットワークインターフェースを動的に追加することも、永続的に追加することもできます。
  • 動的に追加する方法
    1. デバイスドライバーを読み込みます。
    2. 無視するデバイスの一覧からネットワークデバイスを削除します。
    3. グループデバイスを作成します。
    4. デバイスを設定します。
    5. デバイスをオンラインに設定します。
  • 永続的に追加する方法
    1. 設定スクリプトを作成します。
    2. インターフェースをアクティベートします。
以下のセクションでは、各 IBM System z ネットワークデバイスドライバーの各タスクの基本情報を提供します。「qeth デバイスの追加」 では、qeth デバイスを Red Hat Enterprise Linux の既存のインスタンスに追加する方法を説明しています。「LCS デバイスの追加」 では、lcs デバイスを Red Hat Enterprise Linux の既存のインスタンスに追加する方法を説明します。「サブチャネルおよびネットワークデバイス名のマッピング」 永続的なネットワークデバイス名がどのように機能するかを説明します。「ネットワークルートファイルシステム用の System z ネットワークデバイスの設定」 では、ネットワーク経由でのみアクセスできる root ファイルシステムで使用するネットワークデバイスを設定する方法を説明します。

25.3.1. qeth デバイスの追加

qeth ネットワークデバイスドライバーは、QDIO モード、HiperSockets、z/VM ゲスト LAN、および z/VM VSWITCH の System z OSA-Express 機能をサポートします。
追加するインターフェースのタイプに基づいて、qeth デバイスドライバーがベースインターフェース名のいずれかを割り当てます。
  • HiperSockets デバイスの hsin
  • イーサネット機能用 ethn
n は、デバイスを一意に識別する整数です。n は、そのタイプの最初のデバイスの場合は 0、2 番目の場合は 1 です。

25.3.1.1. qeth デバイスの動的な追加

qeth デバイスを動的に追加するには、以下の手順に従います。
  1. 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
  2. cio_ignore コマンドを使用して、無視されるデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
    # cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
    read_device_bus_idwrite_device_bus_iddata_device_bus_id は、ネットワークデバイスを表す 3 つのデバイスバス ID で置き換えます。以下に例を示します。read_device_bus_id0.0.f500 の場合、write_device_bus_id0.0.f501 に、data_device_bus_id0.0.f502 になります。
    # cio_ignore -r 0.0.f500,0.0.f501,0.0.f502
  3. 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
  4. 使用する設定を選択し、znetconf を使用してその設定を適用し、設定したグループデバイスをネットワークデバイスとしてオンラインに設定します。
    # znetconf -a f500
    Scanning for network devices...
    Successfully configured device 0.0.f500 (eth1)
  5. 必要に応じて、オンラインに設定する前に、グループデバイスに設定されている引数を渡すこともできます。
    # znetconf -a f500 -o portname=myname
    Scanning for network devices...
    Successfully configured device 0.0.f500 (eth1)
    これで、引き続きネットワーク eth1 インターフェースを設定することができます。
または、sysfs 属性を使用して、以下のようにデバイスをオンラインに設定できます。
  1. 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
  2. 次に、読み込みチャンネルを検索して、qeth グループデバイスが正しく作成されていることを確認します。
    # ls /sys/bus/ccwgroup/drivers/qeth/0.0.f500
    必要なシステムや機能を設定する方法によって、オプションで追加のパラメーターや機能を設定できます。以下に例を示します。
    • portno
    • layer2
    • portname
    追加のパラメーターの詳細は、『Red Hat Enterprise Linux 6 の System z Device Drivers、Features、および Commands の qeth デバイスドライバーの qeth デバイスドライバーの』 章を参照してください。
  3. オンライン sysfs 属性に 1 と書き込んでデバイスをオンラインにします。
    # echo 1 > /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
  4. 次に、デバイスの状態を確認します。
    # cat /sys/bus/ccwgroup/drivers/qeth/0.0.f500/online
    1
    戻り値が「1」の場合は、デバイスがオンラインであることを示し、戻り値が「0」の場合は、デバイスがオフラインであることを示します。
  5. デバイスに割り当てられたインターフェース名を見つけます。
    # 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 デバイスの動的な削除

qeth デバイスを削除するには、znetconf ツールを使用します。以下はその例です。
  1. 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
  2. 削除するネットワークデバイスを選択し、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)
  3. 削除の完了を確認します。
    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 ファイルを以下のように編集します。
  1. ccwgroup の if_name ファイルの内容を反映するように、DEVICE ステートメントを変更します。
  2. IPADDR ステートメントを変更し、新しいインターフェースの IP アドレスを反映させます。
  3. 必要に応じて NETMASK ステートメントを変更します。
  4. 新しいインターフェースを起動時にアクティブにするには、ONBOOTyes に設定されていることを確認します。
  5. SUBCHANNELS ステートメントが qeth デバイスのハードウェアアドレスと一致していることを確認します。
  6. PORTNAME ステートメントを修正するか、または使用環境で不要であれば除外します。
  7. OPTIONS パラメーターに、有効な sysfs 属性とその値を追加できます。現在、Red Hat Enterprise Linux インストーラーはこれを使用してレイヤーモード(layer2)と、qeth デバイスの関連ポート番号(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 ファイルのアクティベーションを開始できます。
  1. cio_ignore コマンドを使用して、無視されるデバイスの一覧からネットワークチャネルを削除し、Linux から見えるようにします。
    # cio_ignore -r read_device_bus_id,write_device_bus_id,data_device_bus_id
    read_device_bus_idwrite_device_bus_iddata_device_bus_id は、ネットワークデバイスを表す 3 つのデバイスバス ID で置き換えます。以下に例を示します。read_device_bus_id0.0.0600 の場合は、write_device_bus_id0.0.0601data_device_bus_id0.0.0602 となります。
    # cio_ignore -r 0.0.0600,0.0.0601,0.0.0602
  2. 次に変更をアクティベートする uevent を開始します。
    echo add > /sys/bus/ccw/devices/read-channel/uevent
    以下に例を示します。
    echo add > /sys/bus/ccw/devices/0.0.0600/uevent
  3. ネットワークデバイスのステータスを確認します。
    # lsqeth
  4. ここで新しいインターフェースを開始します。
    # ifup eth1
  5. インターフェースのステータスを確認します。
    # 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)
  6. 新しいインターフェースのルーティングを確認します。
    # 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
  7. 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
  8. デフォルトのルート情報が変更している場合、それに応じて /etc/sysconfig/network も更新する必要があります。