3.10.3 シングルパス環境でSCSIデバイス上に作成済みの論理ボリュームをHDLMデバイスに移行する場合
ここでは,シングルパス環境の場合にSCSIデバイス上にある論理ボリュームをマルチパス環境のHDLMデバイス上に移行する手順を説明します。「図3‒14 SCSIデバイス上にある論理ボリュームをHDLMデバイス上に移行する場合のデバイス構成(シングルパス環境の場合)」に示す環境は,次の手順で構築してください。
「図3‒14 SCSIデバイス上にある論理ボリュームをHDLMデバイス上に移行する場合のデバイス構成(シングルパス環境の場合)」のsdnは,それぞれ別のLUを示します。sddlmad1とsddlmad2はそれぞれのLUに対応するHDLMデバイスを示します。
HDLMがインストールされていることを確認します。
rpmコマンドを実行して,HDLMがインストールされていることを確認します。
# rpm -q HDLM HDLM-x.x.x.x.xxx-x
シングルパス状態であることを確認します。
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.
SCSIデバイスおよびHDLMデバイスを使用しているプロセス,サービスなどをすべて停止します。
移行対象の論理ボリュームをアンマウントします。
論理ボリュームが/mnt/lvol1にマウントされている場合の実行例を次に示します。
# umount /mnt/lvol1
ボリュームグループを非活性化します。
移行対象の論理ボリュームが,vg01(ボリュームグループ)に属している場合の実行例を次に示します。
# vgchange -an vg01 0 logical volume(s) in volume group "vg01" now active
ボリュームグループをエクスポートします。
vg01(ボリュームグループ)の情報をエクスポートする場合の実行例を次に示します。
# vgexport vg01 Volume group "vg01" successfully exported
/etc/lvm/lvm.confファイルを編集します。
SCSIデバイスの構成を無効にしてHDLMデバイスの構成を有効にするために,ファイル中のデバイスセクションに対して次の編集を行います。
/etc/lvm/lvm.confファイルの編集例を次に示します。
-
Red Hat Enterprise Linux 9の場合
変更前
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 : multipath_component_detection=1 : use_devicesfile=1 : }
変更後
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 : # multipath_component_detection=1 multipath_component_detection=0 : # use_devicesfile=1 use_devicesfile=0 : }
既存のglobal_filter,types,md_component_detection,allow_changes_with_duplicate_pvs,multipath_component_detectionおよびuse_devicesfileの行をコメントアウトし,下線部を追加します。
SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。
Red Hat Enterprise Linux 8,Oracle Linux 8,Oracle Unbreakable Enterprise Kernel 8またはSUSE LINUX Enterprise Server 15 SP2以降の場合
Red Hat Enterprise Linux 8.8以降の場合は,multipath_component_detectionの値を0に設定してください。詳細は,「3.10.1 LVM2を使用する場合の注意事項」を参照してください。
変更前
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_filter,types,md_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 : }
既存のfilter,write_cache_state,typesおよび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_filter,write_cache_state,typesおよびmd_component_detectionの行をコメントアウトし,下線部を追加します。
SCSIデバイスの構成に戻す場合に使用するため,変更前の値は控えてください。
-
VGスキャンを実行します。
HDLMデバイスでボリュームグループを再構築するために,vgscanコマンドを実行します。実行例を次に示します。
# vgscan Reading all physical volumes. This may take a while... Found exported volume group "vg01" using metadata type lvm2
LVMキャッシュファイルを削除します。
次のファイルがある場合,ファイルを削除してください。
/etc/lvm/.cache
/etc/lvm/cache/.cache
ボリュームグループをインポートします。
vg01(ボリュームグループ)の情報をインポートする場合の実行例を次に示します。
# vgimport vg01 Volume group "vg01" successfully imported
移行が正常に終了したかどうかを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 ]
ボリュームグループを活性化します。
移行対象の論理ボリュームが,vg01(ボリュームグループ)に属している場合の実行例を次に示します。
# vgchange -ay vg01 1 logical volume(s) in volume group "vg01" now active
LUへパスを追加します。
「4.7.4 HDLMデバイスの構成変更」の「(3) LUへのパスを追加する」を参照して,既存のLUへのパスを追加します。
移行対象の論理ボリュームをマウントします。
移行対象の論理ボリュームが/dev/vg01/lvol1で,これを/mnt/lvol1にマウントする場合の実行例を次に示します。
# mount /dev/vg01/lvol1 /mnt/lvol1