DBミラーリングシステムの動作環境や、データベースの監視・切替えに関する定義は、DBミラーリング動作環境ファイルに定義します。
DBミラーリング動作環境ファイルは、両ノードで設定します。環境定義以外は両ノードで定義内容を一致させてください。環境定義は、両ノードの環境に合わせて編集してください。
以下のディレクトリ配下に作成してください。
Symfoware Serverのインストールディレクトリ\DX\ETC
ひな型を複写し、以下のファイル名で作成してください。
“RDBシステム名”.dx
sysconfig.dx
ひな型は、Symfoware Serverのインストールディレクトリ\DX\DEMO\MC配下に、下表に示すファイル名で格納してあります。
ひな型ファイルでは、設定値を編集する必要のあるパラメタはコメントになっています。設定値にはサンプル値が記述されていますので、設定値を編集した後、行の先頭の“#”を削除して、その行を有効にしてください。
ファイル名 | 内容 |
---|---|
sysconfig.dx.net.sjis | 日本語版(SJIS) |
sysconfig.dx.net | 英語版 |
DBミラーリング動作環境ファイルに記述する定義種別と定義内容を以下に示します。
種別 | 定義種別 | 定義内容 | 記述の省略 |
---|---|---|---|
通信タイプ | RLPの通信タイプ | 不可 | |
環境定義 | 自側のIPアドレスまたはホスト名 | 不可 | |
相手側のRDBシステム名 | 不可 | ||
相手側のIPアドレスまたはホスト名 | 不可 | ||
相手側のポート番号 | 不可 | ||
モニタ管理ファイルの配置先ディレクトリの絶対パス名 | 不可 | ||
ネットワーク連携の設定 | RERUNログ転送結果の待ち時間 | 可 | |
LAN断線時の再接続リトライ回数、再接続タイムアウト時間、およびリトライ間隔 | 可 | ||
データベースのダウン監視の設定 | データベースダウン時の動作 | 可 | |
データベースの無応答監視の設定 | データベースの無応答監視の設定(タイムアウト時間および動作) | 可 | |
データベースの閉塞の監視設定 | DB監視資源定義ファイルの絶対パス名 | 可 | |
ノード間の監視設定 | ハートビートを行う間隔 | 可 | |
ハートビートの異常を検知するまでのタイムアウト時間 | 可 | ||
GCMによる自動ノード切替えを行うか否か | 可 | ||
GCMのIPアドレスまたはホスト名 | 可 | ||
RLP閉塞のディレイの設定 | RLP閉塞をディレイさせるか否か | 可 |
ポイント
DBミラーリング動作環境ファイルの環境定義パラメタ、およびネットワーク連携設定のパラメタは、モニタデーモンを起動することで有効となります。またその他のパラメタは、DBミラーリングサービスを開始することで有効となります。
参照
DBミラーリングシステムの運用開始後に各パラメタを変更する場合の手順は、“10.2 DBミラーリングシステムの定義ファイルの環境変更”を参照してください。
利用者は、エディタを使用して、このテキストファイルに各パラメタを定義します。記述形式は、以下のとおりです。
なお、行の先頭が番号記号“#”の場合、その行はコメント行として扱われます。また、行の途中に番号記号“#”を指定することはできません。
定義指示文<改行> :
各行の定義指示文の記述形式は、次のとおりです。
定義種別 = [指定値1][,指定値2]・・・
注意
定義指示文は複数行にまたがって記述することはできません。
等号“=”前後に空白、タブを指定することができます。
コンマ“,”前後に空白、タブを指定することができます。
指定値がパス名の場合は、パス名中に空白、タブ、コンマ“,”、セミコロン“;”および番号記号“#”の指定はできません。
大文字と小文字は、区別して扱われます。
ポイント
同じパラメタを複数記述した場合、最後に書いた記述が有効となります。
各パラメタの説明
モニタデーモンがノード間通信を行うための自側のIPアドレスまたはホスト名を指定します。
また、モニタデーモンのノード間通信は、DBミラーリングサービスの運用を確実にするため、管理用のLANおよびデータ転送用のLANのIPアドレスまたはホスト名を設定します。
なお、データベース二重化のコマンド(例:dxinfコマンド)では、指定した値に対して名前解決をしています。そのため、名前解決に必要とされるhostsファイルやDNSサーバなどのネットワーク利用環境を正しく構築・設定してください。
記述形式は、以下のとおりです。
OWN_NODE_ADDRESS = 1系統目の自側のIPアドレスまたはホスト名[,2系統目の自側のIPアドレスまたはホスト名]
1系統目の自側のIPアドレスまたはホスト名、および、2系統目の自側のIPアドレスまたはホスト名を、それぞれ255バイト以内で指定します。
本パラメタは省略できません。
IPv6アドレスを使用する場合は、グローバルアドレスのみ使用可能です。
2系統のLANを使用することを推奨します。
2系統目のLANの情報を設定する場合は、OTHER_NODE_ADDRESSも2系統の情報を設定してください。
業務用のLANを使用し、かつ回線が1系統の場合に、“-”と指定することも可能です。
参照
hostsファイルについては、“H.1 hostsファイルの編集”を参照してください。
dxinfコマンドの名前解決については、“コマンドリファレンス”の“dxinf”を参照してください。
ネットワーク利用環境の構築・設定方法については、使用しているシステムベンダのドキュメントを参照してください。
相手側のRDBシステム名を設定します。なお、RDBシステム名を付けない運用の場合は、ハイフン (“-”)を設定してください。
記述形式は、以下のとおりです。
OTHER_RDBSYSTEM_NAME = 相手側のRDBシステム名
相手側のRDBシステム名を、8バイト以内で指定します。
本パラメタは省略できません。
参照
RDBシステム名の詳細は“セットアップガイド”を参照してください。
モニタデーモンがノード間通信を行うための相手側のIPアドレスまたはホスト名を指定します。
また、モニタデーモンのノード間通信は、DBミラーリングサービスの運用を確実にするため、管理用のLANおよびデータ転送用のLANのIPアドレスまたはホスト名を設定します。
なお、データベース二重化のコマンド(例:dxinfコマンド)では、指定した値に対して名前解決をしています。そのため、名前解決に必要とされるhostsファイルやDNSサーバなどのネットワーク利用環境を正しく構築・設定してください。
記述形式は、以下のとおりです。
OTHER_NODE_ADDRESS = 1系統目の相手側のIPアドレスまたはホスト名[,2系統目の相手側のIPアドレスまたはホスト名]
1系統目の相手側のIPアドレスまたはホスト名、および、2系統目の相手側のIPアドレスまたはホスト名を、それぞれ255バイト以内で指定します。
本パラメタは省略できません。
IPv6アドレスを使用する場合は、グローバルアドレスのみ使用可能です。
2系統のLANを使用することを推奨します。
2系統目のLANの情報を設定する場合は、OWN_NODE_ADDRESSも2系統の情報を設定してください。
参照
hostsファイルについては、“H.1 hostsファイルの編集”を参照してください。
dxinfコマンドの名前解決については、“コマンドリファレンス”の“dxinf”を参照してください。
ネットワーク利用環境の構築・設定方法については、使用しているシステムベンダのドキュメントを参照してください。
モニタデーモンがノード間通信を行うための相手側のポート番号を指定します。
記述形式は、以下のとおりです。
OTHER_PORTNO = 相手側のポート番号
ポート番号は、1024~65535(推奨値:1024~49151)の範囲で、未使用の値を指定します。
本パラメタは省略できません。
モニタ管理ファイルの配置先を指定します。
記述形式は、以下のとおりです。
DX_MANAGE_PATH = モニタ管理ファイルを配置する格納先ディレクトリの絶対パス名
モニタ管理ファイルを配置する格納先ディレクトリの絶対パス名を、90バイト以内で指定します。
本パラメタは省略できません。
注意
DX_MANAGE_PATHパラメタで指定したディレクトリには、Mirroring Controllerで利用するための専用のディレクトリを用意してください。同ディレクトリ配下には、他のファイルなど資源を格納しないようにしてください。
参照
モニタ管理ファイルの構成については、“付録E データベース二重化の資源のファイル名”を参照してください。
アプリケーションからのデータベース更新に対するRERUNログ転送結果の受信タイムアウト時間を指定します。
副系ノードからの返信がない場合、指定タイムアウト時間を待ち合わせるため、アプリケーションのデータベース更新レスポンス時間に影響があります。
記述形式は、以下のとおりです。
TRANS_TIMEOUT = 受信タイムアウト時間(秒)
5~3600秒の範囲で指定します。この時間までに応答がない場合、アプリケーションの更新処理は成功しますが、RERUNログの転送には失敗となり正系ノードにログを蓄積します。
なお、蓄積したログは、ネットワーク復旧後に自動的に副系ノードに配信されます。
本パラメタは省略可能です。省略時は30が指定されたものとみなします。
注意
ログデータ転送休止状態になった場合は、TRANS_TIMEOUTの指定に関わらずdxaccumコマンドを実行するまでの間、アプリケーションの更新は待ち状態になります。
相手モニタデーモンとの通信においてネットワーク異常を検知、および、POLL_WAITOUT指定でのタイムアウトを検知した場合に、相手ノードへの再接続を試みる回数、再接続タイムアウト時間、および、リトライ間隔を指定します。
記述形式は、以下のとおりです。
CONNECT_RETRY = リトライ回数 [,再接続タイムアウト時間(秒),リトライ間隔(秒)]
指定範囲でネットワークの再接続ができなかった場合は、ネットワーク切断と判断します。その後の動作は、GCM_FAILOVERの指定に従います。
本パラメタは省略可能です。省略時は「リトライ回数=5」、「再接続タイムアウト時間=1」および「リトライ間隔=1」が指定されたものとみなします。
5~60回の範囲で指定します。
1~60秒の範囲で指定します。
1~60秒の範囲で指定します。
データベースのダウンを検知した場合の動作を指定します。
記述形式は、以下のとおりです。
DB_DOWN_MODE = {MESSAGE | FAILOVER}
本パラメタは省略可能です。省略時はFAILOVERが指定されたものとみなします。
メッセージを出力して監視を停止します。
強制的に副本のデータベースを正本に切替えます。
モニタデーモンは、ノード内のデータベースの無応答状態が発生せず正常に動作しているかを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監視資源定義ファイルの絶対パス名を、255バイト以内で指定します。
本パラメタは省略可能です。省略時は監視対象のデータベース資源が指定されないものとみなします。
ポイント
DBミラーリング動作環境ファイルのパラメタ指定により出力されるメッセージは監視対象としてください。
DB監視資源定義ファイルで指定したデータベース資源の監視方法に該当する事象が発生した場合、次にDBミラーリングサービスを開始するまで監視を停止します。
参照
DB監視資源定義ファイルの作成方法については“D.1.1 監視データベース資源の指定”を参照してください。
DB監視資源定義ファイルの指定により出力されるメッセージについては“9.3 ノードの異常発生の監視”を参照してください。
モニタデーモンが正本のデータベースを監視するために、ハートビートを行う間隔を指定します。
また、LANの通信状況の監視間隔としても使用します。
記述形式は、以下のとおりです。
POLL_TIME = 送受信間隔時間(ミリ秒)
送受信間隔時間は500から10000の間の値を指定します。
本パラメタは省略可能です。省略時は1000が指定されたものとみなします。
モニタデーモンが、POLL_TIMEパラメタで指定した送受信間隔を元に、ハートビートの異常を検知するまでの時間(確認データを受信してから、次の確認データが到着するまでのタイムアウト時間)を指定します。
記述形式は、以下のとおりです。
POLL_WAITOUT = タイムアウト時間(秒)
3~3600秒の範囲で指定します。この時間までに応答がない場合、無応答として検知します。
本パラメタは省略可能です。省略時は「タイムアウト時間=5」が指定されたものとみなします。
タイムアウト検出後の動作は、CONNECT_RETRY、および、GCM_FAILOVERの指定に従います。
ノード間の通信環境の異常を検出した場合に、自動ノード切替えを行うか否かを指定します。
記述形式は、以下のとおりです。
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バイト以内で指定します。
注意
ホスト名を指定する場合は、“H.1 hostsファイルの編集”を参照してください。
本パラメタは、GCM_FAILOVER=YESを指定した場合、省略できません。
モニタデーモン再起動時は、GCM_ADDRESSの先頭に記述されたGCMから接続をやり直します。
RLP閉塞をディレイさせるか否かを指定します。
Symfoware Serverの資源とMirroring Controllerの資源を同一ストレージ上に配置したシステムにおいて、ストレージの電源断などでストレージが使用できなくなった場合に、自動でノード切替えが行われるようにするため、RLP閉塞の検知をディレイさせます。
なお、RLP閉塞のディレイを指定し、ストレージが使用できなくなった場合に自動ノード切替えが行われると、昇格正系になったノードではRLP閉塞となります。
Symfoware Serverの資源とMirroring Controllerの資源を別々のストレージ上に配置したシステムや、RLP閉塞を即座に検知したい場合は、本パラメタをOFFにしてください。
記述形式は、以下のとおりです。
RLP_INH_DELAY = {ON | OFF}
本パラメタは省略可能です。省略時はOFFが指定されたものとみなします。
RLP閉塞のディレイを有効にします。
RLP閉塞のディレイを無効にします。
ポイント
DB_INH_OBSERVEにDB監視資源定義ファイルを指定してください。
DB監視資源定義ファイルには、すべてのSymfoware Serverの資源の監視をするように指定してください。
参照
DB監視資源定義ファイルの作成方法については“D.1.1 監視データベース資源の指定”を参照してください。
DB監視資源定義ファイルの指定により出力されるメッセージについては“9.3 ノードの異常発生の監視”を参照してください。
DBミラーリング動作環境ファイルの記述例を、以下に示します。
RLP_TYPE=TCP OWN_NODE_ADDRESS = 192.168.10.11, 192.168.10.12 OTHER_RDBSYSTEM_NAME = rdbsys2 OTHER_NODE_ADDRESS = 192.168.10.13, 192.168.10.14 OTHER_PORTNO = 26800 DX_MANAGE_PATH = D:\work\duplex\def TRANS_TIMEOUT = 30 CONNECT_RETRY = 5,1,1 DB_DOWN_MODE = FAILOVER DB_TIMEOUT = 0 POLL_TIME = 1000 POLL_WAITOUT = 10 GCM_FAILOVER = YES GCM_ADDRESS = 10.128.25.130