Red Hat Training

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

第19章 IBM Z インスタンスでのインストール済み Linux の設定

IBM Z 上の Linux に関する詳細情報は、「21章IBM Z に関する参考文献」に一覧表示されている出版物を参照してください。一般的なタスクの一部がここで説明されています。

19.1. DASD の追加

DASD (ダイレクトアクセスストレージデバイス) は、IBM Z で一般的に使用されるタイプのストレージです。このストレージデバイスの使用方法については、IBM Knowledge Center (http://www-01.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.lgdd/lgdd_t_dasd_wrk.html) を参照してください。
DASD をオンラインに設定してフォーマットし、変更を永続化する方法の例を以下に示します。

注記

z/VM 環境下で実行する場合は、デバイスが Linux システムに接続またはリンクされていることを確認してください。
CP ATTACH EB1C TO *
アクセス可能なミニディスクをリンクするには、以下のようなコマンドを実行します。
CP LINK RHEL7X 4B2E 4B2E MR
DASD 4B2E LINKED R/W
上記のコマンドについての詳細は『z/VM: CP Commands and Utilities Reference, SC24-6175』を参照してください。

19.1.1. 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
    この例で示されているように、デバイス 4B2E は /dev/dasdb としてアクセスされています。
これらの手順により、現在のセッションでは DASD がオンラインに設定されますが、再起動後には永続性がありません。永続的に DASD をオンラインに設定する方法については、「DASD のオンラインへの永続的な設定」を参照してください。DASD を使用して作業する場合、/dev/disk/by-path/ で永続性のあるデバイスのシンボリックリンクを使用します。ストレージデバイスを連続的に参照する別の方法については、Red Hat Enterprise Linux 7 ストレージ管理ガイドの永続的命名についての章を参照してください。

19.1.2. 低レベルフォーマットによる新規 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
auto-creating one partition for the whole disk...
writing volume label...
writing VTOC...
checking !
wrote NATIVE!
rereading partition table...
(低レベルのフォーマット化を行った) DASD をオンラインにすると、Linux 環境下の他のディスクと同様に使用することができます。たとえば、DASD のパーティション上にはファイルシステムや LVM 物理ボリューム、swap 領域などを作成することができます (例、/dev/disk/by-path/ccw-0.0.4b2e-part1 )。dasdfmt コマンドおよび fdasd コマンド以外では、絶対に DASD デバイス全体 (dev/dasdb) を使用しないでください。DASD 全体を使用する場合は、上述の fdasd の例で示すようにドライブ全体にまたがるパーティションを 1 つ作成します。
たとえば /etc/fstab の既存のディスクエントリーの構成を壊さずに新しいディスクを後で追加するには、/dev/disk/by-path/ 配下で永続的なデバイスシンボリックリンクを使用します。

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

上記の指示では、稼働中のシステム内で動的に DASD をアクティブにする方法を説明しています。しかし、そのような変更は永続的ではなく再起動後には維持されません。Linux システム内で DASD 設定の変更を永続的にするには、DASD がルートファイルシステムに属するかどうかによります。ルートファイルシステムに必要なこれらの DASD は、ブートプロセス中に早期に initramfs でアクティベートして、ルートファイルシステムをマウントできるようにする必要があります。
cio_ignore コマンドは永続的なデバイス設定に応じて透過的に処理されるので、無視する一覧からデバイスを手動で解放する必要はありません。

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

ルートファイルシステムの一部である DASD を追加するために修正すべき唯一のファイルは /etc/zipl.conf です。修正後に zipl ブートローダーツールを実行します。initramfs を再作成する必要はありません。
ブートプロセスの初期段階には、DASD をアクティベートする起動オプションである rd.dasd= があります。このオプションには、コンマ区切りの一覧を入力します。この一覧には、デバイスバス ID と、DASD sysfs 属性に相当するキー値ペアから構成されるオプションの追加パラメーターが含まれます。
以下に zipl.conf の例を示します。これは、LVM ボリュームグループ vg_devel1 向けの 2 つの DASD のパーティション上にある物理ボリュームを使用するシステム用で、この LVM ボリュームグループにはルートファイルシステム用の lv_root が含まれています。
[defaultboot]
default=linux
target=/boot/

[linux]
image=/boot/vmlinuz-2.6.32-19.el7.s390x
ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img
parameters="root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0  rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"
デバイスバス ID 0.0.202b を持つ 3 つ目の DASD のパーティション上に、もう 1 つの物理ボリュームを追加するとします。これを実行するには、rd_dasd=0.0.202bzipl.conf 内のブートカーネルのパラメーターに追加します。
[defaultboot]
default=linux
target=/boot/

[linux]
image=/boot/vmlinuz-2.6.32-19.el7.s390x
ramdisk=/boot/initramfs-2.6.32-19.el7.s390x.img
parameters="root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.202b  rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev"

警告

/etc/zipl.conf 内のカーネルコマンドラインの長さが 896 バイトを超えないようにしてください。これを超えてしまうとブートローダーの保存ができず、インストールに失敗します。
zipl を実行して次回の IPL 用に /etc/zipl.conf の変更を適用します。
# zipl -V
Using config file '/etc/zipl.conf'
Target device information
Device..........................: 5e:00
Partition.......................: 5e:01
Device name.....................: dasda
DASD device number..............: 0201
Type............................: disk partition
Disk layout.....................: ECKD/compatible disk layout
Geometry - heads................: 15
Geometry - sectors..............: 12
Geometry - cylinders............: 3308
Geometry - start................: 24
File system block size..........: 4096
Physical block size.............: 4096
Device size in physical blocks..: 595416
Building bootmap in '/boot/'
Building menu 'rh-automatic-menu'
Adding #1: IPL section 'linux' (default)
kernel image......: /boot/vmlinuz-2.6.32-19.el7.s390x
kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root rd.dasd=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd.dasd=0.0.202b rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!condev'
initial ramdisk...: /boot/initramfs-2.6.32-19.el7.s390x.img
component address:
kernel image....: 0x00010000-0x00a70fff
parmline........: 0x00001000-0x00001fff
initial ramdisk.: 0x02000000-0x022d2fff
internal loader.: 0x0000a000-0x0000afff
Preparing boot device: dasda (0201).
Preparing boot menu
Interactive prompt......: enabled
Menu timeout............: 15 seconds
Default configuration...: 'linux'
Syncing disks...
Done.

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

ルートファイルシステムの一部でない DASD、すなわち データディスク/etc/dasd.conf 内で永続的に設定されています。このファイルでは各行に 1 つの DASD が含まれています。各行は DASD のデバイスバス ID で始まります。オプションとして各行は、空白またはタブ文字区切りでオプションを続けられます。オプションは、キーと値がイコール記号 (=) で分けられたキー値ペアで構成されています。
このキーは、DASD にある可能性のある有効な sysfs 属性に対応しています。値はキーの sysfs 属性に書き込まれます。/etc/dasd.conf 内のエントリーは、DASD がシステムに追加された際にアクティベートされ設定されます。ブート時にはシステムから見えるすべての DASD が追加されて udev を開始します。
/etc/dasd.conf のコンテンツの例
0.0.0207
0.0.0200 use_diag=1 readonly=1
/etc/dasd.conf の変更は、システムの再起動後か、システムの I/O 設定を変更して新規の DASD を動的に追加 (つまり、DASD を z/VM 下で接続) した後でのみ反映されます。別の方法では、以下のコマンドを実行することで、アクティブではなかった DASD 用に /etc/dasd.conf 内の新規のエントリーをアクティベートできます。
  1. cio_ignore ユーティリティーを使用して DASD を無視されるデバイスの一覧から削除して、それを Linux から見えるようにします。
    # cio_ignore -r device_number
    以下に例を示します。
    # cio_ignore -r 021a
  2. デバイスの uevent 属性を書き込むことでアクティベートします。
    # echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
    以下に例を示します。
    # echo add > /sys/bus/ccw/devices/0.0.021a/uevent