DBミラーリングシステムの動作環境や、データベースの監視・切替えに関する定義は、DBミラーリング動作環境ファイルに定義します。
DBミラーリング動作環境ファイルは、UNIX系ファイルで作成します。
DBミラーリング動作環境ファイルは、両ノードで設定します。環境定義以外は両ノードで定義内容を一致させてください。環境定義は、両ノードの環境に合わせて編集してください。
以下のディレクトリ配下に作成してください。
/opt/FJSVsymdx/etc
ひな型を複写し、以下のファイル名で作成してください。
“RDBシステム名”.dx
sysconfig.dx
ひな型は、/opt/FJSVsymdx/demo/mc配下に、下表に示すファイル名で格納してあります。
ひな型ファイルでは、省略できないパラメタはコメントになっています。また、設定値としてサンプル値が記述されています。設定値を編集した後、行の先頭の“#”を削除して、その行を有効にしてください。
ファイル名 | 内容 |
---|---|
sysconfig.dx.rec.utf-8 | 日本語版(UTF-8) |
sysconfig.dx.rec.euc | 日本語版(EUC) |
sysconfig.dx.rec.sjis | 日本語版(SJIS) |
sysconfig.dx.rec | 英語版 |
DBミラーリング動作環境ファイルに記述する定義種別と定義内容を以下に示します。
種別 | 定義種別 | 定義内容 | 記述の省略 |
---|---|---|---|
通信タイプ | RLPの通信タイプ | 可 | |
環境定義 | 自側のIPアドレスまたはホスト名 | 不可 | |
相手側のRDBシステム名 | 不可 | ||
相手側のIPアドレスまたはホスト名 | 不可 | ||
相手側のポート番号 | 不可 | ||
モニタ管理ファイルの配置先ディレクトリの絶対パス名 | 不可 | ||
モニタデーモンのコアファイル出力先ディレクトリの絶対パス名 | 不可 | ||
データベースの無応答監視の設定 | データベースの無応答監視の設定(タイムアウト時間および動作) | 可 | |
データベースの閉塞の監視設定 | DB監視資源定義ファイルの絶対パス名 | 可 | |
ノード間の監視設定 | ハートビートを行う間隔 | 可 | |
| 可 | ||
GCMによる自動ノード切替えを行うか否か | 可 | ||
GCMのIPアドレスまたはホスト名 | 可 |
ポイント
DBミラーリング動作環境ファイルの環境定義パラメタは、モニタデーモンを起動することで有効となります。またその他のパラメタは、DBミラーリングサービスを開始することで有効となります。
参照
DBミラーリングシステムの運用開始後に各パラメタを変更する場合の手順は、“Mirroring Controller 運用ガイド”の“DBミラーリングシステムの定義ファイルの環境変更”を参照してください。
利用者は、エディタを使用して、このテキストファイルに各パラメタを定義します。記述形式は、以下のとおりです。
なお、行の先頭が番号記号“#”の場合、その行はコメント行として扱われます。また、行の途中に番号記号“#”を指定することはできません。
定義指示文<改行> :
各行の定義指示文の記述形式は、次のとおりです。
定義種別 = [指定値1][,指定値2]・・・
注意
定義指示文は複数行にまたがって記述することはできません。
等号“=”前後に空白、タブを指定することができます。
コンマ“,”前後に空白、タブを指定することができます。
指定値がパス名の場合は、パス名中に空白、タブ、コンマ“,”、セミコロン“;”および番号記号“#”の指定はできません。
大文字と小文字は、区別して扱われます。
ポイント
同じパラメタを複数記述した場合、最後に書いた記述が有効となります。
各パラメタの説明
RLPの通信タイプを指定します。
記述形式は、以下のとおりです。
RLP_TYPE = {TCP | REC}
本パラメタは省略可能です。省略時はRECが指定されたものとみなします。
TCP/IPによるデータ転送を行います。
ストレージのリモートコピー機能を使用してデータ転送を行う場合は、こちらを指定してください。
参照
TCPを指定する場合、導入から運用までの詳細は、“データベース二重化導入運用ガイド”を参照してください。本書はRECを指定する場合について説明しています。
モニタデーモンがノード間通信を行うための自側のIPアドレスまたはホスト名を指定します。
ホスト名を指定する場合は、“L.1 hostsファイルの編集”を参照してください。
なお、モニタデーモンのノード間通信は、DBミラーリングサービスの運用を確実にするため、管理用のLANを設定します。
記述形式は、以下のとおりです。
OWN_NODE_ADDRESS =自側のIPアドレスまたはホスト名
自側のIPアドレスまたはホスト名を、255バイト以内で指定します。
本パラメタは省略できません。
IPv6アドレスを使用する場合は、グローバルアドレスのみ使用可能です。
相手側のRDBシステム名を設定します。なお、RDBシステム名を付けない運用の場合は、ハイフン (“-”)を設定してください。
記述形式は、以下のとおりです。
OTHER_RDBSYSTEM_NAME = 相手側のRDBシステム名
相手側のRDBシステム名を、8バイト以内で指定します。
本パラメタは省略できません。
参照
RDBシステム名の詳細は“セットアップガイド”を参照してください。
モニタデーモンがノード間通信を行うための相手側のIPアドレスまたはホスト名を指定します。
ホスト名を指定する場合は、“L.1 hostsファイルの編集”を参照してください。
なお、モニタデーモンのノード間通信は、DBミラーリングサービスの運用を確実にするため、管理用のLANを設定します。
記述形式は、以下のとおりです。
OTHER_NODE_ADDRESS = 相手側のIPアドレスまたはホスト名
相手側のIPアドレスまたはホスト名を、255バイト以内で指定します。
本パラメタは省略できません。
IPv6アドレスを使用する場合は、グローバルアドレスのみ使用可能です。
モニタデーモンがノード間通信を行うための相手側のポート番号を指定します。
記述形式は、以下のとおりです。
OTHER_PORTNO = 相手側のポート番号
ポート番号は、1024~65535(推奨値:1024~32767)の範囲で、未使用の値を指定します。
本パラメタは省略できません。
モニタ管理ファイルの配置先を指定します。
記述形式は、以下のとおりです。
DX_MANAGE_PATH = モニタ管理ファイルを配置する格納先ディレクトリの絶対パス名
モニタ管理ファイルを配置する格納先ディレクトリの絶対パス名を、256バイト以内で指定します。
本パラメタは省略できません。
注意
DX_MANAGE_PATHパラメタで指定したディレクトリには、Mirroring Controllerで利用するための専用のディレクトリを用意してください。同ディレクトリ配下には、他のファイルなど資源を格納しないようにしてください。
参照
モニタ管理ファイルの構成については、“付録I Mirroring Controllerの資源のファイル名”を参照してください。
モニタデーモンのコアファイル出力先を指定します。
記述形式は、以下のとおりです。
DX_CORE_PATH = コアファイル出力先ディレクトリの絶対パス名
モニタデーモンのコアファイル出力先ディレクトリの絶対パス名を、256バイト以内で指定します。
本パラメタは省略できません。
モニタデーモンは、ノード内のデータベースの無応答状態が発生せず正常に動作しているかを3秒間隔で確認します。このとき、データベースの無応答状態を認識するまでの時間および異常を検知した場合の動作を指定します。
記述形式は、以下のとおりです。
DB_TIMEOUT = タイムアウト時間(秒)[,動作指定,再開間隔(秒)]
本パラメタは省略可能です。省略時は「タイムアウト時間=0」が指定されたものとみなします。(無応答監視を行いません)
0または3~3600秒の範囲で指定します。指定した時間が経過しても、データベースから応答がない場合は、無応答として検知します。
0を指定した場合は、無応答監視を行いません。
タイムアウト時間の見積り式を以下に示します。
タイムアウト時間 = 1SQL文の最大レスポンス時間 × (多重度 / CPUコア数)
“MESSAGE”または“FAILOVER”を指定します。
タイムアウト時間に0以外を指定した場合、動作指定の指定は必須です。
タイムアウト時間に0を指定した場合、動作指定の指定は不要です。動作指定を指定しても、指定値は無視されます。
メッセージを出力して監視を停止します。
再開間隔を指定している場合は、指定した時間が経過すると監視を再開します。
強制的に副本のデータベースを正本に切替えます。
0~3600秒の範囲で指定します。
0を指定した場合は再開処理を行いません。
動作指定にMESSAGEを指定した場合、いったんメッセージが出力されてから本指定値の時間が経過すると、監視処理は再度、メッセージ出力可能な状態となります。
動作指定にFAILOVERを指定した場合、再開間隔には0が指定されたものとみなします。
タイムアウト時間に0以外を指定した場合、再開間隔の指定は必須です。
タイムアウト時間に0を指定した場合、再開間隔の指定は不要です。再開間隔を指定しても、指定値は無視されます。
注意
いったん停止した監視を再開する場合は、該当ノードのモニタデーモンのサービスを再起動することで再開されます。
監視対象のデータベース資源および監視方法を指定したファイルであるDB監視資源定義ファイルを指定します。
本ファイルで指定したデータベース資源の監視方法に該当する事象(DSIの閉塞など)が発生した場合、モニタデーモンは、強制的に副本のデータベースを正本に切替えます。
記述形式は、以下のとおりです。
DB_INH_OBSERVE = DB監視資源定義ファイルの絶対パス名
DB監視資源定義ファイルの絶対パス名を、256バイト以内で指定します。
本パラメタは省略可能です。省略時は監視対象のデータベース資源が指定されないものとみなします。
ポイント
DBミラーリング動作環境ファイルのパラメタ指定により出力されるメッセージは監視対象としてください。
DB監視資源定義ファイルで指定したデータベース資源の監視方法に該当する事象が発生した場合、次にDBミラーリングサービスを開始するまで監視を停止します。
参照
DB監視資源定義ファイルの作成方法については“G.1.1 監視データベース資源の指定”を参照してください。
DB監視資源定義ファイルの指定により出力されるメッセージについては“Mirroring Controller 運用ガイド”の“ノードの異常発生の監視”を参照してください。
モニタデーモンが正本のデータベースを監視するために、ハートビートを行う間隔を指定します。
記述形式は、以下のとおりです。
POLL_TIME = 送受信間隔時間(ミリ秒)
送受信間隔時間は500から10000の間の値を指定します。
本パラメタは省略可能です。省略時は1000が指定されたものとみなします。
本パラメタは、GCM_FAILOVERパラメタの指定値によって記述形式が異なります。
モニタデーモンが、POLL_TIMEパラメタで指定した送受信間隔を元に、ハートビートの異常を検知するまでの時間(確認データを受信してから、次の確認データが到着するまでのタイムアウト時間)を指定します。
記述形式は、以下のとおりです。
POLL_WAITOUT = タイムアウト時間 (秒)
3~3600秒の範囲で指定します。この時間までに応答がない場合、無応答として検知します。
本パラメタは省略可能です。省略時は「タイムアウト時間=5」が指定されたものとみなします。
モニタデーモンが、POLL_TIMEパラメタで指定した送受信間隔を元に、ハートビートの異常を検知するまでの時間(確認データを受信してから、次の確認データが到着するまでのタイムアウト時間)、ハートビートの異常を検知した場合の動作、および、再開間隔を指定します。
記述形式は、以下のとおりです。
POLL_WAITOUT = タイムアウト時間(秒)[,動作指定,再開間隔(秒)]
0または3~3600秒の範囲で指定します。この時間までに応答がない場合、無応答として検知します。
0を指定した場合は、無応答監視を行いません。
“MESSAGE”を指定します。
タイムアウトを検知した場合、メッセージを出力して、いったんハートビート処理を停止します。再開間隔で指定した時間が経過するとハートビート処理を再開します。
タイムアウト時間に0以外を指定した場合、動作指定の指定は必須です。
タイムアウト時間に0を指定した場合、動作指定は不要です。動作指定を指定しても、指定値は無視されます。
0~3600秒の範囲で指定します。
0を指定した場合は再開処理を行いません。
動作指定にMESSAGEを指定した場合に、いったんメッセージが出力されてから本指定値の時間が経過すると、監視処理は再度、メッセージ出力可能な状態となります。
タイムアウト時間に0以外を指定した場合、再開間隔の指定は必須です。
タイムアウト時間に0を指定した場合、再開間隔指定は不要です。再開間隔を指定しても、指定値は無視されます。
注意
いったん停止したハートビートは、該当ノードのDBミラーリングサービスの停止・開始をすることで再開されます。
本定義は省略可能です。省略時は「タイムアウト時間=5」、「動作指定=“MESSAGE”」および「再開間隔=10」が指定されたものとみなします。
ノード間の通信環境の異常を検出した場合に、自動ノード切替えを行うか否かを指定します。
記述形式は、以下のとおりです。
GCM_FAILOVER = {YES | NO}
本パラメタは省略可能です。省略時は「NO」が指定されたものとみなし、手動切替えとなります。
ノード間の通信環境の異常を検出した場合に、自動ノード切替えを行います。
YESを指定した場合は、GCMが必要となります。
自動ノード切替えは行いません。
注意
以下の事象が発生した場合に、ノード間の通信環境異常になります。
相手ノードのスローダウン
通信環境の過負荷
LAN回線の切断
相手ノードのモニタデーモンのダウン
相手ノードのOSのダウン
GCM_FAILOVERにYESを設定した場合に、GCMのIPアドレスまたはホスト名を指定します。
複数指定する場合は、カンマ(,)で続けて指定してください。最大8つのIPアドレスまたはホスト名を指定可能です。
複数指定した場合は、本パラメタに指定された順序で接続するGCMを切り替えます。
記述形式は、以下のとおりです。
GCM_ADDRESS = GCMの配置先のIPアドレスまたはホスト名[,GCMの配置先のIPアドレスまたはホスト名]・・・
GCMの配置先のIPアドレスまたはホスト名を、1つが255バイト以内で指定します。
注意
ホスト名を指定する場合は、“L.1 hostsファイルの編集”を参照してください。
本パラメタは、GCM_FAILOVERにYESを設定した場合、省略できません。
モニタデーモン再起動時は、GCM_ADDRESSの先頭に記述されたGCMから接続をやり直します。
DBミラーリング動作環境ファイルの記述例を、以下に示します。
RLP_TYPE=REC OWN_NODE_ADDRESS = 10.128.25.128 OTHER_RDBSYSTEM_NAME = rdbsys2 OTHER_NODE_ADDRESS = 10.128.25.129 OTHER_PORTNO = 26800 DX_MANAGE_PATH = /work/duplex/def DX_CORE_PATH = /work/duplex/core_dir DB_TIMEOUT = 0 POLL_TIME = 1000 POLL_WAITOUT = 10 GCM_FAILOVER = YES GCM_ADDRESS = 10.128.25.130