3.10.1 LVM2を使用する場合の注意事項
LVM2を使用する場合の注意事項を次に示します。
HDLMデバイス上の論理ボリューム(LVM2)をブートディスクとして使用した場合は,LVM2の物理ボリュームとしてSCSIデバイスを使用できません。
LVM2の物理ボリュームとしてSCSIデバイスとHDLMデバイスを同時に使用する場合は,HDLMの管理対象となるSCSIデバイスがLVM2に認識されないように,/etc/lvm/lvm.confを編集してください。
Red Hat Enterprise Linux 8,Red Hat Enterprise Linux 9,Oracle Linux 8,Oracle Unbreakable Enterprise Kernel 8およびSUSE LINUX Enterprise Server 15 SP2以降の場合は,global_filterで指定してください。
SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15 SP1以前,Red Hat Enterprise Linux 7およびOracle Linux 7で,use_lvmetad=0で運用する場合は,global_filterではなくfilterで指定してください。また,SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15 SP1以前,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 8以外で,global_filterが使用できるLVM2のバージョンで,use_lvmetad=1で運用する場合は,filterではなくglobal_filterで指定してください。
LVM2の物理ボリュームとして,SCSIデバイス(/dev/sda)とHDLMデバイスを同時に使用する場合の編集例を次に示します。
-
SUSE LINUX Enterprise Server 15 SP5以降およびRed Hat Enterprise Linux 9の場合
OSのディスク認識順序が変わってもLVMから見えるディスクが変わらないように永続的な名称で指定してください。
global_filter = [ "a|sddlm[a-p][a-p].*|","a|/dev/disk/by-id/scsi-3600605b005d7a320196f1f53484dfb20|","r|/dev/sd|" ]
指定する値は,udevadmコマンドで確認できます。
# udevadm info -q symlink -n /dev/sda disk/by-id/scsi-3600605b005d7a320196f1f53484dfb20 disk/bypath/ディスクの位置情報から生成される情報 disk/by-uuid/ディスクの固有情報 disk/by-id/wwn-ディスクの固有情報
出力結果に/dev/をつけて/dev/disk/by-id/scsi-3600605b005d7a320196f1f53484dfb20の形式で値を指定してください。
SUSE LINUX Enterprise Server 12,SUSE LINUX Enterprise Server 15からSUSE LINUX Enterprise Server 15 SP3まで,Red Hat Enterprise Linux 7,Red Hat Enterprise Linux 8,Oracle Linux 7,Oracle Unbreakable Enterprise Kernel 7,Oracle Linux 8およびOracle Unbreakable Enterprise Kernel 8の場合
OSのディスク認識順序が変わってもLVMから見えるディスクが変わらないように永続的な名称で指定してください。
global_filter = [ "a|sddlm[a-p][a-p].*|","a|scsi-3600605b005d7a320196f1f53484dfb20|","r|/dev/sd|" ]
指定する値は,udevadmコマンドで確認できます。
# udevadm info -q symlink -n /dev/sda block/8:0 disk/by-id/scsi-3600605b005d7a320196f1f53484dfb20 disk/by-path/ディスクの位置情報から生成される情報 disk/by-uuid/ディスクの固有情報 disk/by-id/wwn-ディスクの固有情報
出力されたscsi-3600605b005d7a320196f1f53484dfb20が,sdaと対応するby-id名です。
Red Hat Enterprise Linux 6,Oracle Linux 6およびOracle Unbreakable Enterprise Kernel 6の場合
OSのディスク認識順序が変わってもLVMから見えるディスクが変わらないように永続的な名称で指定してください。
filter = [ "a|sddlm[a-p][a-p].*|","a|scsi-3600605b005d7a320196f1f53484dfb20|","r|/dev/sd|" ]
指定する値は,udevadmコマンドで確認できます。
# udevadm info -q symlink -n /dev/sda block/8:0 disk/by-id/scsi-3600605b005d7a320196f1f53484dfb20 disk/by-path/ディスクの位置情報から生成される情報 disk/by-uuid/ディスクの固有情報 disk/by-id/wwn-ディスクの固有情報
出力されたscsi-3600605b005d7a320196f1f53484dfb20が,sdaと対応するby-id名です。
上記以外のOSの場合
LVM2の物理ボリュームとして,SCSI デバイス(/dev/sda)とHDLMデバイスを同時に使用する場合の編集例を次に示します。
filter = [ "a|sddlm[a-p][a-p].*|", "a|/dev/sda[1-9].*|", "r|/dev/sd|" ]
下線部は,LVM2に認識させたいSCSIデバイスを表します。
なお,この項ではすべてのSCSIデバイスがLVM2に認識されないように,/etc/lvm/lvm.confのfilterの記述を次のとおりにしています。
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の場合
global_filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
上記以外のOSの場合
filter = [ "a|sddlm[a-p][a-p].*|", "r|/dev/sd|" ]
-
次に示すOSを使用する場合は,/etc/lvm/lvm.confファイル内のデバイスセクションに記述されたallow_changes_with_duplicate_pvsの値には,1を設定してください。
allow_changes_with_duplicate_pvsの記述がない場合は,allow_changes_with_duplicate_pvs = 1を追加してください。
Red Hat Enterprise Linux 7.3以降
Red Hat Enterprise Linux 8以降
-
Red Hat Enterprise Linux 9以降
Oracle Linux 7.3(Oracle Unbreakable Enterprise Kernel 7.3)以降
Oracle Linux 8(Oracle Unbreakable Enterprise Kernel 8)以降
SUSE LINUX Enterprise Server 12 SP4(4.12.14-94.41カーネル)以降
SUSE LINUX Enterprise Server 15以降
値を0に変更した場合,SANブート構成でのブート処理中に物理ボリュームの重複が検知され,ボリュームグループが活性化されません。その結果,SANブート構成での起動処理に失敗します。
LVMキャッシュファイルは使用できません。Red Hat Enterprise Linux 8,Red Hat Enterprise Linux 9,Oracle Linux 8,Oracle Unbreakable Enterprise Kernel 8またはSUSE LINUX Enterprise Server 15 SP2以降以外の場合,以下の内容に従ってLVMキャッシュを無効にしてください。Red Hat Enterprise Linux 8,Red Hat Enterprise Linux 9,Oracle Linux 8,Oracle Unbreakable Enterprise Kernel 8またはSUSE LINUX Enterprise Server 15 SP2以降はwrite_cache_stateおよびLVMキャッシュファイルが存在しないので以下の作業は不要です。
/etc/lvm/lvm.confのwrite_cache_stateを0 に設定します。
VGスキャンを実行します。
ファイルを編集したあと,次に示すコマンドを実行してください。
# /sbin/vgscan
LVMキャッシュファイルを削除します。
次のファイルがある場合,ファイルを削除してください。
/etc/lvm/.cache
/etc/lvm/cache/.cache
初期RAMディスクイメージファイルを再作成します。
- HDLMデバイスをブートディスクとして使用している環境の場合
付録C.1 マルチパス構成のブートディスク環境の設定の手順9を実行してください。
- HDLMデバイスをブートディスクとして使用していない環境の場合
HDLM用の初期RAMディスクイメージファイルを作成します。
パラメーターに指定する初期RAMディスクイメージファイル名の形式を次に示します。同じ名前のファイルがある場合は,既存のファイルをバックアップしてください。
表3‒77 初期RAMディスクイメージファイル名 OS名
ファイル名
Red Hat Enterprise Linux 6
Oracle Linux 6
initramfs-{ kernel-version※}.img
Red Hat Enterprise Linux 7
Red Hat Enterprise Linux 8
Red Hat Enterprise Linux 9
Oracle Linux 7
Oracle Linux 8
initramfs-{kernel-version※}.img
SUSE LINUX Enterprise Server 12
SUSE LINUX Enterprise Server 15
initrd-{kernel-version※}
- 注※
kernel-versionはuname -rコマンドの出力結果です。
ホストのOSに応じて,次の手順を実行してください。
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 Linux 8の場合
dracutコマンドを実行します。
コマンドの実行例を次に示します。
# /usr/bin/dracut /boot/initrd-3.12.28-4-default `uname -r`
Red Hat Enterprise Linux 6またはOracle Linux 6の場合
dracutコマンドを実行します。
コマンドの実行例を次に示します。
# /sbin/dracut /boot/initramfs-2.6.32-71.el6.i686.img `uname -r`
ホストを再起動します。
# shutdown -r now
次に示すコマンドを実行して,LVMキャッシュファイルが存在するか確認します。
# ls /etc/lvm/.cache # ls /etc/lvm/cache/.cache
存在する場合は,手順7に進んでください。存在しない場合は終了です。
3.10.4 論理ボリュームがマルチパス構成であることの確認方法の確認手順を実施します。
- マルチパス構成の場合
次に示すコマンドを実行してLVMキャッシュファイルを削除します。
# rm /etc/lvm/.cache # rm /etc/lvm/cache/.cache
以上で処理は終了です。
- マルチパス構成でない場合
次に示すコマンドを実行してLVMキャッシュファイルを削除したあと,手順8に進みます。
手順8,手順9を実行する代わりに,サーバーの再起動を行っても問題ありません。
# rm /etc/lvm/.cache # rm /etc/lvm/cache/.cache
マルチパス構成になっていない論理ボリュームを含むボリュームグループを非活性化します。
移行対象の論理ボリュームが,vg01(ボリュームグループ)に属している場合の実行例を次に示します。
# vgchange -an vg01
ボリュームグループを活性化します。
移行対象の論理ボリュームが,vg01(ボリュームグループ)に属している場合の実行例を次に示します。
# vgchange -ay vg01
-
lvm2-2.03.14-6.el8.x86_64から,/etc/lvm/lvm.conf内のmultipath_component_detectionのデフォルト動作が変更になりました。このため,そのバージョン以降のLVMの場合はmultipath_component_detection = 0を設定し,無効にする必要があります。multipath_component_detectionが有効な場合,SANブート構成のブート処理でLVMにマルチパスデバイスが除外されて認識されなくなるため,起動に失敗します。次に示すOSからそのバージョン以降のLVMがデフォルトになるのでmultipath_component_detection = 0を必ず設定してください。
-
Red Hat Enterprise Linux 8.8以降
-
Red Hat Enterprise Linux 9以降
-
-
Red Hat Enterprise Linux 9.1から,/etc/lvm/lvm.conf内にuse_devicesfile=0を設定して,system.devicesを無効化してください。system.devicesはデバイス名で指定され,UUIDによってデバイスを最終的に判別しているため,LVM上のHDLMデバイスとSCSIデバイスを区別できません。このため,LVM上でHDLMデバイスを継続して使用するには無効化が必要です。