リストアの前後処理のシェルスクリプトについて、カスタマイズ方法を以下に説明します。
ボリュームグループをリストアする場合
ファイルシステムが構築された論理ボリュームを含むボリュームグループがリストア対象の場合は、前後処理のシェルスクリプトを修正する必要があります。
シェルスクリプトを修正後、前処理のシェルスクリプト(OpcRestore.pre)の130行目のexit文をコメント(“#”)化してください。
前処理のシェルスクリプト(OpcRestore.pre)の134~170行目のコメント(“#”)および後処理のシェルスクリプト(OpcRestore.post)の197、198、202~250行目のコメント(“#”)をエディタ等で消去し、ファイルシステムが構築された全ての論理ボリュームに対してアンマウント/マウント処理が実施されるようにコメント内の記述を適宜修正してください。(“X”で示す箇所は実際の環境に合わせて変更してください。また、複数の論理ボリュームが対象となる場合は、前処理のシェルスクリプト(OpcRestore.pre)の138~168行目の処理および、後処理のシェルスクリプト(OpcRestore.post)の206~249行目の処理をボリューム数分記述してください。)
バックアップ時に業務ボリュームがマウントされていた場合、かつバックアップボリュームに対してfsckを実施していない場合は、リストア後に業務ボリューム内のファイルシステムが構築された全ての論理ボリュームに対してfsckを実施する必要があります。
注意
カスタマイズをしていない状態では、ボリュームグループに対する前処理はエラーとなります。
業務ボリュームがボリュームグループの場合は、リストア後処理において、業務ボリュームをLVMとして使用可能にするためにvgcfgrestoreコマンドによってボリュームグループ構成情報のリストアを実施しています。記載のシェルスクリプトでは、標準のバックアップファイル「/etc/lvmconf/“ボリュームグループ名”.conf」からボリューム構成情報のリストアを行っています。ボリュームグループ構成情報が別ファイルにバックアップされている場合は、シェルスクリプトをカスタマイズしてください。
クラスタ運用している場合は、クラスタを構成する各ノードにボリュームグループ構成情報が存在している必要があります。
mountコマンドやfsckコマンドなどのOSコマンドのパラメーターやオプションなどは運用に合わせて、適宜修正してください。
共有モードのボリュームグループの場合
共有モードのボリュームグループの再構成は、後処理のシェルスクリプト(OpcRestore.post)の96-127、133、134および138をコメント化して、後処理のシェルスクリプトではボリュームグループの再構成を実施しないようにしてください。
リストア実行後に手動で以下の操作を行い、ボリュームグループの再構成を行ってください。
ボリュームグループの停止(業務を構成している全ノードで実行します)
# /usr/sbin/vgchange -a n <vg_name> # |
ボリュームグループ構成情報のリストア(ボリュームグループを作成したノードで実行します)
# /usr/sbin/vgcfgrestore -n <vg_name> <pv_path> # |
共有可能なボリュームグループのマーク(ボリュームグループを作成したノードで実行します)
# /usr/sbin/vgchange -S y -c y <vg_name> # |
ボリュームグループの起動(業務を構成している全ノードで実行します)
# /usr/sbin/vgchange -a s <vg_name> # |
ファイルシステム名
リストア実行時の後処理のシェルスクリプト(OpcRestore.post)の205行目のファイルシステム名は、運用に合わせて適宜修正してください。
VERITAS Cluster Serverでクラスタ運用する場合
VERITAS Cluster Serverでクラスタ運用を行う場合で、業務ボリュームのマウントポイントがクラスタ業務に登録されている場合は、前後処理のカスタマイズが必要となります。
前後処理のシェルスクリプト内のマウント/アンマウント処理を、マウントポイントリソースのオフライン/オンライン処理に変更してください。
また、マウントポイントリソースのオフライン/オンラインを行ってから、実際にボリュームがアンマウント/マウントされるまでに時間差があります。そのため実際にアンマウント/マウントされるまで待ち合わせる処理(sleepやdfコマンドの結果を監視するなど)をオフライン/オンラインの成否を判定する個所の後に追加してください。
以下に前後処理のシェルスクリプトの変更例を示します
[例] リストア前処理のシェルスクリプト(OpcRestore.pre)のアンマウント処理変更
[80、89、139、148行目]
(変更前) | /usr/sbin/umount $mount_point |
(変更後) | /opt/VRTSvcs/bin/hares -offline リソース名 -sys システム名 |
[例] リストア前処理のシェルスクリプト(OpcRestore.pre)のアンマウント待ち処理追加
[110、169行目]
(追加) | while /usr/bin/df -l "$device">/dev/null 2>&1; do :; done |
[例] リストア後処理のシェルスクリプト(OpcRestore.post)のマウント処理変更
[152、156、158、171、175、177、223、232行目]
(変更前) | /usr/sbin/mount $device $mount_point |
(変更後) | /opt/VRTSvcs/bin/hares -online リソース名 -sys システム名 |
[例] リストア後処理のシェルスクリプト(OpcRestore.post)のマウント待ち処理追加
[197、251行目]
(追加) | while ! /usr/bin/df -l "$device">/dev/null 2>&1; do :; done |