バックアップの前後処理シェルスクリプトをカスタマイズする方法について、以下に説明します。
業務ボリュームをアンマウントしたくない場合
マウントされているがアンマウントしたくない業務ボリュームに対しては、バックアップ実行時の前処理シェルスクリプト(OpcBackup.pre)の101~110行目、113、146行目(物理ボリュームの場合)、または163~172行目(ボリュームグループの場合)のコメント("#")をエディタなどで消去し、101行目または163行目のif文で対象となるデバイスを指示してください。なお、108行目または169行目のsyncコマンドを実施してからバックアップ後処理を実施するまでの間は、業務ボリュームのファイルシステムを更新しないようにしてください。ファイルシステムが更新されると、ファイルシステムが不完全な状態でバックアップされるか、バックアップ後処理で実施するfsckコマンドがエラーとなる可能性があります。
ボリュームグループをバックアップする場合
ファイルシステムが構築された論理ボリュームを含むボリュームグループがバックアップ対象の場合は、前後処理シェルスクリプトの修正が必要です。
シェルスクリプトを修正後、前処理シェルスクリプト(OpcBackup.pre)の158行目のexit文をコメント("#")化してください。
前処理シェルスクリプト(OpcBackup.pre)の177~214行目、および後処理シェルスクリプト(OpcBackup.post)の209、210、214~251行目のコメント("#")をエディタなどで消去し、ファイルシステムが構築されたすべての論理ボリュームがアンマウント/マウントされるように、適宜修正してください。
"X"で示す箇所は、実際の環境に合わせて変更してください。また、複数の論理ボリュームが対象となる場合は、前処理シェルスクリプト(OpcBackup.pre)の180~212行目、および後処理シェルスクリプト(OpcBackup.post)の218~250行目の処理をボリューム数分記述してください。
バックアップボリュームがファイルシステムの構築された論理ボリュームを含むボリュームグループで、かつ前処理で業務ボリュームをアンマウントしなかった場合は、後処理でバックアップボリュームに含まれるすべての論理ボリュームに対してfsckを行う必要があります。後処理シェルスクリプト(OpcBackup.post)の297~320行目のコメント("#")をエディタなどで消去し、ファイルシステムが構築されたすべての論理ボリュームに対してfsckが行われるように、適宜修正してください。
"X"で示す箇所は、実際の環境に合わせて変更してください。また、複数の論理ボリュームが対象となる場合は、後処理シェルスクリプト(OpcBackup.post)の302~319行目の処理をボリューム数分記述してください。
注意
カスタマイズしていない状態では、ボリュームグループに対する前処理がエラーになります。
バックアップボリュームがボリュームグループの場合は、バックアップ後処理において、バックアップボリュームをLVMとして使用可能にするためにvgcfgrestoreコマンドによってボリュームグループ構成情報のリストアを実施しています。記載のシェルスクリプトでは、標準のバックアップファイル「/etc/lvmconf/volumeGroupName.conf」からボリューム構成情報をリストアしています。ボリュームグループ構成情報が別ファイルにバックアップされている場合は、シェルスクリプトをカスタマイズしてください。
クラスタ運用している場合は、クラスタを構成する各ノードにボリュームグループ構成情報が存在している必要があります。
mountコマンドやfsckコマンドなどのOSコマンドのパラメーターやオプションは、運用に合わせて適宜修正してください。
共有モードのボリュームグループの場合
後処理シェルスクリプト(OpcBackup.post)の90-138、144、145、および150行目をコメント化して、後処理シェルスクリプトでは共有モードのボリュームグループを再構成しないようにしてください。
バックアップ実行後に以下の作業を手動で実施して、ボリュームグループを再構成してください。
ボリュームグループの停止(業務を構成している全ノードで実行します)
# /usr/sbin/vgchange -a n volumeGroupName
# |
ボリュームグループ構成情報のリストア(ボリュームグループを作成したノードで実行します)
# /usr/sbin/vgcfgrestore -n volumeGroupName pvPath # |
共有可能なボリュームグループのマーク(ボリュームグループを作成したノードで実行します)
# /usr/sbin/vgchange -S y -c y volumeGroupName
# |
ボリュームグループの起動(業務を構成している全ノードで実行します)
# /usr/sbin/vgchange -a s volumeGroupName
# |
ファイルシステム名
バックアップ実行時の後処理シェルスクリプト(OpcBackup.post)の217、301行目のファイルシステム名は、運用に合わせて適宜修正してください。
VERITAS Cluster Serverでクラスタ運用する場合
VERITAS Cluster Serverでクラスタ運用する場合で、業務ボリュームのマウントポイントがクラスタ業務に登録されているときは、前後処理シェルスクリプトのカスタマイズが必要です。
前後処理シェルスクリプト内のマウント/アンマウント処理を、マウントポイントリソースのオフライン/オンライン処理に変更してください。
また、マウントポイントリソースのオフライン/オンラインを行ってから実際にボリュームがアンマウント/マウントされるまで時間差があります。そのため、実際にアンマウント/マウントされるまで待ち合わせる処理(sleepやdfコマンドの結果を監視するなど)を、オフライン/オンラインの成否を判定する箇所のうしろに追加してください。
以下に、前後処理シェルスクリプトのカスタマイズ例を示します。
[例] バックアップの前処理シェルスクリプト(OpcBackup.pre)の、アンマウント処理変更
[115、124、181、193行目]
(変更前) | /usr/sbin/umount $mount_point |
(変更後) | /opt/VRTSvcs/bin/hares -offline resourceName -sys systemName |
[例] バックアップの前処理シェルスクリプト(OpcBackup.pre)の、アンマウント待ち処理追加
[145、213行目]
(追加) | while /usr/bin/df -l "$device">/dev/null 2>&1; do :; done |
[例] バックアップの後処理シェルスクリプト(OpcBackup.post)の、マウント処理変更
[164、168、170、183、187、189、224、233行目]
(変更前) | /usr/sbin/mount $device $mount_point |
(変更後) | /opt/VRTSvcs/bin/hares -online resourceName -sys systemName |
[例] バックアップの後処理シェルスクリプト(OpcBackup.post)の、マウント待ち処理追加
[209、252行目]
(追加) | while ! /usr/bin/df -l "$device">/dev/null 2>&1; do :; done |