第25章 インストール済みの Linux on System z インスタンスの設定
25.1. DASD の追加
注記
CP ATTACH EB1C TO *
CP LINK RHEL6X 4B2E 4B2E MR
DASD 4B2E LINKED R/W
25.1.1. DASD の動的なオンライン設定
手順25.1 VMCP ドライバーを使って DASD ディスクを IBM System z に追加する
VMCP
ドライバーを有効にします。#
modprobe vmcp
cio_ignore
コマンドを使って DASD を無視するデバイス一覧から削除し、Linux 側で表示されるようにします。#
cio_ignore -r DeviceNumber
DeviceNumber には DASD のデバイス番号を入れます。 例を次に示します。#
cio_ignore -r 0102
- ディスクと仮想マシンをリンクします。
#
vmcp 'link * DeviceNumber DeviceNumber rw'
DeviceNumber には DASD のデバイス番号を入力します。 - デバイスをオンラインで設定します。コマンドを以下の形式で使用します。
#
# chccwdev -e DeviceNumber
DeviceNumber には DASD のデバイス番号を入力します。 lsdasd
コマンドを使ってディスクの準備が整っているか確認します。#
lsdasd
Bus-ID Status Name Device Type BlkSz Size Blocks ============================================================================== 0.0.0100 active dasda 94:0 ECKD 4096 2347MB 600840 0.0.0301 active dasdb 94:4 FBA 512 512MB 1048576 0.0.0300 active dasdc 94:8 FBA 512 256MB 524288 0.0.0101 active dasdd 94:12 ECKD 4096 2347MB 600840 0.0.0200 active dasde 94:16 ECKD 4096 781MB 200160 0.0.0102 active dasdf 94:20 ECKD 4096 2347MB 600840上記の例では、デバイス 0102 (Bus-ID
コラム内に表示されている0.0.0102
) は/dev/dasdf
としてアクセスされています。
25.1.2. DASD の永続的なオンライン設定
/
) ファイルシステムの一部を構成しているかどうかにより方法が異なってきます。root ファイルシステムで必要とされる DASD の場合はinitramfs
を使って起動プロセスの初期段階でアクティブにし、 root ファイルシステムをマウントできるようにしておかなければなりません。root ファイルシステムとは関係ない DASD は設定のプロセスを簡略化するため起動プロセス後半に行っても構いません。
cio_ignore
) の一覧は永続デバイス設定に対して透過的に処理されます。無視するデバイス一覧内のデバイスを手作業で解放する必要はありません。
25.1.2.1. root ファイルシステムの一部を構成する DASD
initramfs
を再生成する必要があります。以下に必要となる手順を示します。
手順25.2 root デバイスとして DASD を永続的に接続する
- Vim などのプレーンなテキストエディターを使って
/etc/dasd.conf
設定ファイルを編集し、DASD の設定を表す行をファイルに追加します。以前、設定したデバイスを表すファイルの一部を利用しても構いません。有効な構成を表す行の例を以下に示します。0.0.0102 use_diag=0 readonly=0 erplog=0 failfast=0
/etc/zipl.conf
設定ファイルを編集します。zipl.conf
ファイルの例を以下に示します。[defaultboot] default=linux target=/boot/ [linux] image=/boot/vmlinuz-2.6.32-19.el6.s390x ramdisk=/boot/initramfs-2.6.32-19.el6.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,!0.0.0009"
parameters=
行にある複数のrd_DASD=
オプションに注目してください。新しい DASD は同じ構文を使ってこの行に追加する必要があります (rd_DASD=
のキーワードの後にデバイス IDを入れ、コンマで区切ってオプション一覧を続けます)。詳細は 『Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6』 の DASD デバイスドライバーの章に記載されているdasd=
パラメーターの説明をご覧ください。- 次に
initrd
を再構築します。#
mkinitrd -f /boot/initramfs-2.6.32-71.el6.s390x.img `uname -r`
zipl
コマンドでブートローダー設定を再構築します。詳細を出力させる場合は-V
オプションを使用します。#
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.el6.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_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,!0.0.0009' initial ramdisk...: /boot/initramfs-2.6.32-19.el6.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.
pvcreate
、vgextend
、lvextend
のコマンドを使って LVM の物理ボリュームを作成、既存のボリュームグループを拡張してから root 論理ボリュームを拡張するという手順で行います。詳細は 「新しいストレージデバイスを含ませるため既存の LVM ボリュームを拡張する」 を参照してください。
25.1.3. root ファイルシステムの一部を構成しない DASD
/etc/dasd.conf
内で永続的に設定されています。このファイルでは各行に 1 つの DASD が含まれています。各行は DASD のデバイスバス ID で始まります。オプションとして各行は、空白またはタブ文字区切りでオプションを続けられます。オプションは、キーと値がイコール記号 (=) で分けられたキー値ペアで構成されています。
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
内の新規のエントリーをアクティベートできます。
手順25.3 root デバイスとは関係ない DASD を永続的に接続する
- デバイスの
uevent
属性を書き込むことでアクティベートします。echo add > /sys/bus/ccw/devices/device.bus,ID/uevent
例を示します。echo add > /sys/bus/ccw/devices/0.0.021a/uevent
25.1.4. ローレベルフォーマットによる新規 DASD の準備
警告
手順25.4 DASD のフォーマット化
dasdfmt
コマンドで DASD 上にあるデータをすべて消去します。DeviceNumber には DASD のデバイス番号を入れてください。確認のプロンプトが表示されたら (以下参照)、yes
と入力して先に進みます。#
dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.DeviceNumber
Drive Geometry: 10017 Cylinders * 15 Heads = 150255 Tracks I am going to format the device /dev/disk/by-path/ccw-0.0.0102 in the following way: Device number of device : 0x4b2e Labelling device : yes Disk label : VOL1 Disk identifier : 0X0102 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...
dasdfmt
コマンドの構文についてはdasdfmt(8)
の man ページを参照してください。fdasd
コマンドを使って Linux 互換の新しいパーティションテーブルを DASD に書き込みます。DeviceNumber には DASD のデバイス番号を入力してください。#
fdasd -a /dev/disk/by-path/ccw-DeviceNumber
auto-creating one partition for the whole disk... writing volume label... writing VTOC... checking ! wrote NATIVE! rereading partition table...上記の例ではディスク全体を占めるパーティションをひとつ作成するため-a
オプションを使用しています。1 つの DASD 上に最大 3 つのパーティションまで作成することができます。fdasd
コマンドの構文および使用できるオプションについてはfdasd(8)
の man ページを参照してください。fdisk
で新しいパーティションを作成します。DeviceName には DASD のデバイス名を入力してください。#
fdisk /dev/DeviceName
fdisk
を実行すると、ターミナルに一連のプロンプトが表示されます。プロンプトを使ってディスクパーティションテーブルを操作し、新しいパーティションを作成したり既存のパーティションを編集したりすることができます。fdisk
の使い方についてはfdisk(8)
の man ページを参照してください。
/dev/disk/by-path/ccw-0.0.4b2e-part1
)。dasdfmt
コマンドおよび fdasd
コマンド以外では、絶対に DASD デバイス全体 (dev/dasdb) を使用しないでください。DASD 全体を使用する場合は、上述の fdasd
の例で示すようにドライブ全体にまたがるパーティションを 1 つ作成します。
注記
/etc/fstab
の既存のディスクエントリーの構成を壊さずに新しいディスクを後で追加するには、/dev/disk/by-path/
配下で永続的なデバイスシンボリックリンクを使用します。
25.1.5. 新しいストレージデバイスを含ませるため既存の LVM ボリュームを拡張する
手順25.5 新しい DASD を使用させるため既存の論理ボリュームを拡張する
pvcreate
コマンドを使って DASD 上に LVM 用の新しい物理ボリュームを作成します。#
pvcreate /dev/DeviceName
重要
/dev/dasdf1
など、パーティション としてデバイス名を必ず指定します。ブロックデバイス全体を指定しないよう注意してください。pvs
コマンドを使って既存の物理ボリュームを表示させ物理ボリュームが実際に作成されたか確認します。#
pvs
PV VG Fmt Attr PSize PFree /dev/dasda2 vg_local lvm2 a-- 1,29g 0 /dev/dasdd1 vg_local lvm2 a-- 2,29g 0 /dev/dasdf1 lvm2 a-- 2,29g 2,29g /dev/mapper/mpathb vgextnotshared lvm2 a-- 200,00g 1020,00m上記の例では/dev/dasdf1
に空の物理ボリュームが格納され、いずれのボリュームグループにも割り当てられていないことがわかります。- 新しい DASD を使用させたいボリュームを格納している既存ボリュームグループを
vgextend
コマンドを使って拡張します。#
vgextend VolumeGroup PhysicalVolume
VolumeGroup には拡張しようとしているボリュームグループ名を入れ、PhysicalVolume には物理ボリューム名を入れます (/dev/dasdf1
など)。 - 新しい DASD を使用させたい論理ボリュームを拡張するため
lvextend
コマンドを使用します。#
lvextend -L +Size /dev/mapper/VolumeGroup-LogicalVolume
例を示します。#
lvextend -L +2G /dev/mapper/vg_local-lv_root
Extending logical volume lv_root to 2,58 GiB Logical volume lv_root successfully resized
pvs
や vgs
、lvs
などのコマンドを root
で使用すると、上記手順の途中いずれの段階でも LVM の物理ボリューム、ボリュームグループ、論理ボリュームを表示させることができます。