ETERNUS SF AdvancedCopy Manager 運用手引書 13.0 -Microsoft(R) Windows(R) 2000- -Microsoft(R) Windows Server(TM) 2003-
目次 索引 前ページ次ページ

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

本章では、AdvancedCopy Managerのレプリケーションの前後処理について説明します。

C.1 概 

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

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

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

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

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

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

AdvancedCopy Managerは、ファイルシステムが構築されたボリュームであることを前提として、複写元ボリューム、複写先ボリュームに対して、以下の前後処理をそれぞれ実施します。

複写元ボリューム

前処理

[デフォルト動作]

複写元ボリュームをロックします

[Xflushオプション指定またはBufferFlushOnly=onの場合]

複写元ボリュームのファイルシステムバッファをフラッシュします

[fオプション指定の場合]

処理を実施しません(複写元前処理スクリプトを実行しません)

後処理

[デフォルト動作]

複写元ボリュームのロックを解除します

[Xflushオプション指定時]

処理を実施しません

[fオプション指定の場合]

処理を実施しません(複写元後処理スクリプトを実行しません)

複写先ボリューム

前処理

[デフォルト動作]

複写先ボリュームをロックします。

[tオプション指定の場合]

処理を実施しません(複写先前処理スクリプトを実行しません)

後処理

[デフォルト動作]

複写先ボリュームのロックを解除します。

[tオプション指定の場合]

処理を実施しません(複写先後処理スクリプトを実行しません)


複写元ボリュームに対する前後処理は、複写元データを保証するためのものです。複写先ボリュームに対する前後処理は、同期処理実行中やスナップショットコピー時に他プロセスからのアクセスを不可能にするためのものです。

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

[表 C.1 ファイルシステムの前後処理]

コマンド

コピー状態

複製元/複製先

前処理

後処理

複製開始コマンド

(swsrpstartsync)

未コピー状態または

複製確立状態

複製元

×

×

複製先

○--(1)

△--(2)

複製作成コマンド

(swsrpmake)

等価性維持状態

複製元

複製先

△--(1)

○--(2)

複製解除コマンド

(swsrpcancel)

等価性維持状態

複製元

複製先

△--(1)

○--(2)

複製確立状態

複製元

×

×

複製先

×

×

コピー中

複製元

×

×

複製先

×

△--(2)

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

(swsrpmake)

未コピー状態

複製元

複製先

○:実施する
△:複写先ボリュームがクラスタシステムの共用ボリュームの場合、実施する(ただし、複写先前後処理スクリプトの呼び出しは実施しない)。
×:実施しない

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

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

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

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

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

エラーコード

用途

0-99

使用不可(AdvancedCopy Managerが予約)

100-255

使用可能

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

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

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

非クラスタ運用の場合

<環境設定ディレクトリ>\etc\repl\scriptsディレクトリ配下

クラスタ運用の場合

<共有ディスク>:\etc\opt\swstorage\etc\repl\scriptsディレクトリ配下

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

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

非クラスタ運用の場合

<環境設定ディレクトリ>\etc\repl\scriptsディレクトリ配下

クラスタ運用の場合

<共有ディスク>:\etc\opt\swstorage\etc\repl\scriptsディレクトリ配下

ボリュームのロック/ロック解除処理、バッファフラッシュ処理はスクリプトではなく、コマンド内で実施されています。したがって、複写元前後処理スクリプト、複写先前後処理スクリプトは、複写元/複写先ボリュームのロック/ロック解除処理、バッファフラッシュ処理の直前、直後にそれぞれ実行されます。複写元/複写先前後処理スクリプトでは実質的に何も処理を実施していません。

[スナップショット型レプリケーション(OPC)の場合]

[同期型レプリケーション(EC)の場合1:複写先ボリュームがクラスタシステムの共用ボリュームでない場合]

[同期型レプリケーション(EC)の場合2:複写先ボリュームがクラスタシステムの共用ボリュームの場合]

複写元ボリュームおよび複写先ボリュームのレプリケーション前処理では、他アプリケーションとの一時的なアクセス競合を回避するために、ロック処理に失敗した場合、ロック処理のリトライを実施します。既定のリトライ回数を超えた場合、コマンドは異常終了します。この場合、複写元ボリューム、複写先ボリュームを使用しているプロセスが存在していますので、アプリケーションやサービスの停止を行う等の対処を実施して、他のプロセスからボリュームが使用されていない状態にしてください。なお、ボリュームロック動作指定ファイルと呼ばれる設定ファイルを作成することにより、規定のリトライ回数の変更を行うことが可能ですが(詳細は本マニュアル『複写元ボリュームロック動作指定ファイル』、『複写先ボリュームロック動作指定ファイル』を参照してください)、レプリケーション処理実行時に他のプロセスが処理対象ボリュームを使用しないための対策が適切に行われている場合は、通常これらのファイルを作成する必要はありません。

同期型レプリケーション(EC)かつコピー先ボリュームがクラスタシステムの共用ボリュームの場合、クラスタシステムの監視を回避するため、コピー先ボリュームのロック保持期間は複製開始コマンドおよび複製作成コマンドの動作中のみとなります(上図参照)。すなわち、複製開始コマンドの実行後から複製作成コマンドの実行前まではコピー先ボリュームはロックされません。これにより、本マニュアルの『全般的な注意事項』の『イベントビューアに出力されるメッセージについて』に記載されているメッセージがイベントログに出力されることがありますが、問題はないため無視してください。

C.2.4 複写元ボリュームロック動作指定ファイ

複写元ボリュームのバックアップ前処理では、他アプリケーションとの一時的なアクセス競合を回避するために、ロック処理に失敗した場合、ロック処理のリトライが実施されます。標準のリトライ動作は以下の通りです。

リトライ上限(デフォルト値=20回)とリトライ間隔(デフォルト値=1秒)は、複写元ボリュームロック動作指定ファイルと呼ばれる設定ファイルを作成することにより変更できます。また、この設定ファイルでは、複写元ボリュームの前処理に対して、以下の動作を指示することもできます。

C.2.4.1 複写元ボリュームロック動作指定ファイルの作成方法 

複写元ボリュームロック動作指定ファイルは以下のファイル名で複写元ボリュームが存在するサーバ上に作成してください。

ファイル名

[クラスタ運用でない場合]

環境設定ディレクトリ\etc\repl\data\SRCLOCK.INI

[クラスタ運用の場合]

<共用ディスク>:\etc\opt\swstorage\etc\repl\data\SRCLOCK.INI


複写元ボリュームロック動作指定ファイルの設定例を以下に示します。

[g1d1p1]

BufferFlushOnly=off

LockForceMode=on

LockRetryNumber=10

LockRetryInterval=10

[g1d1p2]

BufferFlushOnly=on

[ANY]

BufferFlushOnly=off

LockForceMode=off

LockRetryNumber=20

LockRetryInterval=100

複写元ボリュームロック動作指定ファイルの作成方法は以下の通りです。

■SRCLOCK.INIの設定項目

キー

説明

BufferFlushOnly

複写元ボリュームのロックを実施する代わりに、複写元ボリュームのファイルシステムバッファのフラッシュを実施することを指定します:

off(デフォルト値)=バッファフラッシュを実施しない(ロックを実施する)

on =バッファフラッシュを実施する(ロックを実施しない)

swsrpmake、swsrpbackup_exchangeにXflushオプションが指定され、かつ、BufferFlushOnly=offの場合は、Xflushオプションが優先されます。

また、BufferFlushOnlyがonに指定されている場合は、他のパラメーター(LockForceMode、LockRetryNumber、LockRetryInterval)は全て無効となります。

本設定項目をonに指定する場合、複写元ボリュームに対する書き込み処理を事前に全て停止する必要があります(書き込み処理を停止しない状態で複製作成を実施した場合、複写元ボリュームのデータ内容は保証されません)。

LockForceMode

複写元ボリュームのロックに失敗した場合、ロック処理のリトライを実施しますが、リトライを実施する前にボリュームのマウントを解除することを指定します。

off(デフォルト値)=ロックのリトライ前にマウント解除を実施しない

on =ロックのリトライ前にマウント解除を実施する

ボリュームのマウントが解除されると、そのボリュームに対して開いているハンドルは、全て無効となります。

※マウント解除後にすぐにボリュームが使用中になってしまう場合には、ロックが取得できないことがあります。

BufferFlushOnlyがonに指定されている場合は、本パラメーターは無効となります。

LockRetryNumber

複写元ボリュームのロックに失敗した場合、ロック処理のリトライを実施しますが、本パラメーターでリトライ回数を指定します。指定可能な数値は、1から10000までです。

デフォルトの設定値は20(回)です。

指定されたリトライ回数、リトライを実施しても複写元ボリュームのロックができない場合は、処理を中断してコマンドを異常終了させます。

BufferFlushOnlyがonに指定されている場合は、本パラメーターは無効となります。

LockRetryInterval

複写元ボリュームのロックに失敗した場合、ロック処理のリトライを実施しますが、本オプションでリトライの間隔(ミリ秒単位)を指定します。指定可能な数値は、1から600000(10分)までです。デフォルトの設定値は1000(1秒)です。

BufferFlushOnlyがonに指定されている場合は、本パラメーターは無効となります。


C.2.5 複写先ボリュームロック動作指定ファイ

複写先ボリュームのレプリケーション前処理では、他アプリケーションとの一時的なアクセス競合を回避するために、ロック処理に失敗した場合、ロック処理のリトライが実施されます。
標準のリトライ動作は以下の通りです。

リトライ上限(デフォルト値=20回)とリトライ間隔(デフォルト値=1秒)は、複写先ボリュームロック動作指定ファイルと呼ばれる設定ファイルを作成することにより変更できます。
また、この設定ファイルでは、複写先ボリュームの前処理に対して、以下の動作を指示することもできます。

C.2.5.1 複写先ボリュームロック動作指定ファイルの作成 

複写先ボリュームロック動作指定ファイルは以下のファイル名で複写先ボリュームが存在するサーバ上に作成してください。

ファイル名

[クラスタ運用でない場合]

環境設定ディレクトリ\etc\repl\data\DSTLOCK.INI

[クラスタ運用の場合]

<共用ディスク>:\etc\opt\swstorage\etc\repl\data\DSTLOCK.INI


複写先ボリュームロック動作指定ファイルの設定例を以下に示します。

[g1d1p1]

LockForceMode=on

LockRetryNumber=10

LockRetryInterval=10

[ANY]

LockForceMode=off

LockRetryNumber=20

LockRetryInterval=100

複写先ボリュームロック動作指定ファイルの作成方法は以下の通りです。

■DSTLOCK.INIの設定項目

キー

説明

LockForceMode

複写先ボリュームのロックに失敗した場合、ロック処理のリトライを実施しますが、リトライを実施する前にボリュームのマウントを解除することを指定します。

off(デフォルト値)=ロックのリトライ前にマウント解除を実施しない
on =ロックのリトライ前にマウント解除を実施する

ボリュームのマウントが解除されると、そのボリュームに対して開いているハンドルは、全て無効となります。

※マウント解除後にすぐにボリュームが使用中になってしまう場合には、ロックが取得できないことがあります。

LockRetryNumber

複写先ボリュームのロックに失敗した場合、ロック処理のリトライを実施しますが、本パラメーターでリトライ回数を指定します。

指定可能な数値は、1から10000までです。

デフォルトの設定値は20(回)です。

指定されたリトライ回数、リトライを実施しても複写先ボリュームのロックができない場合は、処理を中断してコマンドを異常終了させます。

LockRetryInterval

複写先ボリュームのロックに失敗した場合、ロック処理のリトライを実施しますが、本オプションでリトライの間隔(ミリ秒単位)を指定します。

指定可能な数値は、1から600000(10分)までです。

デフォルトの設定値は1000(1秒)です。



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

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