第25章 System z インスタンスでのインストール済み Linux の設定
System z 上の Linux の詳細は、27章IBM System z のリファレンス に記載されているパブリケーションを参照してください。一般的なタスクの一部がここで説明されています。
25.1. DASD の追加
本セクションでは、DASD ( Direct Access Storage Device )をオンラインに設定し、フォーマットする方法と、システムを永続的に接続して、再起動後に自動的に利用できるようにする方法を説明します。
注記
z/VM 環境下で実行する場合は、デバイスが Linux システムに接続またはリンクされていることを確認してください。
CP ATTACH EB1C TO *
アクセス可能なミニディスクをリンクするには、以下のようなコマンドを実行します。
CP LINK RHEL6X 4B2E 4B2E MR
DASD 4B2E LINKED R/W
これらのコマンドの詳細は、『z/VM: CP Commands and Utilities Reference, SC24-6175』 を参照してください。
25.1.1. DASD のオンラインでの動的な設定
以下の手順では、(永続的ではなく)DASD を動的にオンライン化する方法を説明します。これは、新しい DASD を設定する際の最初の手順です。後の手順で、永続的に利用可能にする方法を説明します。
手順25.1 VMCP ドライバーを使用した IBM System z への DASD ディスクの追加
VMCP
ドライバーを有効にします。#
modprobe vmcp- cio_ignore コマンドを使用して、無視するデバイスの一覧から DASD を削除して、Linux から見えるようにします。
#
cio_ignore -r DeviceNumberDeviceNumber を DASD のデバイス番号に置き換えます。以下に例を示します。#
cio_ignore -r 0102 - ディスクを仮想マシンにリンクします。
#
vmcp 'link * DeviceNumber DeviceNumber rw'DeviceNumber を DASD のデバイス番号に置き換えます。 - デバイスをオンラインに設定します。コマンドを次の形式で使用します。
#
# chccwdev -e DeviceNumberDeviceNumber を 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
としてアクセスされています。
上記の手順に従うと、新しい DASD が現行セッションに対してのみ割り当てられます。つまり、システムの再起動後に DASD は接続されません。ストレージデバイスを永続的に接続する方法は、「DASD のオンラインへの永続的な設定」 を参照してください。
詳細は、『Red Hat Enterprise Linux 6 の Linux on System z Device Drivers, Features, and Commands』 の DASD の章を参照してください。
25.1.2. DASD のオンラインへの永続的な設定
「DASD のオンラインでの動的な設定」 の手順では、実行中のシステムで DASD を動的にアクティブにする方法を説明します。このような変更は永続的ではありません。システムの再起動後に DASD は接続されません。本セクションで説明している手順では、DASD がすでに動的に割り当てられていることを前提としています。
Linux システムで DASD 設定の変更を永続化する方法は、DASD が root (
/
)ファイルシステムに属するかどうかによって異なります。root ファイルシステムに必要なこれらの DASD は、ブートプロセスの初期段階で initramfs
でアクティベートして、root ファイルシステムをマウントできるようにする必要があります。ルートファイルシステムの一部ではない DASD は後でアクティベートできるため、設定プロセスが簡素化されます。
無視されるデバイスのリスト(
cio_ignore
)は、永続的なデバイス設定に対して透過的に処理されます。ignore リストからデバイスを手動で解放する必要はありません。
25.1.2.1. ルートファイルシステムの一部である DASD
root ファイルシステムの一部として新しい DASD を割り当てる場合は、zipl ブートローダーの設定を編集してから initramfs を再生成し、次回の再起動後に変更が反映されるように
initramfs
を再生成する必要があります。以下の手順では、必要な手順を説明します。
手順25.2 DASD をルートデバイスとして永続的に接続
- プレーンテキストエディター(例:)を使用して
/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=
オプションがあることに注意してください。同じ構文(rd_DASD=
キーワード、その後にデバイス ID とオプションのコンマ区切りリスト)を使用して、新しい DASD をこの行に追加する必要があります。詳細は、『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.
この手順を完了すると、新しい DASD が永続的に割り当てられ、root ファイルシステムの一部として使用できるようになります。ただし、root ファイルシステムを新しい DASD に拡張する必要があります。root ファイルシステムに LVM 論理ボリュームを使用している場合は、このボリューム(およびそのボリュームを含むボリュームグループ)を新しい DASD に拡張する必要があります。これは、組み込みの pvcreate コマンド、vgextend コマンドおよび lvextend コマンドを使用して LVM の物理ボリュームを作成し、既存のボリュームグループを展開し、それぞれルート論理ボリュームを拡張することで実行できます。詳細は、「既存の LVM ボリュームの新しいストレージデバイスへの拡張」 を参照してください。
25.1.3. ルートファイルシステムの一部ではない DASD
ルートファイルシステムの一部でない DASD、すなわち データディスク は
/etc/dasd.conf
内で永続的に設定されています。このファイルでは各行に 1 つの DASD が含まれています。各行は DASD のデバイスバス ID で始まります。オプションとして各行は、空白またはタブ文字区切りでオプションを続けられます。オプションは、キーと値が等号 (=) で分けられたキーと値ペアで設定されています。
キーは、DASD が持つことができる有効な
sysfs
属性に対応します。値はキーの sysfs
属性に書き込まれます。DASD がシステムに追加されると /etc/zfcp.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 下で接続) した後でしか有効になりません。別の方法では、以下のコマンドを実行することで、アクティブではなかった DASD 用に /etc/dasd.conf
内の新規のエントリーをアクティベートできます。
手順25.3 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 の準備
DASD をオンラインにした後の次のステップは、その 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
オプションを使用して、ディスク全体にまたがる単一のパーティションを作成します。他のレイアウトが可能です。最大 3 つのパーティションを 1 つの DASD に作成できます。fdasd コマンドの構文および利用可能なオプションは、fdasd (8)
man ページを参照してください。 - fdisk を使用して、新しいパーティションを作成します。DeviceName を DASD のデバイス名に置き換えます。
#
fdisk /dev/DeviceNamefdisk を実行すると、一連のプロンプトがターミナルに表示されます。これらのプロンプトを使用して、ディスクパーティションテーブルの操作、新しいパーティションの作成、または既存パーティションの編集を行うことができます。fdisk の使用方法は、fdisk (8)
の man ページを参照してください。
(ローレベルフォーマットを行った) 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/
配下で永続的なデバイスシンボリックリンクを使用します。
25.1.5. 既存の LVM ボリュームの新しいストレージデバイスへの拡張
システムで LVM を使用している場合は、既存のボリュームグループと 1 つ以上の論理ボリュームを拡張して、本章の手順に従って、接続した新しい DASD が含まれるようにする必要があります。そうしないと、DASD がシステムに接続されますが、使用することができません。
以下の手順では、新しい DASD の全容量を使用して、既存の論理ボリュームを拡張する方法を説明します。複数の論理ボリュームに新しい DASD を使用する場合は、このパーティションに複数の LVM 物理ボリュームを作成し、拡張する論理ボリューム(およびボリュームグループ)ごとにこの手順を繰り返します。この手順は、「DASD のオンラインでの動的な設定」 の手順に従って新しい DASD を動的にアタッチし、「ルートファイルシステムの一部である DASD」 の手順を永続的にアタッチし、root ボリュームに使用するように準備し、「低レベルフォーマットによる新規 DASD の準備」 で説明されているようにフォーマット化し、そこに 1 つのパーティションを作成していることを前提としています。
手順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
には、どのボリュームグループにも割り当てられていない空の物理ボリュームが含まれるようになりました。 - vgextend コマンドを使用して、新しい DASD を使用するボリュームを含む既存のボリュームグループを拡張します。
#
vgextend VolumeGroup PhysicalVolumeVolumeGroup を拡張するボリュームグループの名前に置き換え、PhysicalVolume を物理ボリュームの名前(例:/dev/dasdf1
)に置き換えます。 - lvextend コマンドを使用して、新しい DASD を使用する論理ボリュームを拡張します。
#
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
この手順が完了すると、既存の論理ボリュームが拡張され、以前に割り当てられたストレージデバイスに加えて、新しい DASD が含まれます。pvs、vgs、および lvs コマンドを
root
として使用して、既存の LVM 物理ボリューム、ボリュームグループ、および論理ボリュームも表示できます。