ページのトップに戻る
ETERNUS SFAdvancedCopy Manager 13.4 運用手引書

A.3.3 シェルスクリプトのカスタマイズ

リストアの前後処理のシェルスクリプトについて、カスタマイズ方法を以下に説明します。

ボリュームグループをリストアする場合

ファイルシステムが構築された論理ボリュームを含むボリュームグループがリストア対象の場合は、前後処理のシェルスクリプトを修正する必要があります。

シェルスクリプトを修正後、前処理のシェルスクリプト(OpcRestore.pre)の71行目のexit文をコメント(“#”)化してください。

注意

カスタマイズをしていない状態では、ボリュームグループに対する前処理はエラーとなります。

注意

mountコマンドなどのOSコマンドのパラメーターやオプションなどは運用に合わせて、適宜修正してください。

VERITAS Cluster Serverでクラスタ運用する場合

VERITAS Cluster Serverでクラスタ運用を行う場合で、業務ボリュームのマウントポイントがクラスタ業務に登録されている場合は、前後処理のカスタマイズが必要となります。

前後処理のシェルスクリプト内のマウント/アンマウント処理を、マウントポイントリソースのオフライン/オンライン処理に変更してください。

また、マウントポイントリソースのオフライン/オンラインを行ってから、実際にボリュームがアンマウント/マウントされるまでに時間差があります。そのため実際にアンマウント/マウントされるまで待ち合わせる処理(sleepやdfコマンドの結果を監視するなど)をオフライン/オンラインの成否を判定する個所の後に追加してください。

以下に前後処理のシェルスクリプトの変更例を示します

[例] リストア前処理のシェルスクリプト(OpcRestore.pre)のアンマウント処理変更

[81、90、112、121行目]

(変更前)

/usr/sbin/umount $mount_point

(変更後)

/opt/VRTSvcs/bin/hares -offline リソース名 -sys システム名

[例] リストア前処理のシェルスクリプト(OpcRestore.pre)のアンマウント待ち処理追加

[110、141行目]

(追加)

mount_status="mounted"
while [ $mount_status = "mounted" ]
do
mount_status=`/usr/sbin/mount | /usr/bin/nawk -v lv=$lvname 'lv==$1{flag=1; exit;} END{if(flag==1) print "mounted"; else print "not_mounted";}'`
done

[例] リストア後処理のシェルスクリプト(OpcRestore.post)のマウント処理変更

[105、114、138、147行目]

(変更前)

/usr/sbin/mount $lvname $lv_mount_point

(変更後)

/opt/VRTSvcs/bin/hares -online リソース名 -sys システム名

[例] リストア後処理のシェルスクリプト(OpcRestore.post)のマウント待ち処理追加

[132、165行目]

(追加)

mount_status="not_mounted"
while [ $mount_status = "not_mounted" ]
do
mount_status=`/usr/sbin/mount | /usr/bin/nawk -v lv=$lvname 'lv==$1{flag=1; exit;} END{if(flag==1) print "mounted"; else print "not_mounted";}'`
done