Hitachi

Hitachi Dynamic Link Manager ユーザーズガイド(Linux®用)


3.25.11 HDLMのアンインストール

HDLMのアンインストールの手順を次に説明します。

〈この項の構成〉

(1) HDLMのアンインストール

注意事項
  • パスヘルスチェックまたは自動フェルバックが実行されるときにHDLMのアンインストールを実行すると,KAPL04023-Eのメッセージをsyslogに出力する場合があります。しかし,HDLMの動作上の問題はありません。

  • HDLMのアンインストールを実行しても,HDLMのインストール時に作成された障害ログ(/var/tmp/hdlminstlog/installhdlm[01-10].log)はアンインストールされません。そのため,必要に応じて/var/tmp/hdlminstlog/installhdlm[01-10].logファイルを削除してください。

    installhdlm[01-10].logファイルについては,「3.4 HDLMのインストールについての事前知識」を参照してください。

  • Device ManagerエージェントがインストールされているホストからHDLMをアンインストールする場合,アンインストール中に次に示すDevice Managerエージェントのコマンドを実行しないでください。また,次に示すDevice Managerエージェントのコマンドを実行中に,HDLMをアンインストールしないでください。

    hbsasrv,HiScan,hdvmagt_account,hdvmagt_schedule,hldutil,TIC

  1. Linuxに,root権限を持つユーザでログインします。

  2. HDLMの管理対象パスを使用しているプロセス,サービスなどをすべて停止します。

    HDLMの管理対象パスを使用しているDBMS,各種アプリケーションのプロセス,およびサービスを,すべて停止します。

    また,Xenを使用している場合は,あらかじめdomainUを停止してください。domain0を起動すると自動的にdomainUが起動されるよう設定している場合,自動的にdomainUが起動しないよう一時的に設定を変更してください。

  3. HDLMが使用しているマウントポイントを,すべて解除します。

    次に示すコマンドを実行します。

    # umount マウントポイント
  4. rootの環境設定ファイルのPATH環境変数の設定を変更します。

    rootユーザが使用するシェルの環境設定ファイルのPATH環境変数から/opt/DynamicLinkManager/binを削除します。

  5. HDLMデバイスが使用されていないことを確認します。

    次に示すコマンドを実行して,sddlmfdrvUsed0になっていること,またはsddlmfdrvが表示されないことを確認してください。

    # /sbin/lsmod
    Module                  Size  Used by
          :
          :
    sddlmfdrv              254092  0

    sddlmfdrvが表示され,かつUsed0以外の場合は,「3.25.1 HDLM管理対象のデバイスへの操作」を実行したあと,手順2および手順3を再度実行して,HDLMデバイスを使用しないようにしてください。

  6. アンインストールを実行します。

    次に示すコマンドを実行して,アンインストールを開始します。

    # /opt/DynamicLinkManager/remover/removehdlm
  7. アンインストールが完了したかどうか確認します。

    次に示すコマンドを実行して,アンインストールが完了したことを確認します。出力される情報を次に示します。

    # rpm -qi HDLM
    パッケージ HDLM はインストールされていません
  8. 手順2で停止したプロセス,サービスを起動します。

    起動後,クラスタソフトウェアやボリューム管理ソフトウェアが起動します。

    また,手順2でdomainUの設定を自動的に起動しないように変更した場合は,元に戻してください。

(2) ブートディスク環境のシングルパス構成への移行

HDLMデバイスを使ったマルチパス構成のブートディスクの環境からHDLMをアンインストールして,SCSIデバイスを使ったブートディスクの環境に変更する方法を説明します。設定を誤ると,OSが起動できなくなることもあるので,注意してください。

なお,LVM2を用いたブートディスク環境の設定手順を説明します。ここではブートローダにgrubを用いた場合を示します。

  1. Linuxに,root権限を持つユーザでログインします。

  2. ブートディスク環境にLVMが使用されているか確認します。

    mountコマンドを実行して,ルートパーティション「/」にマウントされたデバイス名 を確認します。LVMが使用されている場合は,VG名,LV名からなるデバイス名が表示されます。 コマンドの実行例を次に示します。

    • LVMが使用されている場合

      # mount
      /dev/mapper/vg00-lv00 on / type ext3 (rw)
              :
      #
    • LVMが使用されていない場合

      # mount
      /dev/sddlmaa9 on / type ext3 (rw)
              :
      #
  3. ブートディスク環境にLVMが使用されている場合は,LVM2がHDLMデバイスではなくSCSIデバイスを認識するように,/etc/lvm/lvm.confファイルを編集します。

    HDLMブートディスク環境構築ユティリティdlmbootstart)でブートディスク環境を構築した場合は,ユティリティ実行前に有効だった行に# Backed up by HDLMを付けてコメント化されています。そのため,現在有効な行を無効にして,# Backed up by HDLMの付いた行を有効にしてください。

    付録C.1 マルチパス構成のブートディスク環境の設定」の手順でブートディスク環境を構築した場合の,/etc/lvm/lvm.confファイルの編集例を次に示します。

    • Red Hat Enterprise Linux 9の場合

      変更前

      devices {
                                    :
              global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
              md_component_detection=0
              # md_component_detection=1
                                    :
              # allow_changes_with_duplicate_pvs = 0
              allow_changes_with_duplicate_pvs = 1
                                    :
              # multipath_component_detection=1
              multipath_component_detection=0
                                    :
              # use_devicesfile=1
              use_devicesfile=0
                                    :
      }

      変更後

      devices {
                                    :
              global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
              # global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
              # types = [ "sddlmfdrv", 16 ]
                                    :
              # md_component_detection=0
              md_component_detection=1
                                    :
              allow_changes_with_duplicate_pvs = 0
              # allow_changes_with_duplicate_pvs = 1
                                    :
              multipath_component_detection=1
              # multipath_component_detection=0
                                    :
              use_devicesfile=1
              # use_devicesfile=0
                                    :
      }

      既存のglobal_filterおよびtypesの行をコメントアウトし,下線部を追加します。

      md_component_detectionmultipath_component_detectionuse_devicesfile0に設定した行をコメントアウトし,allow_changes_with_duplicate_pvs1に設定した行をコメントアウトします。

      そのあと,md_component_detectionallow_changes_with_duplicate_pvsmultipath_component_detectionuse_devicesfileはHDLMのデバイスの構成を有効にする前の値を設定している行のコメントを解除して,元に戻します。

    • Red Hat Enterprise Linux 8,Oracle Linux 8,Oracle Unbreakable Enterprise Kernel 8またはSUSE LINUX Enterprise Server 15 SP2以降の場合

      変更前

      devices {
                                    :
              global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
              md_component_detection=0
              # md_component_detection=1
                                    :
              # allow_changes_with_duplicate_pvs = 0
              allow_changes_with_duplicate_pvs = 1
                                    :
      }

      変更後

      devices {
                                    :
              # global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
              global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
              # types = [ "sddlmfdrv", 16 ]
                                    :
              # md_component_detection=0
              md_component_detection=1
                                    :
              allow_changes_with_duplicate_pvs = 0
              # allow_changes_with_duplicate_pvs = 1
                                    :
      }

      既存のglobal_filterおよびtypesの行をコメントアウトし,下線部を追加します。

      md_component_detection0に設定した行をコメントアウトし,allow_changes_with_duplicate_pvs1に設定した行をコメントアウトします。

      そのあと,md_component_detectionallow_changes_with_duplicate_pvsはインストール前の値を設定している行のコメントを解除して,元に戻します。

      なお,Red Hat Enterprise Linux 8.8以降の場合で,multipath_component_detectionの設定を1にしたときは,マルチパス構成ではボリュームグループを活性化する際に物理ボリュームが除外され,ボリュームグループを活性化することができていないことがあるので注意してください。

    • SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15 SP1以前,Red Hat Enterprise Linux 7およびOracle Unbreakable Enterprise Kernel 7の場合

      use_lvmetad=0で運用する場合は,global_filterではなくfilterで指定してください。

      変更前

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {    
                                    :
      
              filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
      
              # write_cache_state = 1
              write_cache_state = 0
                                    :
      
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
      
              md_component_detection=0
              # md_component_detection=1
                                    :
      }

      変更後

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {    
                                    :
      
             # filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
             filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
      
             write_cache_state = 1
             # write_cache_state = 0
                                    :
      
              # types = [ "fd", 16 ]
              # types = [ "sddlmfdrv", 16 ]
                                    :
      
              # md_component_detection=0
              md_component_detection=1
                                    :
      }

      既存のfilterおよびtypesの行をコメントアウトし,下線部を追加します。

      md_component_detectionおよびwrite_cache_state0に設定した行をコメントアウトし,インストール前の値を設定している行のコメントを解除して,元に戻します。

      また,HDLMデバイスの構成を有効にする前に,allow_changes_with_duplicate_pvsの設定を変更している場合は,元の値に戻してください。

      なお,allow_changes_with_duplicate_pvsの設定を0にした場合は,マルチパス構成ではボリュームグループを活性化する際に,物理ボリュームの重複が検知され,ボリュームグループを活性化することができていないことがあるので注意してください。

    • 上記以外のOSの場合

      global_filterが使用できるLVM2のバージョンで,use_lvmetad=1で運用する場合は,filterではなくglobal_filterで指定してください。

      変更前

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {    
                                    :
      
              # filter = [ "a/.*/" ]
                                    :
      
              global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
                                    :
      
              # write_cache_state = 1
              write_cache_state = 0
                                    :
      
              # types = [ "fd", 16 ]
              types = [ "sddlmfdrv", 16 ]
                                    :
      
              md_component_detection=0
              # md_component_detection=1
                                    :     
      }

      変更後

      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {    
                                    :
      
             # filter = [ "a/.*/" ]
                                    :
      
             # global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
             global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
      
             write_cache_state = 1
             # write_cache_state = 0
                                    :
      
             # types = [ "fd", 16 ]
             # types = [ "sddlmfdrv", 16 ]
                                    :
      
             # md_component_detection=0
             md_component_detection=1
                                    :
      }

      既存のglobal_filterおよびtypesの行をコメントアウトし,下線部を追加します。

      md_component_detectionおよびwrite_cache_state0に設定した行をコメントアウトし,インストール前の値を設定している行のコメントを解除して,元に戻します。

    ファイルを編集したあと,次に示すコマンドを実行してください。

    # /sbin/vgscan
  4. /etc/fstabファイルを編集して各マウントポイントにSCSIデバイスがマウントされるように修正するため,blkid {デバイス名}コマンドを指定してLABEL,UUIDを確認します。

    dlmbootstartティリティでHDLMを使用したブートディスク環境を構築した場合は,blkidコマンドによるLABEL,UUIDの確認は不要です。

    コマンドの実行例を次に示します。

    # /sbin/blkid /dev/sddlmaa2
    /dev/sddlmaa2: LABEL="/" UUID="19597725-5d20-4d1d-9906-f9f891b7711a" TYPE="ext2"
    #
    注意事項

    使用する環境によって,blkidにswapのデバイスを指定しても情報が取得できない場合があります。HDLMデバイスのブートディスク環境に移行する際に記録しておいたLABELまたはUUIDを 指定してください。

    LABELまたはUUIDを記録しておかなかった場合は,swapを無効にしてから,LABELを指定してswapを作り直してください。 swap作成後に忘れずに有効にしてください。

    swapを使用した場合の編集例を次に示します。

    # /sbin/swapoff /dev/{HDLMデバイス名}
    # /sbin/mkswap -L {LABEL} {HDLMデバイス名}
    # /sbin/swapon /dev/{HDLMデバイス名}
  5. /etc/fstabファイルをバックアップします。

  6. /etc/fstabファイルを編集します。

    HDLM管理対象デバイスのマウントポイントを,HDLMデバイスからSCSIデバイスに書き換えます。

    dlmbootstartティリティでHDLMを使用したブートディスク環境を構築した場合は,ユティリティ実行前に有効だった行に# Backed up by HDLMを付けてコメント化されています。そのため,現在有効な行を無効にして,# Backed up by HDLMの付いた行を有効にしてください。

    付録C.1 マルチパス構成のブートディスク環境の設定」の手順でブートディスク環境を構築した場合は,既存のHDLMデバイス指定は先頭に#を付けてコメントアウトして,手順4で確認したSCSIデバイス名(LABEL,UUID表記)で指定するように変更してください。

    /etc/fstabファイルの編集例を次に示します。

                                :
    #/dev/sddlmaa2   /     ext2    defaults       1 1
    LABEL=/  /  ext2  defaults  1 1
    #/dev/sddlmaa1  /boot  ext2  defaults  1 2
    LABEL=/boot  /boot  ext2  defaults  1 2
                                :
  7. SCSI用の初期RAMディスクイメージファイルを作成します。

    ホストのOSに応じて,次の手順を実行してください。

    なお,OSのコマンドに関する詳細は, mkinitrdコマンドまたはdracutコマンドのマニュアルを参照してください。

    • SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15,Red Hat Enterprise Linux 6,Red Hat Enterprise Linux 7,Red Hat Enterprise Linux 8,Red Hat Enterprise Linux 9,Oracle Unbreakable Enterprise Kernel 6,Oracle Unbreakable Enterprise Kernel 7またはOracle Unbreakable Enterprise Kernel 8の場合

      1. /etc/opt/DynamicLinkManager/hdlm.confに定義されている「hdlm_dracut」の記述を確認します。「hdlm_dracut=y」の記述があるときは,「hdlm_dracut=n」に変更します。

      2. dracutコマンドを実行します。

        コマンドの実行例を次に示します。

        Red Hat Enterprise Linux 6,Red Hat Enterprise Linux 7,Red Hat Enterprise Linux 8,Red Hat Enterprise Linux 9,Oracle Unbreakable Enterprise Kernel 6,Oracle Unbreakable Enterprise Kernel 7またはOracle Unbreakable Enterprise Kernel 8の場合

        # dracut /boot/initramfs-{kernel-version}.img {kernel-version}

        SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15の場合

        # /usr/bin/dracut /boot/initrd-{kernel-version} {kernel-version}

        SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15,Red Hat Enterprise Linux 7,Red Hat Enterprise Linux 8,Red Hat Enterprise Linux 9,Oracle Unbreakable Enterprise Kernel 7またはOracle Unbreakable Enterprise Kernel 8の場合は,SANブート環境で使用していた初期RAMディスクイメージをバックアップしてから,同じファイル名で実行してください

    • 記以外のOSの場合

      mkinitrdコマンドを実行します。

      コマンドの実行例を次に示します。

      # mkinitrd /boot/initrd-{kernel-version}.img {kernel-version}
  8. ブートローダの設定ファイルをバックアップします。

  9. ブートローダの設定ファイルを編集します。

    dlmbootstartユティリティでHDLMを使用したブートディスク環境を構築した場合は,使用している環境のブートローダに合わせて編集してください。

    ブートローダがGRUBの場合:

    /boot/grub/grub.confが,ユティリティ実行前に有効だった行に# Backed up by HDLMを付けてコメント化されています。そのため,現在有効な行を無効にして,# Backed up by HDLMの付いた行を有効にしてください。そのあと,手順14へ進んでください。

    ブートローダがGRUB2の場合:
    1. /etc/default/grubが,ユティリティ実行前に有効だった行に# Backed up by HDLMを付けてコメント化されています。そのため,現在有効な行を無効にして,# Backed up by HDLMの付いた行を有効にしてください。

    2. OS提供のgrub2-mkconfigコマンドを実行して,/boot/grub2/grub.cfgを再作成してください。そのあと,手順14 へ進んでください。

    dlmbootstartティリティを使用せずに,「付録C.1 マルチパス構成のブートディスク環境の設定」の手順でブートディスク環境を構築した場合は,付録C.1 マルチパス構成のブートディスク環境の設定 手順10でバックアップしたブートローダの設定ファイルに記載されている設定をコピーして元に戻します。

    SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15,Red Hat Enterprise Linux 7,Red Hat Enterprise Linux 8,Red Hat Enterprise Linux 9,Oracle Linux 7,Oracle Unbreakable Enterprise Kernel 7,Oracle Linux 8およびOracle Unbreakable Enterprise Kernel 8の場合は,手順14に,Red Hat Enterprise Linux 6,Oracle Linux 6またはOracle Unbreakable Enterprise Kernel 6場合は,手順10に進んでください。

  10. ブートローダの設定ファイルに記載されている設定の名前を変更します。

    手順9でコピーした設定の名前を変更してください。SCSIデバイス指定用だとわかるような名前を任意に付けます。

    次の下線部を変更します。

    変更前

    title Red Hat Enterprise Linux (2.6.32-71.el6.i686)_hdlm

    変更後

    title Red Hat Enterprise Linux (2.6.32-71.el6.i686)_sd
  11. 手順4で確認したSCSIデバイス(LABEL,UUID表記)をrootに指定します。

    SUSE LINUX Enterprise ServerでXenをサポートしているカーネルを使用している場合は,ブートローダ設定ファイルの編集規則に従ってrootデバイスを編集してください。

  12. SCSIデバイス用の初期RAMディスクイメージファイルをinitrdに指定します。

    SUSE LINUX Enterprise ServerでXenをサポートしているカーネルを使用している場合は,moduleで指定されたinitrdファイル名をSCSIデバイス用の初期RAMディスクイメージファイルに変更してください。

    また,編集時には次の点に注意してください。

    • ユーザ環境に依存したオプションが設定されている場合

      オプションを削除しないようにしてください。

  13. ブートローダの設定ファイルを編集して,起動時に使用する設定を指定します。

    手順9でコピーした設定で起動できるように,defaultの数字を変更します。 数字は有効なtitleが0から数えて何番目かを表します。

    1番目のtitleが有効な場合の編集例を次に示します。

    default=0
  14. /etc/opt/DynamicLinkManager/hdlm.confを編集します。

    サーバ起動時にHDLMが構成されないように,「hdlm_cfg_all=n」に変更します。

  15. HDLMデバイス名を直接指定しているアプリケーションがある場合は,設定をSCSIデバイスに変更してください。各アプリケーションの設定方法はアプリケーションのマニュアルを参照してください。

    サーバを再起動するとHDLMが構成されなくなります。また,HDLMデバイスを直接指定しているアプリケーションが残ったまま再起動するとエラーが出力されるので注意してください。

  16. ホストを停止します。

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

    # shutdown -h now
  17. LU(システムディスク)へのパスを減らして,マルチパス構成をシングルパス構成に変更します。

  18. ホストを起動します。

  19. ホスト起動後SCSIのブートディスク環境に移行できたこと(HDLMのブートディスク環境でないこと)を確認します。

    /proc/mountsを参照して,ルート(/)にマウントされているデバイスを確認します。 次のコマンドを実行して,ルートの情報を出力してデバイスを確認してください。

    # /bin/cat /proc/mounts | /bin/grep -w / | /bin/grep -v rootfs

    出力されたデバイスを基に次の確認をします。

    • /dev/{SCSIデバイス}が出力された場合

      SCSIのブートディスク環境です。

      HDLMのブートディスク環境ではありません。

    • その他のデバイスが出力された場合

      1. /usr/bin/readlink -f {出力されたファイル名} コマンドを実行します。

        ファイルがフルパスで出力されます。

      2. /bin/ls -l {出力されたファイル名} コマンドを実行します。

        通常ファイルではファイルサイズが表示される位置に(major, minor)が表示されます。

      3. 表示されたmajorを引数に次のコマンドを実行します。

        # /bin/cat /proc/devices | /bin/grep -w {major}
        • 出力内容にsdが含まれていればSCSIのブートディスク環境です。

          HDLMのブートディスク環境ではありません。

        • 出力内容にdevice-mapperが含まれている場合

          /sbin/dmsetup ls --treeを実行して,b.で表示された(majorminor)を 持つデバイスに関連付けされたデバイスの(majorminor)を確認します。

          表示例

          # /sbin/dmsetup ls --tree
          vg00-lv_tmp (253:1)
            |- (8:2)
          vg00-lv_var (253:2)
            |- (8:2)
          vg00-lv_swap (253:3)
            |- (8:2)
          vg00-lv_root (253:0)
            |- (8:2)
          #

          上記の例では,b.で表示された(majorminor)が(253,0)の場合,関連付けられたデバイスは(8:2)=(8, 2)=(major, minor)になります。

          majorを引数に次のコマンドを実行します。

          /bin/cat /proc/devices | /bin/grep -w {major}

          出力内容にsddlmfdrvが含まれていなければHDLMのブートディスク環境ではありません。

        • その他のデバイスが出力された場合

          HDLMのブートディスク環境ではありません。

  20. HDLM用の初期RAMディスクイメージファイルを削除します。

    以下のOSの場合は,この手順は不要ですので手順21に進んでください。

    • Red Hat Enterprise Linux 7

    • Red Hat Enterprise Linux 8

    • Red Hat Enterprise Linux 9

    • Oracle Linux 7

    • Oracle Linux 8

    • Oracle Unbreakable Enterprise Kernel 7

    • Oracle Unbreakable Enterprise Kernel 8

    • SUSE LINUX Enterprise Server 12

    • SUSE LINUX Enterprise Server 15

    次に示すコマンドを実行します。

    • IA32ホストを使用している場合の実行例

      # rm /boot/initrd-hdlm-2.6.32-71.el6.i686.img

  21. アンインストールを実行します。

    次に示すコマンドを実行して,アンインストールを開始します。

    # /opt/DynamicLinkManager/remover/removehdlm
  22. アンインストールが完了したかどうか確認します。

    次に示すコマンドを実行して,アンインストールが完了したことを確認します。出力される情報を次に示します。

    # rpm -qi HDLM
    パッケージ HDLM はインストールされていません