第20章 IBM Z インスタンスでのインストール済み Linux の設定
IBM Z 上の Linux に関する詳細情報は、22章IBM Z に関する参考文献に一覧表示されている資料を参照してください。一般的なタスクの一部がここで説明されています。
20.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』を参照してください。
20.1.1. DASD のオンラインでの動的な設定
DASD をオンラインで設定するには、次の手順に従います。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から DASD を削除し、Linux から見えるようにします。
# cio_ignore -r device_number
device_number は DASD のデバイス番号で置き換えます。以下に例を示します。# cio_ignore -r 4b2e
- デバイスをオンラインに設定します。コマンドを次の形式で使用します。
# chccwdev -e device_number
device_number は DASD のデバイス番号で置き換えます。以下に例を示します。# chccwdev -e 4b2e
または、sysfs 属性を使用してデバイスをオンラインに設定できます。- 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 - デバイスがすでにオンラインになっているかを確認します。
#
cat online 0 - オンラインになっていない場合は、次のコマンドを実行してオンラインにします。
#
echo 1 > online#
cat online 1
- どのブロック 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/
の下にある永続的なデバイスのシンボリックリンクを使用します。ストレージデバイスを連続的に参照する別の方法については、『Red Hat Enterprise Linux 7 ストレージ管理ガイド』の永続ストレージデバイスの命名についての章を参照してください。
20.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 環境下の他のディスクと同様に使用できます。たとえば、
/dev/disk/by-path/ccw-0.0.4b2e-part1
などのパーティションにファイルシステム、LVM 物理ボリューム、またはスワップ領域を作成できます。dasdfmt コマンドおよび fdasd コマンド以外には、絶対に DASD デバイス全体(dev/dasdb
)を使用しないでください。DASD 全体を使用する場合は、上記の fdasd
の例のように、ドライブ全体にまたがるパーティションを 1 つ作成します。
たとえば、
/etc/fstab
の既存のディスクエントリーを破損せずにディスクを後で追加するには、/dev/disk/by-path/
の下にある永続的なデバイスのシンボリックリンクを使用します。
20.1.3. DASD のオンラインでの永続的な設定
上記の手順では、実行中のシステムで DASD を動的にアクティベートする手順を説明しています。しかし、そのような変更は永続的ではなく再起動後には維持されません。Linux システム内で DASD 設定の変更を永続的にするには、DASD がルートファイルシステムに属するかどうかによります。root ファイルシステムに必要な DASD は、ブートプロセスの初期段階で
initramfs
でアクティベートして、root ファイルシステムをマウントできるようにする必要があります。
cio_ignore コマンドは、永続的なデバイス設定に対して透過的に処理されるため、無視リストからデバイスを手動で解放する必要はありません。
20.1.3.1. ルートファイルシステムの一部である DASD
ルートファイルシステムの一部である DASD を追加するために必要な唯一のファイルは
/etc/zipl.conf
です。次に、zipl ブートローダーツールを実行します。initramfs
を再作成する必要はありません。
起動プロセスの早い段階で DASD をアクティベートする起動オプションである
rd.dasd=
があります。このオプションは、DASD (Direct Access Storage Device) アダプターデバイスバス識別子を取ります。複数の DASD の場合は、パラメーターを複数回指定するか、バス ID のコンマ区切りリストを使用します。DASD の範囲を指定するには、最初と最後のバス ID を指定します。
以下は、LVM ボリュームグループ
vg_devel1
用に 2 つの DASD のパーティションにある物理ボリュームを使用するシステム用の zipl.conf
の例です。これには、root ファイルシステムの論理ボリューム 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.202b
を zipl.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.
20.1.3.2. ルートファイルシステムの一部ではない DASD
ルートファイルシステムの一部ではない DASD ( データディスク )は、
/etc/dasd.conf
ファイルで永続的に設定されます。このファイルでは各行に 1 つの DASD が含まれています。各行は DASD のデバイスバス ID で始まります。オプションとして各行は、空白またはタブ文字区切りでオプションを続けられます。オプションは、キーと値が等号 (=) で分けられたキーと値ペアで設定されています。
このキーは、DASD が持つことができる有効な
sysfs
属性に対応します。値はキーの sysfs
属性に書き込まれます。DASD がシステムに追加されると、/etc/dasd.conf
内のエントリーが udev によってアクティベートされ、設定されます。起動時に、システムに表示されるすべての 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 の下に接続)しないと有効になりません。または、/etc/dasd.conf
で、アクティブでなかった DASD に対して、以下のコマンドを実行して、新しいエントリーをアクティベートできます。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から DASD を削除し、Linux から見えるようにします。
#
cio_ignore -r device_number以下に例を示します。#
cio_ignore -r 021a - デバイスの
uevent
属性に書き込むことにより、アクティベーションをトリガーします。#
echo add > /sys/bus/ccw/devices/device-bus-ID/uevent以下に例を示します。#
echo add > /sys/bus/ccw/devices/0.0.021a/uevent