この項では、LinuxでOracle ACFSファイルシステムのレプリケーションを管理するための操作について説明します。
プライマリおよびスタンバイ・ファイルシステムに作成したボリューム上のディスク・グループのASM
およびADVM
の互換性属性が11.2.0.3
以上に設定されていることが必要です。ディスク・グループの互換性の詳細は、「ディスク・グループの互換性」を参照してください。
レプリケーションを管理するための手順は次のとおりです。
プライマリおよびスタンバイ・ファイルシステムをホストしているサイト上でレプリケーションに必要なストレージ容量を決定します。プライマリ・ファイルシステムには、ファイルシステムをマウントする各ノードにつき最低4 GB必要です。スタンバイ・ファイルシステムには最低4GB必要です。これは、レプリケートされているデータ量およびプライマリ・ファイルシステムから送信されたレプリケーション・ログに必要なスペースには適切なサイズです。
プライマリ・ファイルシステムに必要なレプリケーションに関連するストレージを計算し、同じサイズ要件をスタンバイ・ファイルシステムに使用します。Oracle ACFSタグ付けを使用してプライマリ・ファイルシステムのファイルのサブセットのみをレプリケートする場合、スタンバイ・ファイルシステムのサイズ要件は、プライマリ・ファイルシステムのそのサブセットに比例します。
acfsutil
info
fs
コマンドを、ノードのプライマリ・ファイルシステムへの変更の量と変更速度を表示するためにプライマリ・ファイルシステムがマウントされているノード上で-s
interval
オプションで実行します。変更の量には、プライマリ・ファイルシステムへのすべてのユーザーとメタデータの変更が含まれます。この量は、ファイルシステムへの変更を記録するときに生成されるレプリケーション・ログのサイズとほぼ同じです。変更は、適用されるために送信されるまで、スタンバイにプライマリ・ファイルシステム内の特別ディレクトリに保持されるレプリケーション・ログと呼ばれる一時ファイルに保存されます。レプリケーション・ログに含まれる変更がスタンバイ・ファイルシステムに正しく適用されたという確認が受信された後、プライマリ・ファイルシステム上のレプリケーション・ログが削除されます。
レプリケーション・ログに必要な追加のストレージ容量を見積もるには、次のことを決定します。
スタンバイ・ファイルシステムをホストしているサイトへアクセスしているときに、プライマリ・ファイルシステムをホストしているサイトでネットワーク接続の問題やスローダウンが発生する可能性のある時間間隔。
スタンバイ・ファイルシステムをホストしているサイトがメンテナンスのためにオフラインになる可能性のある時間間隔。
これらの時間間隔は、記憶領域での変更の量と変更速度の計算で使用されます。プライマリ・ファイルシステムがスタンバイ・ファイルシステムにレプリケーション・ログを通常の速度で送信できなくなる、またはスタンバイ・ファイルシステムがメンテナンス中でアクセスできなくなる時間間隔を明らかにする必要があります。レプリケーション・ログは、プライマリ・ファイルシステムをホストしているサイトで累積し続け、最終的にそのサイトが領域不足になる原因となることがあります。
次のシナリオでは、t
= 60分が、使用環境における、スタンバイ・ファイルシステムをホストしているサイトのメンテナンスまたはネットワーク障害の妥当な時間間隔だと仮定します。
acfsutil
info
fs
-s
900
をプライマリ・ファイルシステムで実行し、24時間の平均の変更速度を15分(900秒)間隔で収集します。t/4
(60/4=15)の結果はサンプリング間隔の値です。重要なピークが欠落する可能性があるため、時間間隔にはt/2
の値を超えないようにします。
$ /sbin/acfsutil info fs -s 900 /acfsmounts/repl_data
この出力を使用して、平均の変更速度、ピークの変更速度、ピークの持続時間を決定できます。しかし、このコマンドが表示する情報は、コマンドが実行するノードについてのみです。ファイルシステムでの合計の変更の量を収集するには、ファイルシステムを変更しているそれぞれのノードでコマンドを実行する必要があります。サポートするノードの最大数は8です。
次の式では追加で必要なストレージ容量を見積もります。
Extra storage capacity to hold replication logs = (Number-nodes-on-primary * 1GB) + P
ここで、P
は、acfsutil
info
fs
–s
出力によって報告された時間t
にすべてのノードから生成された変化のピーク量です。
例では、60分で発生する変化の合計を求めるために、4つの15分間隔からの変化を合計する必要があります。最大変化量が発生した1つの時間を使用することを選択できますが、最悪のシナリオに備えて一緒に発生しない場合でも上位4つの15分間隔を選択することができます。
プライマリ・ファイルシステムを変更中の4つのノードがあって、測定された間隔中、60分間に報告されたピーク変更量は、すべてのノードで約20GBと仮定します。ストレージ容量の式を使用すると、プライマリ・ファイルシステムをホストしている各サイトには、24GBの余分なストレージ容量がレプリケーション・ログのストレージ用に必要です。
Extra storage capacity to hold replication logs = (4 * 1GB per node) + 20GB maximum change per hour = 24GB of extra storage capacity
次にネットワークの転送速度が、監視中に確認された変更速度以上かどうかをチェックします。前例で、時間ごとに変更されたデータ20GBのピークは、約5.5MB/secのピーク変更速度と同等です。この変更速度を保持するには、既存のネットワーク・ワークロードにマイナスの影響を与えることなく、ネットワークが少なくとも毎秒このデータ量を確実に転送できることを確認する必要があります。
現在の実際のネットワークの転送速度を見積もるには、ネットワーク使用が低い間隔のときに、プライマリ・ファイルシステムから目的のスタンバイ・ファイルシステムへ1GBのファイルをFTP転送するのに必要な時間を計算します。たとえば、1GBのファイルを30秒で転送する場合、現在のFTP速度は1秒当たり33MB(1000MB/30秒 = 33MB/秒)です。転送固有の様々な遅延のため、計画している目的については、測定されたFTP転送速度を20%減らし、ノードにつき5%追加する必要があります。
4つのノードの前例で、計画に使用されるFTP転送速度は次のとおりです。
33 MB/sec * (1 – (0.2) – (4 * 0.05)) = 33 * (0.6) = ~20MB/sec
ピークの変更速度は5.5MB/秒だけであるため、例ではネットワークでこの追加ワークロードを処理できることが予想されます。ただし、ネットワークの容量が十分活用されて閉じている場合、このファイルシステムとワークロードのレプリケーションを実装する前にネットワークの容量の増加を検討する場合があります。
さらに、ネットワーク問題によってプライマリ・ファイルシステムがレプリケーション・ログをスタンバイ・ファイルシステムに送信することが回避されたあとで、レプリケーションが追い付くのに十分なネットワーク容量を確保します。
詳細は、「acfsutil info fs」を参照してください。
タグ、ユーザー名およびサービス名を設定します。
Oracle ACFSファイルシステムでレプリケーションを開始するには、まず次の手順を実行します。
プライマリおよびスタンバイ・ファイルシステムをホストしているサイトが、Oracle ASMおよびDBA管理者としてリモートOracle ASMインスタンスに接続するのに使用する、ユーザー名とパスワードを決定します。ファイルシステムがマウントしているすべてのノードはこのユーザー名とパスワードをサポートする必要があります。ユーザーにはSYSASM
およびSYSDBA
権限が必要です。次に例を示します。
SQL> CREATE USER primary_admin IDENTIFIED BY primary_passwd; SQL> GRANT sysasm,sysdba TO primary_admin;
Oracleウォレットを使用して、セキュリティ資格証明を管理する必要があります。
関連項目:
Oracleウォレットの詳細は、『Oracle Databaseエンタープライズ・ユーザー・セキュリティ管理者ガイド』を参照してください。
ウォレットの管理の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。
SQLNET.ORA
ファイルのウォレット・パラメータの詳細は、『Oracle Database Net Servicesリファレンス』を参照してください。
レプリケートするファイルシステムの一意のサービス名を決定します。
プライマリおよびスタンバイ・ファイルシステムが耐障害のために異なるクラスタにある場合は、プライマリおよびスタンバイ・ファイルシステムのサービス名が同一になることがあります。ただし、テスト構成などで両方のファイルシステムが同じノードにマウントされている場合は、プライマリおよびスタンバイ・ファイルシステムには一意のサービス名を使用する必要があります。プライマリおよびスタンバイ・ファイルシステムに一意のサービス名を使用するには、レプリケーションの初期化で-c
オプションを使用する必要があります。サービス名は、最大128バイトに制限されています。
注意:
+ASMというサービス名はOracle ASMインスタンスによって現在使用されているため、これ以外のサービス名を指定する必要があります。
複数のレプリケートされたファイルシステムがノードまたはクラスタ上にある場合、レプリケートする各ファイルシステムに対して一意のサービス名を指定する必要があります。
このサービス名を使用して、リモート・サイトに接続するプライマリおよびスタンバイ・ファイルシステムをホストしているサイト上にネット・サービスのエイリアスを作成します。このエイリアスと、ユーザー名およびパスワードは、レプリケーションの初期化コマンドで接続文字列として使用されます。
たとえば、次にプライマリおよびスタンバイ・ファイルシステムをホストしているサイトのネット・サービス・エイリアスを使用した接続記述子の例を示します。
primary_repl_site=(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=primary1.example.com)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=primary2.example.com)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=primary_service))) standby_repl_site=(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=standby1.example.com)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=standby_service)))
単一クライアント・アクセス名(SCAN) VIPを使用してレプリケーションを実行する場合、Oracle ASMインスタンスでREMOTE_LISTENER
初期化パラメータを更新する必要があります。初期化ファイルまたはALTER
SYSTEM
SQL文でパラメータを更新できます。
次に例を示します。
SQL> ALTER SYSTEM SET remote_listener='SCAN_NAME:1521' sid='*' scope=both;
関連項目:
接続記述子の詳細は、『Oracle Database Net Services管理者ガイド』を参照してください。
オプションで、ディレクトリおよびファイルにタグを設定して、Oracle ACFSファイルシステム内で選択したファイルのみをレプリケートするようにします。レプリケートが開始されてからファイルにタグを追加することもできます。ファイルにタグ付けする手順の詳細は、「Oracle ACFSファイルシステムのタグ付け」を参照してください。
スタンバイ・ファイルシステムをホストしているサイトを構成します。
Oracle ACFSファイルシステムをレプリケートする前に、次の手順を実行して、スタンバイ・ファイルシステムをホストしているサイトを構成します。
レプリケートされたファイルおよびプライマリ・ファイルシステムからの関連するレプリケーション・ログを保持するのに十分なサイズの新しいファイルシステムを作成します。たとえば、/standby/repl_data
です。
1つのノードのみにファイルシステムをマウントします。
acfsutil
repl
init
standby
コマンドを実行します。このコマンドがなんらかの理由で中断した場合、ユーザーはファイルシステムを再作成し、それを1つのノードのみにマウントして、コマンドを再実行する必要があります。このコマンドには次の構成情報が必要です。
プライマリ・ファイルシステムをホストしているサイトに接続するのに使用する接続文字列。次に例を示します。
/@primary_repl_site
接続文字列は、ユーザーのウォレット内で、エイリアスprimary_repl_site
に関連付けられたユーザー名およびパスワードを検索します。ユーザーにはSYSASM
およびSYSDBA
権限が必要です。
スタンバイ・ファイルシステムがプライマリ・ファイルシステムとは異なるサービス名を使用している場合、-c
オプションを使用します。このオプションは、スタンバイ・ファイルシステムのサービス名を指定します。次に例を示します。
standby_repl_service
スタンバイ・ファイルシステムのマウント・ポイント。次に例を示します。
/standby/repl_data
たとえば、次のacfsutil
repl
init
standby
コマンドを、スタンバイ・ファイルシステムをホストしているサイトで実行します。
$ /sbin/acfsutil repl init standby -p /@primary_repl_site -c standby_repl_service /standby/repl_data
acfsutil
repl
init
standby
コマンドを実行するにはroot権限またはシステム管理者権限が必要です。
詳細は、「acfsutil repl init」を参照してください。
プライマリ・ファイルシステムをホストしているサイトを構成します。
スタンバイ・ファイルシステムの設定後、プライマリ・ファイルシステムをホストしているサイトを構成し、次の手順を実行してレプリケーションを開始します。
acfsutil
repl
init
primary
コマンドを実行します。このコマンドには次の構成情報が必要です。
スタンバイ・ファイルシステムをホストしているサイトに接続するのに使用する接続文字列。次に例を示します。
/@standby_repl_site
接続文字列は、ユーザーのウォレット内で、エイリアスstandby_repl_site
に関連付けられたユーザー名およびパスワードを検索します。ユーザーにはSYSASM
およびSYSDBA
権限が必要です。
プライマリ・ファイルシステムのマウント・ポイント。たとえば、/acfsmounts/repl_data
です。
プライマリ・ファイルシステムがスタンバイ・ファイルシステムとは異なるサービス名を使用している場合、-c
オプションを使用します。このオプションは、プライマリ・ファイルシステムをホストしているサイト上のサービス名を指定します。次に例を示します。
primary_repl_service
スタンバイ・ファイルシステムをホストしているサイト上のマウント・ポイントが、プライマリ・ファイルシステムをホストしているサイト上のマウント・ポイントと異なる場合、-m
standby_mount_point
オプションを使用して、スタンバイ・ファイルシステム上のマウント・ポイントを指定します。次に例を示します。
-m /standby/repl_data
たとえば、次のacfsutil
repl
init
primary
コマンドを、プライマリ・ファイルシステムをホストしているサイトで実行します。
$ /sbin/acfsutil repl init primary -s /@standby_repl_site -m /standby/repl_data -c primary_repl_service /acfsmounts/repl_data
acfsutil
repl
init
primary
コマンドを実行するにはroot権限またはシステム管理者権限が必要です。
詳細は、「acfsutil repl init」を参照してください。
ファイルシステムのレプリケーションに関する情報を監視します。
acfsutil
repl
info
コマンドは、プライマリまたはスタンバイ・ファイルシステムで処理中のレプリケーションの状態に関する情報を表示します。
たとえば、次のacfsutil
repl
info
コマンドを、プライマリ・ファイルシステムをホストしているサイトで実行して、構成情報を表示します。
$ /sbin/acfsutil repl info -c -v /acfsmounts/repl_data
このコマンドを実行するには、システム管理者またはOracle ASM管理者権限が必要です。
詳細は、「acfsutil repl info」を参照してください。
レプリケーション・バックグラウンド・プロセスを管理します。
acfsutil
repl
bg
コマンドを実行してレプリケーション・バックグラウンド・プロセスを開始、停止、または情報を取得します。
たとえば、次の例では、/acfsmounts/repl_data
ファイルシステムのレプリケーション・プロセスの情報を表示します。
$ /sbin/acfsutil repl bg info /acfsmounts/repl_data
acfsutil
repl
bg
info
コマンドを実行するには、システム管理者またはOracle ASM管理者権限が必要です。
詳細は、「acfsutil repl bg」を参照してください。
必要な場合にのみレプリケーションを一時的に停止します。
acfsutil
repl
pause
コマンドを実行して、レプリケーションを一時停止します。できるだけ早くacfsutil
repl
resume
コマンドを実行して、レプリケーションを再開する必要があります。
たとえば、次のコマンドでは、/acfsmounts/repl_data
ファイルシステムのレプリケーションを一時停止します。
$ /sbin/acfsutil repl pause /acfsmounts/repl_data
次のコマンドでは、/acfsmounts/repl_data
ファイルシステムのレプリケーションを再開します。
$ /sbin/acfsutil repl resume /acfsmounts/repl_data
このコマンドを実行するには、システム管理者またはOracle ASM管理者権限が必要です。
詳細は、「acfsutil repl pause」および「acfsutil repl resume」を参照してください。
スタンバイ・ファイルシステムにフェイルオーバーするか、スタンバイ・ファイルシステムをアクティブ・ファイルシステムに切り替えます。
プライマリ・ファイルシステムが消滅した場合、acfsutil
terminate
standby
mount_point
コマンドを実行して、スタンバイ・ファイルシステムをアクティブ・ファイルシステムに切り替えます。プライマリ・ファイルシステムがまだ存在している場合、acfsutil
terminate
primary
mount_point
を使用してプライマリを先に停止する必要があります。
スタンドバイ・システムでacfsutil
repl
terminate
を使用してレプリケーションを停止する前に、スタンバイ・ファイルシステムが表すプライマリ・ファイルシステムのポイント・イン・タイムを決定できます。このタイムスタンプは、acfsutil
repl
info
-c
コマンドによりLast
sync
time
with
primary
と表示されます。フェイルオーバー・アクションとOracle Data Guardが連携する必要がある場合、必要に応じてタイムスタンプを使用してデータベースを元に戻したり、タイムスタンプに基づく他の必要なアクションを実行したりできます。詳細は、「acfsutil repl info」を参照してください。
注意:
Oracle ACFSファイルシステムで、df
は内部メタデータに加えてユーザー・ファイルおよびディレクトリの領域使用量を報告します。du
はユーザー・ファイルおよびディレクトリの領域使用量のみを報告します。ボリュームのサイズおよびノード数により、内部メタデータは様々なサイズで割り当てられます。さらに、レプリケーションが有効な場合、内部レプリケーション・ログが各ノードに割り当てられ、レプリケーション・ログをユーザー領域デーモンに公開してスタンバイに転送する前に、ファイルシステムへの変更を報告するのに使用されます。
Oracle ACFSファイルシステムのレプリケーションの詳細は、「Oracle ACFSレプリケーション」を参照してください。