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

[目次][索引][前へ][次へ]


3.10.3 シングルパス環境でSCSIデバイス上に作成済みの論理ボリュームをHDLMデバイスに移行する場合

ここでは,シングルパス環境の場合にSCSIデバイス上にある論理ボリュームをマルチパス環境のHDLMデバイス上に移行する手順を説明します。「図3-16 SCSIデバイス上にある論理ボリュームをHDLMデバイス上に移行する場合のデバイス構成(シングルパス環境の場合)」に示す環境は,次の手順で構築してください。

図3-16 SCSIデバイス上にある論理ボリュームをHDLMデバイス上に移行する場合のデバイス構成(シングルパス環境の場合)

[図]

図3-16 SCSIデバイス上にある論理ボリュームをHDLMデバイス上に移行する場合のデバイス構成(シングルパス環境の場合)」のsdnは,それぞれ別のLUを示します。sddlmad1sddlmad2はそれぞれのLUに対応するHDLMデバイスを示します。

  1. HDLMがインストールされていることを確認します。
    rpmコマンドを実行して,HDLMがインストールされていることを確認します。
    # rpm -q HDLM
     HDLM-x.x.x.x.xxx-x
    
  2. シングルパス状態であることを確認します。
    HDLM構成定義ユティリティ(dlmcfgmgr)-vパラメタを指定して実行して,LUに対するパスがシングルパス状態であることを確認します。
    # dlmcfgmgr -v
    HDevName        Management    Device     Host  Channel  Target  Lun
    /dev/sddlmaa    configured    /dev/sda      2      0       0      0
    /dev/sddlmab    configured    /dev/sdb      2      0       0      1
    KAPL10302-I /sbin/dlmcfgmgr completed normally.
    
  3. SCSIデバイスおよびHDLMデバイスを使用しているプロセス,サービスなどをすべて停止します。
  4. 移行対象の論理ボリュームをアンマウントします。
    論理ボリュームが/mnt/lvol1にマウントされている場合の実行例を次に示します。
    # umount /mnt/lvol1
     
  5. ボリュームグループを非活性化します。
    移行対象の論理ボリュームが,vg01(ボリュームグループ)に属している場合の実行例を次に示します。
    # vgchange -an vg01 
      0 logical volume(s) in volume group "vg01" now active
  6. ボリュームグループをエクスポートします。
    vg01(ボリュームグループ)の情報をエクスポートする場合の実行例を次に示します。
    # vgexport vg01
      Volume group "vg01" successfully exported
  7. /etc/lvm/lvm.confファイルを編集します。
    SCSIデバイスの構成を無効にしてHDLMデバイスの構成を有効にするために,ファイル中のデバイスセクションに対して次の編集を行います。
    /etc/lvm/lvm.confファイルの編集例を次に示します。
    • Red Hat Enterprise Linux 8,Oracle Linux 8,Oracle Unbreakable Enterprise Kernel 8またはSUSE LINUX Enterprise Server 15 SP2以降の場合
      変更前
      devices {
                                    :
              # global_filter = [ "a/.*/" ]
              global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
              # types = [ "fd", 16 ]
                                    :
              md_component_detection = 1
                                    :
              allow_changes_with_duplicate_pvs = 0
                                    :
      
      }
      変更後
      devices {
                                    :
              # global_filter = [ "a/.*/" ]
              # 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 = 1
              md_component_detection=0
                                    :
              # allow_changes_with_duplicate_pvs = 0
              allow_changes_with_duplicate_pvs = 1
                                    :
      
      }
      既存のglobal_filtertypesmd_component_detectionおよびallow_changes_with_duplicate_pvsの行をコメントアウトし,下線部を追加します。
      SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。
    • SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15 SP1以前,Red Hat Enterprise Linux 7,Oracle Linux 7およびOracle Unbreakable Enterprise Kernel 7の場合
      allow_changes_with_duplicate_pvsの値を1に,write_cache_stateの値を0 に設定してください。詳細は,「3.10.1 LVM2を使用する場合の注意事項」を参照してください。
      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/.*/" ]
                filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
      
              write_cache_state = 1
                                    :
      
              # types = [ "fd", 16 ]
                                    :
      
              md_component_detection = 1
                                    :
      }
      変更後
      # This section allows you to configure which block devices should
      # be used by the LVM system.
      devices {    
                                   :
      
              # filter = [ "a/.*/" ]
              # filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                  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 = 1
                  md_component_detection=0
                                    :
      }
      既存のfilterwrite_cache_statetypesおよびmd_component_detectionの行をコメントアウトし,下線部を追加します。
      SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。
    • 上記以外のOSの場合
      write_cache_stateの値を0 に設定してください。詳細は,「3.10.1 LVM2を使用する場合の注意事項」を参照してください。
      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/.*/" ]
                global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                                    :
      
              write_cache_state = 1
                                    :
      
              # types = [ "fd", 16 ]
                                    :
      
              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/.*/" ]
              # global_filter = [ "r|sddlm[a-p][a-p].*|", "a|/dev/sd|" ]
                  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 = 1
                  md_component_detection=0
                                    :
      }
      既存のglobal_filterwrite_cache_statetypesおよびmd_component_detectionの行をコメントアウトし,下線部を追加します。
      SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。
  8. VGスキャンを実行します。
    HDLMデバイスでボリュームグループを再構築するために,vgscanコマンドを実行します。実行例を次に示します。
    # vgscan
      Reading all physical volumes.  This may take a while...
      Found exported volume group "vg01" using metadata type lvm2
  9. LVMキャッシュファイルを削除します。
    次のファイルがある場合,ファイルを削除してください。
    • /etc/lvm/.cache
    • /etc/lvm/cache/.cache
  10. ボリュームグループをインポートします。
    vg01(ボリュームグループ)の情報をインポートする場合の実行例を次に示します。
    # vgimport vg01
      Volume group "vg01" successfully imported
  11. 移行が正常に終了したかどうかをpvscanコマンドを実行して確認します。
    移行対象の論理ボリュームの物理ボリューム情報がHDLMデバイスになっていることを確認するために,次のコマンドを実行します。
    # pvscan
      PV /dev/sddlmad1   VG vg01   lvm2 [468.00 MB / 368.00 MB free]
      PV /dev/sddlmad2   VG vg01   lvm2 [548.00 MB / 548.00 MB free]
      Total: 2 [1016.00 MB] / in use: 2 [1016.00 MB] / in no VG: 0 [0   ]
  12. ボリュームグループを活性化します。
    移行対象の論理ボリュームが,vg01(ボリュームグループ)に属している場合の実行例を次に示します。
    # vgchange -ay vg01 
      1 logical volume(s) in volume group "vg01" now active
  13. LUへパスを追加します。
    4.7.4 HDLMデバイスの構成変更」の「(3) LUへのパスを追加する」を参照して,既存のLUへのパスを追加します。
  14. 移行対象の論理ボリュームをマウントします。
    移行対象の論理ボリュームが/dev/vg01/lvol1で,これを/mnt/lvol1にマウントする場合の実行例を次に示します。
    # mount /dev/vg01/lvol1 /mnt/lvol1