ETERNUS SF AdvancedCopy Manager 運用手引書 13.0 -Solaris-
目次 索引 前ページ次ページ

付録C レプリケーションの前後処理

本章では、AdvancedCopy Managerのレプリケーションの前後処理を行うシェルスクリプトについて説明します。

C.1 概 

レプリケーションの前後処理のシェルスクリプトは、レプリケーション(複製)処理の前後で起動されます。

これらのシェルスクリプトには、AdvancedCopy Managerが、複製元ボリュームおよび複製先ボリュームに必要な処理を記述します。

この章では、前後処理の設定について説明します。

C.2 レプリケーションの前後処 

AdvancedCopy Managerでのレプリケーションの前後処理は、複製元/複製先ボリュームの双方に対して実施する必要がありますが、その目的は異なります。

前後処理で行う具体的な処理は、そのボリュームのデータ内容によって異なります。次章では、ファイルシステムとデータベースの前後処理についてそれぞれ説明します。

C.2.1 ファイルシステムの前後処 

ファイルシステムの前後処理とは、ファイルシステムのアンマウント/マウント処理です。複製元ボリュームに対する前後処理は、複製元データを保証するためのものです。複製先ボリュームに対する前後処理は、同期処理実行中やスナップショットコピー時に他プロセスからのアクセスを不可能にするためのものです。ボリュームがマウントされていない場合は、前後処理は実施されません。

ファイルシステムの前後処理の実施状況を以下に示します。この表は、前後処理が実行されるかどうかは、コマンド種別によって異なり、さらに、そのコマンドを実行したときのコピー状態によっても異なることを示しています。

コマンド

コピー状態

複製元/複製先

前処理

後処理

複製開始コマンド

(swsrpstartsync)

未コピー状態または

複製確立状態

複製元

×

×

複製先

○--(1)

×

複製作成コマンド

(swsrpmake)

等価性維持状態

複製元

複製先

×

○--(2)

複製解除コマンド

(swsrpcancel)

等価性維持状態

複製元

複製先

×

○--(2)

複製確立状態

複製元

×

×

複製先

×

×

コピー中

複製元

×

×

複製先

×

×

スナップショット複製作成コマンド

(swsrpmake)

未コピー状態

複製元

複製先


[表 C.1 ファイルシステムの前後処理(○:実施する、×:実施しない)]

(1)で行った前処理に対する後処理は(2)で行われます。(2)の後処理では、(1)の前処理でアンマウントしたマウントポイントに再マウントを行います。

ファイルシステムの前後処理は、カスタマイズ可能なようにスクリプトになっています。レプリケーション管理コマンドを実施した際に、上の表にしたがって起動されます。また、サーバ間レプリケーションの場合、接続されていないボリュームの前後処理は、TCP/IPによるリモート実行でこれらのスクリプトが実行されます。

図 C.1 に前後処理の動作イメージを示します。

[図 C.1 同期型レプリケーションの処理方法]

前後処理で標準の前後処理以外で必要な処理がある場合はそれぞれのスクリプトをカスタマイズしてください。

スクリプトをカスタマイズする場合、エラーコードは以下の規約に従ってください。

エラーコード

用途

0-99

使用不可(AdvancedCopy Managerが予約)

100-255

使用可能

データベースの前後処理については、AdvancedCopy Managerでは機能を提供しませんので、AdvancedCopy Managerコマンド実行の前後で独自に実施する必要があります。

C.2.2 レプリケーション実行時の前処

前処理スクリプトには複写元ボリューム(RepSrc.Pre)と複写先ボリューム(RepDst.Pre)を用意し、以下のディレクトリ配下に格納されています。処理の必要性に応じてスクリプトをカスタマイズしてください。

非クラスタ運用の場合

/etc/opt/FJSVswsrp/shディレクトリ配下

クラスタ運用の場合

/etc/opt/FJSVswsrp/<論理ノード名>/shディレクトリ配下

■複写元ボリュームをアンマウントしたくない場

マウントされているがアンマウントしたくない複写元ボリュームに対しては、以下のカスタマイズ例を参考にしてスクリプトをカスタマイズしてください。

この操作は、ファイルシステムが以下の場合のみ可能です。

カスタマイズしたスクリプトによる複写元ボリュームの前後処理の動作は、以下のようになります。

複写元ボリュームの状態

複写元前処理

複写元後処理

マウントされている

複写元ボリュームへの更新を抑止します

複写元ボリュームへの更新抑止を解除します


カスタマイズしたスクリプトによる複写先ボリュームの後処理の動作は、以下のようになります。

複写先後処理

複写先ボリュームの整合性を確認します

標準のスクリプトを使用した運用では、アドバンスト・コピー(EC/OPC)の前にファイルシステムをアンマウントすることにより、ファイルシステムのキャッシュの書き出しと、その後の更新が抑止されるため、ファイルシステム全体のデータの整合性が保証されます。
スクリプトをカスタマイズして、ファイルシステムのアンマウントを行わない場合は、lockfs -wを使用してファイルシステムのキャッシュのフラッシュと、その後の更新を抑止しますが、Write Open中のファイル(オンラインバックアップをサポートしているOracleのデータベーススペースは除きます)については、ファイル内容の保証はされません。
また、メタデータ更新中のプロセスがある場合は、lockfsの仕様上、ファイルシステム自体のデータ整合性も保障されません。
したがって、ファイルシステムのアンマウントを行わない場合のデータ整合性については、運用で考慮・対処する必要があります。

C.2.3 レプリケーション実行時の後処

後処理スクリプトには複写元ボリューム(RepSrc.Post)と複写先ボリューム(RepDst.Post)を用意し、以下のディレクトリ配下に格納されています。処理の必要性に応じてスクリプトをカスタマイズしてください。

非クラスタ運用の場合

/etc/opt/FJSVswsrp/shディレクトリ配下

クラスタ運用の場合

/etc/opt/FJSVswsrp/<論理ノード名>/shディレクトリ配下

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

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

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

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

以下に前後処理スクリプトのカスタマイズ例を示します。

[例] 複写元ボリューム前処理スクリプト(RepSrc.pre)のアンマウント処理変更

[89,99行目]

(変更前)

/usr/sbin/umount $mount_point

(変更後)

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

[例] 複写元ボリューム前処理スクリプト(RepSrc.pre)のアンマウント待ち処理の追加

[118行目]

(追加)

while /usr/sbin/df -l "$device">/dev/null 2>&1; do :; done

[例] 複写先ボリューム前処理スクリプト(RepDst.pre)のアンマウント処理変更

[74,84行目]

(変更前)

/usr/sbin/umount $mount_point

(変更後)

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

[例] 複写先ボリューム前処理スクリプト(RepDst.pre)のアンマウント待ち処理追加

[103行目]

(追加)

while /usr/sbin/df -l "$device">/dev/null 2>&1; do :; done

[例] 複写元ボリューム後処理スクリプト(RepSrc.post)のマウント処理変更

[99,103,105,118,122,124行目]

(変更前)

/usr/sbin/mount $device $mount_point又は

/usr/sbin/mount -F $fs $device $mount_point

(変更後)

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

[例] 複写元ボリューム後処理スクリプト(RepSrc.post)のマウント待ち処理追加

[144行目]

(追加)

until /usr/sbin/df -l "$device">/dev/null 2>&1; do :; done

[例] 複写先ボリューム後処理スクリプト(RepDst.post)のマウント処理変更

[153,160,172,179行目]

(変更前)

/usr/sbin/mount $device $mount_point 又は

/usr/sbin/mount -F $fs $device $mount_point

(変更後)

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

[例] 複写先ボリューム後処理スクリプト(RepDst.post)のマウント待ち処理追加

[197行目]

(追加)

until /usr/sbin/df -l "$device">/dev/null 2>&1; do :; done


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2002-2006