5.9. 64 ビット IBM Z で Linux インスタンスの設定

本セクションでは、64 ビットの IBM Z に Red Hat Enterprise Linux をインストールするための一般的なタスクを説明します (すべてのタスクが記載されているわけではありません)。

5.9.1. DASD の追加

DASR (Direct Access Storage Devices) は、64 ビットの IBM Z で一般的に使用されるストレージの一種です。詳細は、IBM Knowledge Center のWorking with DASDsを参照してください。次の例では、DASD をオンラインに設定してフォーマットし、変更を永続化します。

z/VM 環境下で実行する場合は、デバイスが Linux システムに接続またはリンクされていることを確認してください。

CP ATTACH EB1C TO *

アクセスできるミニディスクをリンクするには、次のコマンドを実行します。

CP LINK RHEL7X 4B2E 4B2E MR
DASD 4B2E LINKED R/W

5.9.2. DASD のオンラインへの動的な設定

本セクションでは、DASD をオンラインに設定する方法を説明します。

手順

  1. cio_ignore ユーティリティーを使用して、無視されるデバイスのリストから DASD を削除して、Linux から見えるようにします。

    # cio_ignore -r device_number

    device_number を、DASD のデバイス番号に置き換えます。以下に例を示します。

    # cio_ignore -r 4b2e
  2. デバイスをオンラインに設定します。コマンドを次の形式で使用します。

    # chccwdev -e device_number

    device_number を、DASD のデバイス番号に置き換えます。以下に例を示します。

    # chccwdev -e 4b2e

    または、sysfs 属性を使用してデバイスをオンラインに設定できます。

    1. cd コマンドで、そのボリュームを示す /sys/ ディレクトリーに変更します。

      # cd /sys/bus/ccw/drivers/dasd-eckd/0.0.4b2e/
      # ls -l
      total 0
      -r--r--r--  1 root root 4096 Aug 25 17:04 availability
      -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
      -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
      -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
      -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
      -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
      -rw-r--r--  1 root root 4096 Aug 25 17:04 online
      -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
      -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag
    2. デバイスがすでにオンラインになっているかを確認します。

      # cat online
      0
    3. オンラインになっていない場合は、次のコマンドを実行してオンラインにします。

      # echo 1 > online
      # cat online
      1
  3. どのブロック devnode にアクセスしているかを確認します。

    # ls -l
    total 0
    -r--r--r--  1 root root 4096 Aug 25 17:04 availability
    lrwxrwxrwx  1 root root    0 Aug 25 17:07 block -> ../../../../block/dasdb
    -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
    -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
    -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
    -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
    -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
    -rw-r--r--  1 root root    0 Aug 25 17:04 online
    -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
    -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag

    この例では、 /dev/dasdb としてデバイス 4B2E にアクセスしてます。

この命令では、現行セッションに DASD オンラインを設定しましたが、システムが再起動すると元に戻ります。

DASD を永続的にオンラインに設定する方法は、DASD のオンラインへの永続的な設定 を参照してください。DASD を使用するときは、/dev/disk/by-path/ の下にある永続的なデバイスのシンボリックリンクを使用します。

5.9.3. ローレベルフォーマットによる新規 DASD の準備

ディスクがオンラインになったら、/root ディレクトリーに戻り、このデバイスにローレベルフォーマットを行います。DASD の有効期間中に必要なローレベルフォーマットは、この 1 回のみです。

# cd /root
# dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.4b2e
Drive Geometry: 10017 Cylinders * 15 Heads =  150255 Tracks

I am going to format the device /dev/disk/by-path/ccw-0.0.4b2e in the following way:
Device number of device : 0x4b2e
Labelling device        : yes
Disk label              : VOL1
Disk identifier         : 0X4B2E
Extent start (trk no)   : 0
Extent end (trk no)     : 150254
Compatible Disk Layout  : yes
Blocksize               : 4096

--->> ATTENTION! <<---
All data of that device will be lost.
Type "yes" to continue, no will leave the disk untouched: yes
cyl    97 of  3338 |#----------------------------------------------|   2%

進渉バーが最後まで到達してフォーマットが完了したら、dasdfmt が以下の出力を表示します。

Rereading the partition table...
Exiting...

ここで、fdasd を使用して DASD にパーティションを設定します。DASD には最大 3 つの パーティションを作成できます。この例では、ディスク全体にまたがるパーティションを 1 つ作成します。

# fdasd -a /dev/disk/by-path/ccw-0.0.4b2e
reading volume label ..: VOL1
reading vtoc ..........: ok

auto-creating one partition for the whole disk...
writing volume label...
writing VTOC...
rereading partition table...

(ローレベルフォーマットを行った) DASD をオンラインにすると、Linux 環境下の他のディスクと同様に使用できます。たとえば、ファイルシステム、LVM 物理ボリューム、またはそのパーティション (例: /dev/disk/by-path/ccw-0.0.4b2e-part1) にスワップ領域を作成できます。dasdfmt コマンドおよび fdasd コマンド以外では、絶対に DASD デバイス全体 (dev/dasdb) を使用しないでください。DASD 全体を使用する場合は、上述の fdasd の例で示すように、ドライブ全体にまたがるパーティションを 1 つ作成します。

たとえば /etc/fstab の既存のディスクエントリーの設定を壊さずに新しいディスクを後で追加するには、/dev/disk/by-path/ 配下で永続的なデバイスシンボリックリンクを使用します。

5.9.4. DASD のオンラインへの永続的な設定

上記の指示では、稼働中のシステムで動的に DASD をアクティブにする方法を説明します。しかし、そのような変更は永続的ではなく再起動後には維持されません。Linux システム内で DASD 設定の変更を永続的にするには、DASD がルートファイルシステムに属するかどうかによります。root ファイルシステムに必要なこれらの DASD は、ブートプロセスの初期段階で initramfs でアクティベートして、root ファイルシステムをマウントできるようにする必要があります。

cio_ignore コマンドは、永続的なデバイス設定に応じて透過的に処理されるため、無視するリストからデバイスを手動で解放する必要はありません。

5.9.5. ルートファイルシステムの一部である DASD

Red Hat Enterprise Linux 9 では、root ファイルシステムの一部となる DASD を追加するために修正が必要なファイルが変更になりました。/etc/zipl.conf ファイルを編集する代わりに、編集する新しいファイルとその場所は、以下のコマンドを実行すると確認できます。

# machine_id=$(cat /etc/machine-id)
# kernel_version=$(uname -r)
# ls /boot/loader/entries/$machine_id-$kernel_version.conf

ブートプロセスの早い段階で DASD をアクティベートする起動オプションである rd.dasd= があります。このオプションは、DASD (Direct Access Storage Device) アダプターデバイスバス識別子を取ります。複数の DASD の場合は、パラメーターを複数回指定するか、バス ID のコンマ区切りリストを使用します。DASD の範囲を指定するには、最初と最後のバス ID を指定します。以下は、LVM ボリュームグループ vg_devel1 に使用する 2 つの DASD のパーティションで、物理ボリュームを使用するシステムの /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-80.el8.s390x.conf ファイルの例です。この LVM ボリュームグループには、root ファイルシステム用の論理ボリューム lv_root が含まれています。

title Red Hat Enterprise Linux (4.18.0-80.el8.s390x) 8.0 (Ootpa)
version 4.18.0-80.el8.s390x
linux /boot/vmlinuz-4.18.0-80.el8.s390x
initrd /boot/initramfs-4.18.0-80.el8.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-4.18.0-80.el8.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel

デバイスバス ID 0.0.202b に含まれる 3 番目の DASD のパーティションに、別の物理ボリュームを追加します。これを行うには、/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-32.el8.s390x.conf で、ブートカーネルのパラメーター行に rd.dasd=0.0.202b を追加します。

title Red Hat Enterprise Linux (4.18.0-80.el8.s390x) 8.0 (Ootpa)
version 4.18.0-80.el8.s390x
linux /boot/vmlinuz-4.18.0-80.el8.s390x
initrd /boot/initramfs-4.18.0-80.el8.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.dasd=0.0.202b rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-4.18.0-80.el8.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
警告

設定ファイルで、カーネルコマンドラインの長さが 896 バイトを超えないようにしてください。これを超えてしまうとブートローダーを保存できず、インストールに失敗します。

zipl を実行して、次回の IPL 用に、設定ファイルの変更を適用します。

# zipl -V
Using config file '/etc/zipl.conf'
Using BLS config file '/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-4.18.0-80.el8.s390x.conf'
Target device information
  Device..........................: 5e:00
  Partition.......................: 5e:01
  Device name.....................: dasda
  Device driver name..............: dasd
  DASD device number..............: 0201
  Type............................: disk partition
  Disk layout.....................: ECKD/compatible disk layout
  Geometry - heads................: 15
  Geometry - sectors..............: 12
  Geometry - cylinders............: 13356
  Geometry - start................: 24
  File system block size..........: 4096
  Physical block size.............: 4096
  Device size in physical blocks..: 262152
Building bootmap in '/boot'
Building menu 'zipl-automatic-menu'
Adding #1: IPL section '4.18.0-80.el8.s390x' (default)
  initial ramdisk...: /boot/initramfs-4.18.0-80.el8.s390x.img
  kernel image......: /boot/vmlinuz-4.18.0-80.el8.s390x
  kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.dasd=0.0.0200 rd.dasd=0.0.0207 rd.dasd=0.0.202b rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0'
  component address:
    kernel image....: 0x00010000-0x0049afff
    parmline........: 0x0049b000-0x0049bfff
    initial ramdisk.: 0x004a0000-0x01a26fff
    internal loader.: 0x0000a000-0x0000cfff
Preparing boot menu
  Interactive prompt......: enabled
  Menu timeout............: 5 seconds
  Default configuration...: '4.18.0-80.el8.s390x'
Preparing boot device: dasda (0201).
Syncing disks...
Done.

5.9.6. ルートファイルシステムの一部ではない DASD

データディスク など、root ファイルシステムに含まれない DASD (Direct Access Storage Devices) は /etc/dasd.conf ファイルで永続設定します。このファイルには、行ごとに DASD が含まれ、各行は DASD のバス ID で始まります。

DASD を /etc/dasd.conf ファイルに追加する場合は、キーと値のペアを使用して、各エントリーのオプションを指定します。キーとその値を等号 (=) 記号で区切ります。複数のオプションを追加する場合は、空白またはタブを使用して各オプションを区切ります。

/etc/dasd.conf ファイルの例

0.0.0207
0.0.0200 use_diag=1 readonly=1

/etc/dasd.conf ファイルへの変更は、システムの再起動後か、システムの I/O 設定を変更して新規の DASD を動的に追加した後 (DASD を z/VM にアタッチ後) に適用されます。

/etc/dasd.conf ファイルに追加した DASD を有効にするには、以下の手順を実行します。

  1. cio_ignore ユーティリティーを使用して、無視するデバイスのリストから DASD を削除して表示させます。

    # cio_ignore -r device_number

    device_number は、DASD デバイス番号に置き換えます。

    たとえば、デバイス番号が 021a の場合は、次のコマンドを実行します。

    # cio_ignore -r 021a
  2. デバイスの uevent 属性に書き込み、DASD を有効化します。

    # echo add > /sys/bus/ccw/devices/dasd-bus-ID/uevent

    dasd-bus-ID は、DASD のバス ID に置き換えます。

    たとえば バス ID が 0.0.021a の場合には、以下を実行します。

    # echo add > /sys/bus/ccw/devices/0.0.021a/uevent

5.9.7. ルートファイルシステムの一部である FCP LUN

Red Hat Enterprise Linux 9 では、root ファイルシステムの一部である FCP LUN を追加するために必要な唯一のファイルが変更されました。/etc/zipl.conf ファイルを編集する代わりに、編集する新しいファイルとその場所は、以下のコマンドを実行すると確認できます。

# machine_id=$(cat /etc/machine-id)
# kernel_version=$(uname -r)
# ls /boot/loader/entries/$machine_id-$kernel_version.conf

Red Hat Enterprise Linux には、ブートプロセスの早い段階で FCP LUN をアクティブにするパラメーターである rd.zfcp= があります。この値は、コンマで区切った FCP デバイスバス ID、0x で始まる 16 進法の 16 桁の数字のターゲットの WWPN、および 0x で始まり 16 進法の 16 桁の数字の右側にゼロが列記される FCP LUN から設定されます。

WWPN および FCP LUN の値は、zFCP デバイスが NPIV モードで設定されていない場合にのみ必要です。これは、zfcp.allow_lun_scan=0 カーネルモジュールパラメーターにより自動 LUN スキャンが無効になっている場合、または RHEL-9.0 以前のリリースをインストールする場合にのみ必要です。それ以外の場合は、rd.zfcp=0.0.4000 などを省略できます。以下は、ルートファイルシステムの論理ボリューム lv_root を含む LVM ボリュームグループ vg_devel1 の場合 に、FCP 接続された SCSI ディスクのパーティション上の物理ボリュームを使用するシステムの /boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-5.14.0-55.el9.s390x.conf ファイルの例です。

title Red Hat Enterprise Linux (5.14.0-55.el9.s390x) 9.0 (Plow)
version 5.14.0-55.el9.s390x
linux /boot/vmlinuz-5.14.0-55.el9.s390x
initrd /boot/initramfs-5.14.0-55.el9.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a000000000 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-5.14.0-55.el9.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
  1. 既存の物理ボリュームと同じ 2 つのパスを使用して、FCP LUN 0x401040a300000000 を備えた 2 番目の FCP 接続 SCSI ディスクのパーティションに別の物理ボリュームを追加するには、rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 および rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a300000000 を、/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-5.14.0-55.el9.s390x.conf のブートカーネルのパラメーター行に追加します。以下に例を示します。
title Red Hat Enterprise Linux (5.14.0-55.el9.s390x) 9.0 (Plow)
version 5.14.0-55.el9.s390x
linux /boot/vmlinuz-5.14.0-55.el9.s390x
initrd /boot/initramfs-5.14.0-55.el9.s390x.img
options root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a300000000 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0
id rhel-20181027190514-5.14.0-55.el9.s390x
grub_users $grub_users
grub_arg --unrestricted
grub_class kernel
警告

設定ファイルで、カーネルコマンドラインの長さが 896 バイトを超えないようにしてください。これを超えてしまうとブートローダーを保存できず、インストールに失敗します。

  • dracut -f を実行して、ターゲットカーネルの初期 RAM ディスクを更新します。
  • zipl を実行して、次回の IPL 用に、設定ファイルの変更を適用します。
# zipl -V
Using config file '/etc/zipl.conf'
Using BLS config file '/boot/loader/entries/4ab74e52867b4f998e73e06cf23fd761-5.14.0-55.el9.s390x.conf'
Run /lib/s390-tools/zipl_helper.device-mapper /boot
Target device information
Device..........................: fd:00
Partition.......................: fd:01
Device name.....................: dm-0
Device driver name..............: device-mapper
Type............................: disk partition
Disk layout.....................: SCSI disk layout
Geometry - start................: 2048
File system block size..........: 4096
Physical block size.............: 512
Device size in physical blocks..: 10074112
Building bootmap in '/boot/'
Building menu 'zipl-automatic-menu'
Adding #1: IPL section '5.14.0-55.el9.s390x' (default)
kernel image......: /boot/vmlinuz-5.14.0-55.el9.s390x
kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root crashkernel=auto rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 rd.zfcp=0.0.fcd0,0x5105074308c2aee9,0x401040a300000000 rd.lvm.lv=vg_devel1/lv_root rd.lvm.lv=vg_devel1/lv_swap cio_ignore=all,!condev rd.znet=qeth,0.0.0a00,0.0.0a01,0.0.0a02,layer2=1,portno=0'
initial ramdisk...: /boot/initramfs-5.14.0-55.el9.s390x.img component address:
kernel image....: 0x00010000-0x007a21ff
parmline........: 0x00001000-0x000011ff
initial ramdisk.: 0x02000000-0x028f63ff
internal loader.: 0x0000a000-0x0000a3ff
Preparing boot device: dm-0.
Detected SCSI PCBIOS disk layout.
Writing SCSI master boot record.
Syncing disks...
Done.

5.9.8. ルートファイルシステムの一部ではない FCP LUN

データディスクなど、root ファイルシステムの一部ではない FCP LUN は、/etc/zfcp.conf ファイルで永続的に設定されています。このファイルの各行には FCP LUN が含まれています。各行には、FCP アダプターのデバイスバス ID、0x で始まる 16 桁の 16 進数の数字のターゲット WWPN、および 0x で始まり 16 桁の 16 進数の数字の右側にゼロが列記され、空白またはタブで区切られている FCP LUN から設定されます。

WWPN および FCP LUN の値は、zFCP デバイスが NPIV モードで設定されていない場合にのみ必要です。これは、zfcp.allow_lun_scan=0 カーネルモジュールパラメーターにより auto LUN スキャンが無効になっている場合、または RHEL-9.0 以前のリリースをインストールする場合にのみ必要です。それ以外の場合は、省略でき、デバイスバス ID のみが必須となります。

/etc/zfcp.conf 内のエントリーは、FCP アダプターがシステムに追加される際に udev によってアクティベートされ、設定されます。システム起動時に表示される FCP アダプターすべてが追加され、udev を開始します。

/etc/zfcp.conf のコンテンツの例:

0.0.fc00 0x5105074308c212e9 0x401040a000000000
0.0.fc00 0x5105074308c212e9 0x401040a100000000
0.0.fc00 0x5105074308c212e9 0x401040a300000000
0.0.fcd0 0x5105074308c2aee9 0x401040a000000000
0.0.fcd0 0x5105074308c2aee9 0x401040a100000000
0.0.fcd0 0x5105074308c2aee9 0x401040a300000000
0.0.4000
0.0.5000

/etc/zfcp.conf の変更は、システムの再起動後か、システムの I/O 設定の変更による新規の FCP チャンネルの動的な追加 (たとえば、チャンネルが z/VM 下で接続) の後でのみ反映されます。もしくは、アクティブになっていなかった FCP アダプターに以下のコマンドを実行して、/etc/zfcp.conf ファイルでの新しいエントリーのアクティベーションを開始できます。

  1. zfcp_cio_free ユーティリティーを使用して、無視されたデバイスのリストから FCP アダプターを削除し、Linux で表示できるようにします。

    # zfcp_cio_free
  2. /etc/zfcp.conf からの追加を実行中のシステムに適用するには、以下を実行します。

    # zfcpconf.sh

5.9.9. qeth デバイスの追加

qeth ネットワークデバイスドライバーは、64 ビットの IBM Z の OSA-Express 機能を QDIO モード、HiperSockets、z/VM ゲスト LAN および z/VM VSWITCH でサポートします

qeth デバイスドライバーの命名スキームの詳細は、ブートパラメーターのカスタマイズ を参照してください。

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

このセクションでは、qeth デバイスを動的に追加する方法を説明します。

手順

  1. qeth デバイスドライバーモジュールが読み込まれているかどうかを確認します。以下の例は、読み込み済みの qeth モジュールを示しています。

    # lsmod | grep qeth
    qeth_l3                69632  0
    qeth_l2                49152  1
    qeth                  131072  2 qeth_l3,qeth_l2
    qdio                   65536  3 qeth,qeth_l3,qeth_l2
    ccwgroup               20480  1 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_id、および data_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 (encf500)
  5. 必要に応じて、オンラインに設定する前に、グループデバイスに設定されている引数を渡すこともできます。

    # znetconf -a f500 -o portname=myname
    Scanning for network devices...
    Successfully configured device 0.0.f500 (encf500)

    これで、encf500 ネットワークインターフェイスの設定を継続できます。

または、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
  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
    encf500

    これで、encf500 ネットワークインターフェイスの設定を継続できます。

    s390utils パッケージの以下のコマンドは、qeth デバイスの最も重要な設定を表示します。

    # lsqeth encf500
    Device name                     : encf500
    -------------------------------------------------
    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

5.9.11. qeth デバイスの永続的な追加

新しい qeth デバイスを永続的にするには、新しいインターフェイス用に設定ファイルを作成します。ネットワークインターフェイスの設定ファイルは /etc/NetworkManager/system-connections/ ディレクトリーにあります。

ネットワーク設定ファイルには、命名規則 device.nmconnection を使用します。device は、以前作成した qeth グループデバイスのインターフェイス名ファイルにある値 (enc9a0 など) です。cio_ignore コマンドは永続的なデバイス設定に応じて透過的に処理されるので、無視する一覧からデバイスを手動で解放する必要はありません。

同じタイプの別のデバイスの設定ファイルがすでに存在する場合は、それを新しい名前でコピーして編集します。

# cd /etc/NetworkManager/system-connections/
# cp enc9a0.nmconnection enc600.nmconnection

お使いのネットワークデバイスの 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   enc9a0    Virt.NIC QDIO  0    sw     always_q_2 n/a  n/a  1     64
0.0.0600/0.0.0601/0.0.0602 x00   enc600    Virt.NIC QDIO  0    sw     always_q_2 n/a  n/a  1     64

同様のデバイスをこれまでに定義していない場合は、新しいファイルを作成します。次の例を使用してください。

[connection]
type=ethernet
interface-name=enc600

[ipv4]
address1=10.12.20.136/24,10.12.20.1
dns=10.12.20.53;
method=manual

[ethernet]
mac-address=00:53:00:8f:fa:66

新しい enc600.nmconnection ファイルを次のように編集します。

  1. 新しい接続ファイルが root:root によって所有されていることを確認します。

    # chown root:root /etc/NetworkManager/system-connections/enc600.nmconnection
  2. このファイルに詳細を追加するか、接続要件に基づいてこれらのパラメーターを変更します。
  3. ファイルを保存します。
  4. 接続プロファイルをリロードします。

    # nmcli connection reload
  5. 新しく追加した接続の完全な詳細を表示するには、次のように入力します。

    # nmcli connection show enc600

enc600.nmconnection ファイルへの変更は、システムの再起動後、システムの I/O 設定の変更による新しいネットワークデバイスチャネルの動的な追加 (たとえば、z/VM での接続) の後、またはネットワーク接続のリロード後に有効になります。あるいは、次のコマンドを実行して、以前はまだアクティブになっていなかったネットワークチャネルの enc600.nmconnection のアクティブ化をトリガーできます。

  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.0601 で、data_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. デフォルトのルート情報が変更された場合は、それに応じて /etc/NetworkManager/system-connections/<profile_name>.nmconnection ファイルの ipv4 セクションと ipv6 セクションの両方の ipaddress1 パラメーターも更新する必要があります。

    [ipv4]
    address1=10.12.20.136/24,10.12.20.1
    [ipv6]
    address1=2001:db8:1::1,2001:db8:1::fffe
  5. ここで新しいインターフェイスを開始します。

    # nmcli connection up enc600
  6. インターフェイスのステータスを確認します。

    # ip addr show enc600
    3: enc600:  <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
    10.12.20.136/24 brd 10.12.20.1 scope global dynamic enc600
    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
  7. 新しいインターフェイスのルーティングを確認します。

    # ip route
    default via 10.12.20.136 dev enc600 proto dhcp src
  8. ping ユーティリティーを使用し、ゲートウェイ、または新規デバイスのサブネットにある別のホストに ping して、変更を確認します。

    # ping -c 1 10.12.20.136
    PING 10.12.20.136 (10.12.20.136) 56(84) bytes of data.
    64 bytes from 10.12.20.136: icmp_seq=0 ttl=63 time=8.07 ms
  9. デフォルトのルート情報を変更した場合は、それに応じて /etc/sysconfig/network も更新する必要があります。

関連情報

  • nm-settings-keyfile man ページ

5.9.12. ネットワークの root ファイルシステム用の 64 ビットの IBM Z ネットワークデバイスの設定

root ファイルシステムへのアクセスに必要なネットワークデバイスを追加するには、起動オプションの変更だけが必要です。起動オプションはパラメーターファイルに追加できますが、/etc/zipl.conf ファイルには、起動レコードの指定が含まれなくなります。修正が必要なファイルは、以下のコマンドを使用して配置できます。

# machine_id=$(cat /etc/machine-id)
# kernel_version=$(uname -r)
# ls /boot/loader/entries/$machine_id-$kernel_version.conf

Dracut (mkinitrd の後継であり、initrd の代わりとなる initramfs 内で機能を提供する) は、起動プロセスの早い段階で 64 ビットの IBM Z 上のネットワークデバイスをアクティベートする起動パラメーター rd.znet= を提供します。

このパラメーターには、NETTYPE (qeth、lcs、ctc) のリスト (2 つ (lcs、ctc) または 3 つ (qeth) のデバイスバス ID) をコンマ区切りで指定します。また、任意で、ネットワークデバイスの sysfs 属性に相当するキー値ペアから設定される追加パラメーターを指定します。このパラメーターは、64 ビットの 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:enc9a0:none rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us