Menu Close

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
    
    上記の例では、device 0102( Bus-ID 列の 0.0.0102 )が /dev/dasdf としてアクセスされています。
上記の手順に従っていると、新しい DASD が現行セッションにのみ割り当てられます。つまり、システムを再起動しても DASD は接続されません。ストレージデバイスを永続的に割り当てる方法は、「DASD のオンラインへの永続的な設定」 を参照してください。
また、「 『Linux on System z Device Drivers, Features, and Commands on Red Hat Enterprise Linux 6』 」の「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 を再生成して、次回の再起動後に変更を有効にします。以下の手順では、実行する必要のある手順を説明します。

手順25.2 root デバイスとしての 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= オプションがあることに注意してください。同じ構文を使用して、新しい DASD をこの行に追加する必要があります。rd_DASD= キーワードの後にデバイス ID とオプションのコンマ区切りの一覧を指定します。詳細は、『Red Hat Enterprise Linux 6 の Linux の DASD デバイスドライバー、機能、およびコマンドの 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 の物理ボリュームを作成し、既存のボリュームグループを展開し、root 論理ボリュームをそれぞれ拡張します。詳しくは、「既存の 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 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 の準備

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 オプションを使用して、ディスク全体にまたがる単一のパーティションを作成します。その他のレイアウトは可能で、1 つの DASD に最大 3 つのパーティションを作成できます。fdasd コマンドの構文と利用可能なオプションは、man ページの fdasd(8) を参照してください。
  3. fdisk で新しいパーティションを作成します。DeviceName を、DASD のデバイス名に置き換えます。
    # fdisk /dev/DeviceName
    -16 を実行 する と、一連のプロンプトがターミナルに表示されます。このプロンプトを使用して、ディスクのパーティションテーブルの操作、新しいパーティションの作成、または既存パーティションの編集を行うことができます。CIFS の使用方法は、 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 が含まれます。root として pvs コマンド、vgs コマンド、および lvs コマンドを使用して、既存の LVM 物理ボリューム、ボリュームグループ、および論理ボリュームをどの時点でも表示できます。