3.7.4 HDLMデバイスをブートディスクとして使用している環境でのアップグレードインストール

HDLMデバイスを使ったマルチパス構成のブートディスクの環境に,HDLMをアップグレードインストールして環境を設定する方法について説明します。

設定を誤ると,OSが起動できなくなることがあるので,注意してください。HDLMデバイスからのOSの起動に失敗した場合の対処については,「3.7.7 HDLMデバイスからのOSの起動に失敗した場合の対処」を参照してください。

この手順で使用するブートローダの設定ファイル名は,ブートローダまたはOSによって異なります。ブートローダの設定ファイル名を次の表に示します。

表3-69 ブートローダの設定ファイル名

ブートローダ設定ファイル名
GRUBRed Hat Enterprise Linuxの場合/etc/grub.conf
SUSE LINUX Enterprise Serverの場合/boot/grub/menu.lst
LILO/etc/lilo.conf
ELILO/etc/elilo.conf
  1. Linuxに,root権限を持つユーザでログインします。
  2. /etc/fstabファイルの定義にHDLMデバイスが指定されていることを確認します。
    次に示すHDLM管理対象デバイスのマウントポイントが,HDLMデバイスをマウントする定義になっていることを確認します。
    • ブートローダとしてELILOを使用している場合
      ルートディレクトリ「/」,/boot/efi/tmp/usr/varswap
    • ブートローダとしてGRUBを使用している場合
      ルートディレクトリ「/」,/boot/tmp/usr/varswap
    • ブートローダとしてLILOを使用している場合
      ルートディレクトリ「/」,/tmp/usr/varswap
    /etc/fstabファイルの例を次に示します。

                               :
                               :
    /dev/sddlmaa2   /     ext2    defaults       1 1
                               :
                               :
    /dev/sddlmaa4   /tmp  ext2    defaults       1 2
                               :
                               :

  3. HDLM構成定義ユティリティ(dlmcfgmgr)に-vパラメタを指定して実行して,HDLMデバイスとSCSIデバイスの対応関係を確認します。

    # dlmcfgmgr -v
    HDevName      Management  Device    Host    Channel Target  Lun
    /dev/sddlmaa  configured  /dev/sda     0          0      0    0
    KAPL10302-I /sbin/dlmcfgmgr completed normally.

    HDevName列はHDLMデバイス,Device列はSCSIデバイスを表します。
  4. /etc/fstabファイルを編集します。
    手順2で確認したHDLM管理対象デバイスのマウントポイントを,HDLMデバイスからSCSIデバイスに書き換えます。既存のHDLMデバイス指定は先頭に#を付けてコメントアウトして,手順3で確認したHDLMデバイスとSCSIデバイスの対応関係を基に,次のようにSCSIデバイス指定を追加します。

                               :
                               :
    #/dev/sddlmaa2   /     ext2    defaults       1 1
    /dev/sda2        /     ext2    defaults       1 1
                               :
                               :
    #/dev/sddlmaa4   /tmp  ext2    defaults       1 2
    /dev/sda4        /tmp  ext2    defaults       1 2
                               :
                               :

  5. HDLMデバイスからの起動に使用していた,ブートローダの設定ファイルに記載されている設定をコピーします。
    設定の内容例を,次に示します。なお,内容例の「オプション」は,ユーザ環境に応じた任意指定のオプションを表します。
    • Xen対応のカーネルで,ブートローダとしてGRUBを使用している場合
      Xen対応のカーネルは,「表3-61 HDLMがサポートするXenハイパーバイザの動作環境」を参照してください。

             :
             :
      title XEN
         root (hd0,1)
         kernel /boot/xen.gz
         module /boot/vmlinuz-2.6.16.60-0.21-xen vga=0x31a splash=silent showopts
         module /boot/initrd-2.6.16.60-0.21-xen.hdlm

    • Xen非対応のカーネルで,ブートローダとしてGRUBを使用している場合
      HDLMでサポートしているカーネルは,「3.1.1 HDLMがサポートするホストとOS」を参照してください。

             :
             :
      title Red Hat Enterprise Linux (2.6.18-194.el5)
         root (hd0,0)
         kernel /vmlinuz-2.6.18-194.el5 ro オプション ramdisk_size=18958 オプション
         initrd /initrd-hdlm-2.6.18-194.el5.gz

    • ブートローダとしてLILOまたはELILOを使用している場合

             :
             :
      image=/boot/vmlinuz-2.6.18-194.el5
           label=HDLM_194.EL
           initrd=/boot/initrd-hdlm-2.6.18-194.el5.gz
           read-only
           append="オプション ramdisk_size=18958 オプション"

  6. ブートローダの設定ファイルに記載されている設定の名前を変更します。
    手順5でコピーした設定の名前を変更してください。SCSIデバイス指定用だとわかるような名前を任意に付けます。
    • ブートローダとしてGRUBを使用している場合
      次の下線部を変更します。
      変更前

      title  Red Hat Enterprise Linux (2.6.18-194.el5)

      変更後

      title  sd-Red Hat Enterprise Linux (2.6.18-194.el5)

    • ブートローダとしてLILOまたはELILOを使用している場合
      次の下線部を変更します。
      変更前

      label= HDLM_194.EL

      変更後

      label= sd-HDLM_194.EL

  7. 手順3で確認したSCSIデバイスをブートローダの設定ファイルのrootに指定します。
    手順5でコピーした設定のrootの指定を変更してください。
    • ブートローダとしてGRUBを使用している場合
      kernelの行に「root=SCSIデバイス」を追加してください。

      :
      :
      title Red Hat Enterprise Linux (2.6.18-194.el5)
      root (hd0,0)
      kernel /vmlinuz-2.6.18-194.el5 ro  オプション  ramdisk_size=18958  root=/dev/sda2   オプション

    • ブートローダとしてLILOまたはELILOを使用している場合
      設定の最後の行に「root=SCSIデバイス」を追加してください。
  8. Red Hat Enterprise Linux 6の場合は,/etc/opt/DynamicLinkManager/hdlm.confに定義されている「hdlm_dracut」の記述を確認します。
    hdlm_dracut=y」の記述があるときは,「hdlm_dracut=n」に変更します。
    hdlm_dracut=y」の記述がないときは,手順9に進んでください。
  9. SCSIデバイス用の初期RAMディスクイメージファイルをブートローダの設定ファイルのinitrdに指定します。
    手順5でコピーした設定のinitrdの指定を変更してください。Xen対応のカーネルを使用している場合は,moduleで指定されたinitrdファイル名をSCSIデバイス用の初期RAMディスクイメージファイルに変更してください。Xen対応のカーネルは,「表3-61 HDLMがサポートするXenハイパーバイザの動作環境」を参照してください。
    また,ユーザ環境に応じた任意指定のオプションが設定されている場合,オプションを削除しないように注意してください。
    SCSIデバイス用の初期RAMディスクイメージファイルは,OSのmkinitrdコマンドまたはdracutコマンドのマニュアルを参考に作成してください。
  10. ブートローダの設定ファイルを編集して,起動時に使用する設定を指定します。
    • ブートローダとしてGRUBを使用している場合
      手順5でコピーした設定で起動できるように,defaultの数字を変更します。

      default= 2

    • ブートローダとしてLILOまたはELILOを使用している場合
      defaultlabelを記述します。

      default  sd-HDLM_194.EL

  11. ブートローダとしてLILOを使用している場合は,/sbin/liloコマンドを実行して,変更を有効にします。
  12. ホストを停止します。
    次に示すコマンドを実行して,ホストを停止します。

    # shutdown -h now

  13. マルチパス構成をシングルパス構成に変更します。
  14. ホストを起動します。
  15. mountコマンドを実行して,SCSIデバイスがマウントされていることを確認します。
    ブートローダとしてGRUBを使用している場合の実行例を次に示します。

    # mount
    /dev/sda2 on / type ext2 (rw)
                 :
                 :
    /dev/sda1 on /boot type ext2 (rw)
    /dev/sda4 on /tmp type ext2 (rw)
    /dev/sda5 on /var type ext2 (rw)
    /dev/sda6 on /usr type ext2 (rw)
    none on /dev/shm type tmpfs (rw)

    下線部を確認してください。
  16. Red Hat Enterprise Linux,またはSUSE LINUX Enterprise Serverを使用している場合は,swapパーティションにSCSIデバイスが割り当てられていることを確認します。
    /proc/swapsファイルを参照して,Filename列の部分に指定したSCSIデバイス名が表示されていることを確認してください。
  17. HDLMをアップグレードインストールします。
    3.6.6 HDLMのアップグレードインストール」を参照して手順2,および手順4から手順13,および手順14(ホストを再起動する場合だけ実行)を実行し,HDLMデバイスを作成してください。インストール後にホストを再起動する場合と再起動しない場合とで,手順が異なりますので注意してください。
  18. dlmcfgmgrユティリティに-vパラメタを指定して実行して,SCSIデバイスとHDLMデバイスの対応関係を確認します。

    # dlmcfgmgr -v
    HDevName      Management  Device    Host    Channel Target  Lun
    /dev/sddlmaa  configured  /dev/sda     0          0      0    0
    KAPL10302-I /sbin/dlmcfgmgr completed normally.

    HDevName列はHDLMデバイス,Device列はSCSIデバイスを表します。
  19. HDLM用の初期RAMディスクイメージファイルを作成します。
    ホストのOSに応じて,次の手順を実行してください。
    • Red Hat Enterprise Linux 6の場合
      1. /etc/opt/DynamicLinkManager/hdlm.confに定義されている「hdlm_dracut=n」の記述を,「hdlm_dracut=y」に変更します。
      2. dracutコマンドを実行します。
        作成する初期RAMディスクイメージファイルがすでにある場合,初期RAMディスクイメージファイルを上書きするために,-fパラメタを指定してください。
        コマンドの実行例を次に示します。

        # /sbin/dracut /boot/initramfs-hdlm-2.6.32-71.el6.i686.img `uname -r`

    • 上記以外のOSの場合
      ブートディスクサポートユティリティ(dlmmkinitrd)を実行します。
      作成する初期RAMディスクイメージファイルがすでにある場合,Red Hat Enterprise Linux AS4/ES4またはRed Hat Enterprise Linux 5を使用しているときは,初期RAMディスクイメージファイルを上書きするために,-fパラメタを指定してください。SUSE LINUX Enterprise Serverを使用しているときは,パラメタを指定しなくても,初期RAMディスクイメージファイルが上書きされます。
      dlmmkinitrdユティリティについては,「7.5 dlmmkinitrd ブートディスクサポートユティリティ」を参照してください。
  20. 初期RAMディスクイメージファイルを作成したときにファイルを上書きしていない場合は,不要になった既存の初期RAMディスクイメージファイルを削除します。
  21. HDLMデバイスからの起動に使用していた,ブートローダの設定ファイルに記載されている設定をコピーします。
  22. ブートローダの設定ファイルに記載されている設定の名前を変更します。
    手順21でコピーした設定の名前を変更してください。更新後のHDLMデバイス指定用だとわかるような名前を任意に付けます。
    • ブートローダとしてGRUBを使用している場合
      次の下線部を変更します。
      変更前

      title sd-Red Hat Enterprise Linux (2.6.18-194.el5)

      変更後

      title HDLM-Red Hat Enterprise Linux (2.6.18-194.el5)

    • ブートローダとしてLILOまたはELILOを使用している場合
      次の下線部を変更します。
      変更前

      label=sd-HDLM_194.EL

      変更後

      label=HDLM-HDLM_194.EL

  23. ブートローダの設定ファイルに記載されているrootの指定を編集します。
    ホストのOSに応じて,次の手順を実行してください。
    • Red Hat Enterprise Linux 6の場合
      次の手順を実行して,rootにルートデバイスのUUIDを指定します。
      1. mountコマンドを実行して,ルートパーティション「/」にマウントされたデバイス名を確認します。
        コマンドの実行例を次に示します。

        # mount
        /dev/sda2 on / type ext4 (rw)
        proc on /proc type proc (rw)
             :
             :

        下線部のデバイス名を確認してください。
      2. blkidコマンドを指定して,先の手順で確認したデバイスのUUIDを確認します。
        コマンドの実行例を次に示します。

        # blkid /dev/sda2
        /dev/sda2: UUID="19597725-5d20-4d1d-9906-f9f891b7711a" TYPE="ext4"
        #

      3. 手順21でコピーした設定のrootの指定を,先の手順で確認したUUIDに変更します。

        root=UUID=19597725-5d20-4d1d-9906-f9f891b7711a

    • 上記以外のOSの場合
      手順21でコピーした設定のrootの指定を削除してください。Xen対応のカーネルを使用している場合は,moduleで指定されたrootデバイスの記述を削除してください。Xen対応のカーネルは,「表3-61 HDLMがサポートするXenハイパーバイザの動作環境」を参照してください。
  24. 手順19で作成した初期RAMディスクイメージファイルをブートローダの設定ファイルに記載されているinitrdに指定します。
    手順21でコピーした設定のinitrdの指定を変更してください。Xen対応のカーネルを使用している場合は,moduleで指定されたinitrdファイル名を手順19で作成した初期RAMディスクイメージファイルに変更してください。Xen対応のカーネルは,「表3-61 HDLMがサポートするXenハイパーバイザの動作環境」を参照してください。
    initrdはブートローダによって指定の方法が異なるので注意してください。
    また,ユーザ環境に応じた任意指定のオプションが設定されている場合,オプションを削除しないように注意してください。
  25. ブートローダの設定ファイルを編集して,起動時に使用する設定を指定します。
    • ブートローダとしてGRUBを使用している場合
      手順21でコピーした設定で起動できるように,defaultの数字を変更します。

      default= 3

    • ブートローダとしてLILOまたはELILOを使用している場合
      defaultlabelを記述します。

      default  HDLM-HDLM_194.EL

  26. ブートローダとしてLILOを使用している場合は,/sbin/liloコマンドを実行して,変更を有効にします。
  27. /etc/fstabファイルを編集します。
    次に示すHDLM管理対象デバイスのマウントポイントを,SCSIデバイスからHDLMデバイスに書き換えます。
    • ブートローダとしてELILOを使用している場合
      ルートディレクトリ「/」,/boot/efi/tmp/usr/varswap
    • ブートローダとしてGRUBを使用している場合
      ルートディレクトリ「/」,/boot/tmp/usr/varswap
    • ブートローダとしてLILOを使用している場合
      ルートディレクトリ「/」,/tmp/usr/varswap
    既存のSCSIデバイス指定は先頭に#を付けてコメントアウトして,手順18で確認したSCSIデバイスとHDLMデバイスの対応関係を基に,次のようにHDLMデバイス指定を追加します。

                               :
                               :
    #/dev/sddlmaa2  /     ext2    defaults       1 1
    #/dev/sda2      /     ext2    defaults       1 1
    /dev/sddlmaa2   /     ext2    defaults       1 1
                               :
                               :
    #/dev/sddlmaa4  /tmp  ext2    defaults       1 2
    #/dev/sda4      /tmp  ext2    defaults       1 2
    /dev/sddlmaa4   /tmp  ext2    defaults       1 2
                               :
                               :

  28. ホストを停止します。
    次に示すコマンドを実行してホストを停止します。

    # shutdown -h now

  29. シングルパス構成からマルチパス構成に変更します。
  30. ホストを起動します。
  31. mountコマンドを実行して,HDLMデバイスがマウントされていることを確認します。
    ブートローダとしてGRUBを使用している場合の実行例を次に示します。

    # mount
    /dev/sddlmaa2 on / type ext2 (rw)
                 :
                 :
    /dev/sddlmaa1 on /boot type ext2 (rw)
    /dev/sddlmaa4 on /tmp type ext2 (rw)
    /dev/sddlmaa5 on /var type ext2 (rw)
    /dev/sddlmaa6 on /usr type ext2 (rw)
    none on /dev/shm type tmpfs (rw)

    下線部を確認してください。
  32. Red Hat Enterprise Linux,またはSUSE LINUX Enterprise Serverを使用している場合は,swapパーティションにHDLMデバイスが割り当てられていることを確認します。
    /proc/swapsファイルを参照して,Filename列の部分にHDLMデバイス名が表示されていることを確認してください。