Red Hat Training

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

第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 ディスクの追加

  1. VMCP ドライバーを有効にします。
    # modprobe vmcp
  2. cio_ignore コマンドを使用して、無視するデバイスの一覧から DASD を削除して、Linux から見えるようにします。
    # cio_ignore -r DeviceNumber
    DeviceNumber を DASD のデバイス番号に置き換えます。以下に例を示します。
    # cio_ignore -r 0102
  3. ディスクを仮想マシンにリンクします。
    # vmcp 'link * DeviceNumber DeviceNumber rw'
    DeviceNumber を DASD のデバイス番号に置き換えます。
  4. デバイスをオンラインに設定します。コマンドを次の形式で使用します。
    # # chccwdev -e DeviceNumber
    DeviceNumber を DASD のデバイス番号に置き換えます。
  5. 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 をルートデバイスとして永続的に接続

  1. プレーンテキストエディター(例:)を使用して /etc/dasd.conf 設定ファイルを編集し、DASD の設定でこのファイルに行を追加します。以前に設定されたデバイスを参照用に記述するファイルの一部を使用できます。有効な設定行は、以下のようになります。
    0.0.0102 use_diag=0 readonly=0 erplog=0 failfast=0
    
  2. /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= パラメーターの説明を参照してください。
  3. 次の手順では、initrd を再ビルドします。
    # mkinitrd -f /boot/initramfs-2.6.32-71.el6.s390x.img `uname -r`
  4. 次に、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 のフォーマット

  1. 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 ページを参照してください。
  2. 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 ページを参照してください。
  3. fdisk を使用して、新しいパーティションを作成します。DeviceName を DASD のデバイス名に置き換えます。
    # fdisk /dev/DeviceName
    fdisk を実行すると、一連のプロンプトがターミナルに表示されます。これらのプロンプトを使用して、ディスクパーティションテーブルの操作、新しいパーティションの作成、または既存パーティションの編集を行うことができます。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 を使用する

  1. pvcreate コマンドを使用して、DASD に LVM 用の物理ボリュームを新規作成します。
    # pvcreate /dev/DeviceName
    重要
    デバイス名は、パーティション として指定する必要があります(例: /dev/dasdf1 )。ブロックデバイス全体は指定しないでください。
  2. 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 には、どのボリュームグループにも割り当てられていない空の物理ボリュームが含まれるようになりました。
  3. vgextend コマンドを使用して、新しい DASD を使用するボリュームを含む既存のボリュームグループを拡張します。
    # vgextend VolumeGroup PhysicalVolume
    VolumeGroup を拡張するボリュームグループの名前に置き換え、PhysicalVolume を物理ボリュームの名前(例: /dev/dasdf1)に置き換えます。
  4. 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 が含まれます。pvsvgs、および lvs コマンドを root として使用して、既存の LVM 物理ボリューム、ボリュームグループ、および論理ボリュームも表示できます。