3.20.6 HDLMのアンインストール
HDLMのアンインストールの手順を次に説明します。
HDLMデバイスをブートディスクとして使用していないローカルブート環境の場合,「(1) HDLMのアンインストール」を実施してください。
HDLMデバイスを使ったマルチパス構成のブートディスクの環境の場合,「(2) ブートディスク環境のシングルパス構成への移行」を実施してください。
また,LVM2を使用している環境で,HDLMのアンインストールが完了した後は,「3.20.7 HDLMのアンインストール後に行うLVM2の設定解除」を実施してください。
(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
-
-
Linuxに,root権限を持つユーザーでログインします。
-
HDLMの管理対象パスを使用しているプロセス,サービスなどをすべて停止します。
HDLMの管理対象パスを使用しているDBMS,各種アプリケーションのプロセス,およびサービスを,すべて停止します。
また,Xenを使用している場合は,あらかじめdomainUを停止してください。domain0を起動すると自動的にdomainUが起動されるよう設定している場合,自動的にdomainUが起動しないよう一時的に設定を変更してください。
-
HDLMが使用しているマウントポイントを,すべて解除します。
次に示すコマンドを実行します。
# umount マウントポイント
-
rootの環境設定ファイルのPATH環境変数の設定を変更します。
rootユーザーが使用するシェルの環境設定ファイルのPATH環境変数から/opt/DynamicLinkManager/binを削除します。
-
HDLMデバイスが使用されていないことを確認します。
次に示すコマンドを実行して,sddlmfdrvのUsedが0になっていること,またはsddlmfdrvが表示されないことを確認してください。
# /sbin/lsmod Module Size Used by : : sddlmfdrv 254092 0sddlmfdrvが表示され,かつUsedが0以外の場合は,「3.20.1 HDLM管理対象のデバイスへの操作」を実行したあと,手順2および手順3を再度実行して,HDLMデバイスを使用しないようにしてください。
-
アンインストールを実行します。
次に示すコマンドを実行して,アンインストールを開始します。
# /opt/DynamicLinkManager/remover/removehdlm
-
アンインストールが完了したかどうか確認します。
次に示すコマンドを実行して,アンインストールが完了したことを確認します。出力される情報を次に示します。
# rpm -qi HDLM パッケージ HDLM はインストールされていません
-
手順2で停止したプロセス,サービスを起動します。
起動後,クラスターソフトウェアやボリューム管理ソフトウェアが起動します。
また,手順2でdomainUの設定を自動的に起動しないように変更した場合は,元に戻してください。
(2) ブートディスク環境のシングルパス構成への移行
HDLMデバイスを使ったマルチパス構成のブートディスクの環境からHDLMをアンインストールして,SCSIデバイスを使ったブートディスクの環境に変更する方法を説明します。設定を誤ると,OSが起動できなくなることもあるので,注意してください。
なお,LVM2を用いたブートディスク環境の設定手順を説明します。ここではブートローダーにgrubを用いた場合を示します。
Linuxに,root権限を持つユーザーでログインします。
ブートディスク環境にLVMが使用されているか確認します。
mountコマンドを実行して,ルートパーティション「/」にマウントされたデバイス名 を確認します。LVMが使用されている場合は,VG名,LV名からなるデバイス名が表示されます。 コマンドの実行例を次に示します。
LVMが使用されている場合
# mount /dev/mapper/vg00-lv00 on / type ext3 (rw) : #LVMが使用されていない場合
# mount /dev/sddlmaa9 on / type ext3 (rw) : #
ブートディスク環境に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_detection,multipath_component_detection,use_devicesfileは0に設定した行をコメントアウトし,allow_changes_with_duplicate_pvsは1に設定した行をコメントアウトします。
そのあと,md_component_detection,allow_changes_with_duplicate_pvs,multipath_component_detection,use_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_detectionは0に設定した行をコメントアウトし,allow_changes_with_duplicate_pvsは1に設定した行をコメントアウトします。
そのあと,md_component_detection,allow_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_stateは0に設定した行をコメントアウトし,インストール前の値を設定している行のコメントを解除して,元に戻します。
また,HDLMデバイスの構成を有効にする前に,allow_changes_with_duplicate_pvsの設定を変更している場合は,元の値に戻してください。
なお,allow_changes_with_duplicate_pvsの設定を0にした場合は,マルチパス構成ではボリュームグループを活性化する際に,物理ボリュームの重複が検知され,ボリュームグループを活性化することができていないことがあるので注意してください。
ファイルを編集したあと,次に示すコマンドを実行してください。
# /sbin/vgscan
-
/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デバイス名}
/etc/fstabファイルをバックアップします。
/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 :SCSI用の初期RAMディスクイメージファイルを作成します。
ホストのOSに応じて,次の手順を実行してください。
なお,OSのコマンドに関する詳細は, mkinitrdコマンドまたはdracutコマンドのマニュアルを参照してください。
SUSE LINUX Enterprise Server 12,15,Red Hat Enterprise Linux 7,8,9またはOracle Unbreakable Enterprise Kernel 7,8の場合
/etc/opt/DynamicLinkManager/hdlm.confに定義されている「hdlm_dracut」の記述を確認します。「hdlm_dracut=y」の記述があるときは,「hdlm_dracut=n」に変更します。
dracutコマンドを実行します。
コマンドの実行例を次に示します。
Red Hat Enterprise Linux 7,8,9またはOracle Unbreakable Enterprise Kernel 7,8の場合
# dracut /boot/initramfs-{kernel-version}.img {kernel-version}SUSE LINUX Enterprise Server 12,15の場合
# /usr/bin/dracut /boot/initrd-{kernel-version} {kernel-version}SUSE LINUX Enterprise Server 12,15,Red Hat Enterprise Linux 7,8,9またはOracle Unbreakable Enterprise Kernel 7,8の場合は,SANブート環境で使用していた初期RAMディスクイメージをバックアップしてから,同じファイル名で実行してください。
上記以外のOSの場合
mkinitrdコマンドを実行します。
コマンドの実行例を次に示します。
# mkinitrd /boot/initrd-{kernel-version}.img {kernel-version}
ブートローダーの設定ファイルをバックアップします。
ブートローダーの設定ファイルを編集します。
dlmbootstartユーティリティーでHDLMを使用したブートディスク環境を構築した場合は,使用している環境のブートローダーに合わせて編集してください。
- ブートローダーがGRUBの場合:
/boot/grub/grub.confが,ユーティリティー実行前に有効だった行に# Backed up by HDLMを付けてコメント化されています。そのため,現在有効な行を無効にして,# Backed up by HDLMの付いた行を有効にしてください。そのあと,手順10へ進んでください。
- ブートローダーがGRUB2の場合:
/etc/default/grubが,ユーティリティー実行前に有効だった行に# Backed up by HDLMを付けてコメント化されています。そのため,現在有効な行を無効にして,# Backed up by HDLMの付いた行を有効にしてください。
OS提供のgrub2-mkconfigコマンドを実行して,/boot/grub2/grub.cfgを再作成してください。そのあと,手順10 へ進んでください。
dlmbootstartユーティリティーを使用せずに,「付録C.1 マルチパス構成のブートディスク環境の設定」の手順でブートディスク環境を構築した場合は,付録C.1 マルチパス構成のブートディスク環境の設定 手順10でバックアップしたブートローダーの設定ファイルに記載されている設定をコピーして元に戻します。
/etc/opt/DynamicLinkManager/hdlm.confを編集します。
サーバー起動時にHDLMが構成されないように,「hdlm_cfg_all=n」に変更します。
HDLMデバイス名を直接指定しているアプリケーションがある場合は,設定をSCSIデバイスに変更してください。各アプリケーションの設定方法はアプリケーションのマニュアルを参照してください。
サーバーを再起動するとHDLMが構成されなくなります。また,HDLMデバイスを直接指定しているアプリケーションが残ったまま再起動するとエラーが出力されるので注意してください。
ホストを停止します。
次に示すコマンドを実行してホストを停止します。
# shutdown -h now
LU(システムディスク)へのパスを減らして,マルチパス構成をシングルパス構成に変更します。
ホストを起動します。
ホスト起動後SCSIのブートディスク環境に移行できたこと(HDLMのブートディスク環境でないこと)を確認します。
/proc/mountsを参照して,ルート(/)にマウントされているデバイスを確認します。 次のコマンドを実行して,ルートの情報を出力してデバイスを確認してください。
# /bin/cat /proc/mounts | /bin/grep -w / | /bin/grep -v rootfs
出力されたデバイスを基に次の確認をします。
/dev/{SCSIデバイス}が出力された場合
SCSIのブートディスク環境です。
HDLMのブートディスク環境ではありません。
その他のデバイスが出力された場合
/usr/bin/readlink -f {出力されたファイル名} コマンドを実行します。
ファイルがフルパスで出力されます。
/bin/ls -l {出力されたファイル名} コマンドを実行します。
通常ファイルではファイルサイズが表示される位置に(major, minor)が表示されます。
表示されたmajorを引数に次のコマンドを実行します。
# /bin/cat /proc/devices | /bin/grep -w {major}出力内容にsdが含まれていればSCSIのブートディスク環境です。
HDLMのブートディスク環境ではありません。
出力内容にdevice-mapperが含まれている場合
/sbin/dmsetup ls --treeを実行して,b.で表示された(major,minor)を 持つデバイスに関連付けされたデバイスの(major,minor)を確認します。
表示例
# /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.で表示された(major,minor)が(253,0)の場合,関連付けられたデバイスは(8:2)=(8, 2)=(major, minor)になります。
majorを引数に次のコマンドを実行します。
/bin/cat /proc/devices | /bin/grep -w {major}出力内容にsddlmfdrvが含まれていなければHDLMのブートディスク環境ではありません。
その他のデバイスが出力された場合
HDLMのブートディスク環境ではありません。
アンインストールを実行します。
次に示すコマンドを実行して,アンインストールを開始します。
# /opt/DynamicLinkManager/remover/removehdlm
アンインストールが完了したかどうか確認します。
次に示すコマンドを実行して,アンインストールが完了したことを確認します。出力される情報を次に示します。
# rpm -qi HDLM パッケージ HDLM はインストールされていません