[DBMoto] フェールオーバークラスターによる冗長化

[DBMoto]
フェールオーバークラスターによる冗長化
株式会社クライム
作成日: 2015/12/17(木)
更新日: 2015/12/17(木)
バージョン: 1.0
[DBMoto]フェールオーバークラスターによる冗長化
目次
1 はじめに.................................................................................................................. 3
1.1 範囲................................................................................................................ 3
1.2 対象バージョン .................................................................................................... 3
2 DBMoto の冗長化手法は ............................................................................................ 4
2.1 はじめに ............................................................................................................ 4
2.2 設定に必要なもの ................................................................................................ 4
3 Windows フェールオーバークラスターの設定 ....................................................................... 5
3.1 今回使う環境について ............................................................................................ 5
3.2 ノードマシン間のネットワーク構築 ............................................................................... 5
3.3 ノードマシンの Active Directory への登録 ................................................................. 7
3.4 ノードマシンへのフェールオーバークラスタリング機能の導入 ................................................... 8
3.5 ノードマシンへの DBMoto 導入・準備 ......................................................................... 9
3.6 クォーラム用の共有ディスク準備 .............................................................................. 11
3.7 フェールオーバークラスターの作成 ............................................................................. 12
3.8 フェールオーバー用ディスクの準備 ............................................................................. 15
3.9 DBMoto クラスタ作成......................................................................................... 17
4 DBMoto クラスタ運用に際しての注意点 .......................................................................... 21
4.1 Data Replicator サービスの停止方法 ..................................................................... 21
5 更新履歴 .............................................................................................................. 22
- 2-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
1 はじめに

本ドキュメントに記載されたイラスト、写真、文章の一部またはすべてを無断で複製、転載することを禁止します。

本ドキュメントは製品を購入されたお客様、評価版をご使用のお客様向けに株式会社クライムが提供しております。
1.1 範囲
本ドキュメントは、[DBMoto]の Windows Server のフェールオーバークラスタリング機能を利用した冗長化手法につ
いて記載しております。
1.2 対象バージョン
本ドキュメントは、以下の製品のバージョンに対応しております。

[DBMoto] Ver. 8.x
1.3 フェールオーバークラスタリングのサポート範囲に関して
Windows Server のフェールオーバークラスタリング構築に関してサポート対象外となります。お客様責任にて構築して
いただきますようお願いいたします。
フェールオーバークラスタチング構築後の DBMoto 設定に関してはサポート対象です。
- 3-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
2 DBMoto の冗長化手法は
2.1 はじめに
DBMoto はデータレプリケーションにあたってはデータベース間の中間サーバとして動作しています。
.Net Framework 4.0 または 4.5 がある Windows マシン上であれば、物理・仮想、64bit・32bit 問わずに動
作するため、様々な環境上で動作します。
データの連携を行うツールである関係上、可能な限り可用性を高めておきたい、という要件がある場合、仮想環境であ
れば VMware HA/FT 構成にする方法もありますが、環境構成やライセンス、運用方針上の都合から利用できない
場合もあります。
DBMoto のメタデータをデフォルトの SQL Server CE から Oracle など別のデータベースに保存することもできます
が、DBMoto のマシンとメタデータは1対1の紐づけになっており、2 台 DBMoto を用意して共有し、それを問題なく運
用することは手順が面倒であり、また失敗する可能性もあります。
DBMoto では、仮想・物理問わず利用できる冗長化の手法として Windows Server のフェールオーバークラスタ
リング機能との連携を推奨しております。
これも Windows Server のライセンス、Active Directory や iSCSI/FC で接続できる共有ストレージ、複数の静的
IP アドレスが必要になるなど、準備は必要となりますが、Windows の標準の機能を使っており、またメタデータの問題
も解決できるため、安心してお使いいただけます。
本ドキュメントでは、サンプル環境での設定手順をスクリーンショット付きで案内いたします。
2.2 設定に必要なもの
Windows Server のクラスタリング機能を利用するには以下の準備が必要です。

Windows Server のライセンス。2008/2008 R2 では Enterprise や Datacenter、2012/2012 R2 では
Standard や Datacenter が必要となります。エディションに関しては Microsoft 様にご確認ください。

DBMoto ノードとなる Windows Server を最小でも 2 台。推奨としてクラスタマネージャ専用とノードで3台。
また、それぞれ NIC が2つあることを推奨。

Active Directory

iSCSI または FC および SAS 接続が可能な共有ストレージと、その LUN2 つ

最低でも 4 つの複数の静的(固定)IP アドレス。
DBMoto ノード用にその台数分、Windows クラスタ自身、それとその上で動作するフェールオーバーサービス用。
- 4-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3 Windows フェールオーバークラスターの設定
3.1 今回使う環境について
今回は説明用の環境として、
VMware ESXi ホスト上に Windows Server 2012 R2 仮想マシン2
台を準備しています。
(※本記事ではクラスタマネージャがノードを兼任していますが、本来は分離
した3台の状態を推奨しています。)
また共有ストレージとして、仮想アプライアンスとして動作する iSCSI 接続
SAN ストレージ EMC vVNX 無償版を利用しています。
(※vVNX 無償版は検証用であり、業務利用できません。)
また、メタデータの保存先データベースとして Oracle RAC を選択します。
3.2 ノードマシン間のネットワーク構築
Windows Server フェールオーバークラスターはネットワーク1本のみでも動作しますが、ノード間通信を行うためのネッ
トワークがもう1つあることを推奨しています。
この項ではこのクラスタ内部のネットワークを構築します。用意できない場合は読み飛ばしても問題ありません。
DBMoto ノードそれぞれに、NIC を2つ用意します。
クラスタ外部との通信する用のものと、クラスタ内部のノード間で通信する用のものです。
ESXi 環境であれば、クラスタ内部のサーバのみを物理 NIC のない vSwitch に接続することで、クラスタ内部のノード
間のみでの通信が実現可能です。(物理環境でもノード間の NIC を接続すれば実現可能です。)
- 5-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
ただし、このような DHCP サーバのない内部ネットワークの場合、Windows は APIPA と呼ばれる IP アドレス割り振り
機構で IP アドレスを割り振ります。
しかし、フェールオーバークラスターでは APIPA ネットワークは使用できないため、割り振られた IP アドレスを APIPA ネッ
トワークで割り振られる 169.254.0.0/16 以外に変更してください。
また、すべてのノードは同一セグメントのネットワーク上に配置してください。
- 6-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3.3 ノードマシンの Active Directory への登録
フェールオーバークラスタリング機能を利用するには、Active Directory 環境であることが必須です。
静的 IP アドレスを割り当てたノードマシンを Active Directory に登録します。適宜わかりやすいマシン名を割り振って
ください。
- 7-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3.4 ノードマシンへのフェールオーバークラスタリング機能の導入
Active Directory への登録が完了したら、それぞれのノードにドメインの管理者アカウントでログインし、サーバマネー
ジャで「役割と機能の追加」を選択し、ウィザードを開きます。
役割ベースまたは機能ベースのインストールを選択します。
サーバを選択し、「役割」はそのままにして、「機能」の段階でフェールオーバークラスタリングを選択します。
後は「次へ」を進め、最後に完了を押すと、インストールが始まりますので完了するまで待ちます。
これを各ノードで繰り返してフェールオーバークラスタリング機能を導入します。
- 8-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3.5 ノードマシンへの DBMoto 導入・準備
インストールが完了したら、それぞれのノードマシンに DBMoto をインストールします。
インストールが終わったら、1 台のノード(以下ノード A)で、メタデータを作成します。
DBMoto Management Center を開きます。
既存のメタデータ「metadata」を削除します。metadata 上で右クリックして出るメニューから削除できます。
削除したら、「新規メタデータ」ボタンか、local を右クリックして出てくるメニュ
ーの、「新しいメタデータを追加」を選択します。
弊社提供の、メタデータ管理手順のドキュメントに従い、指定したデータベースにメタデータを作成します。
作成後は、通常通りデータベースへの接続やレプリケーションの作成を進め、正しくレプリケーションが実施されるか、確認
します。
- 9-
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
確認したら、Server Agent サービスは起動したまま、Data Replicator サービスを停止させます。
(下記画像赤枠内の状態にします。)
次に他のノードでも同様にメタデータを作成しますが、この際ノード A で作成したメタデータ保存先データベースの設定情
報を入力します。
「メタデータの定義」段階で、下にある「既存のメタデータデータベースを開く」が選択できるので、これを選択します。
メタデータが完了したら、メタデータを開いてノード A で行った設定が読み込めていることを確認します。
こちらも Server Agent サービスは起動したまま、Data Replicator サービスを停止させておき、
DBMoto Management Center を閉じます。
これでメタデータの準備は完了です。
- 10 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3.6 クォーラム用の共有ディスク準備
インストールが完了したら、ノードの1つで作業を進めます。今回はノード A で進めます。
2 台の間で共有される、クォーラム用のディスクと、フェールオーバー用のディスクを切り出します。
SAN ストレージ上に LUN を2つ用意します。切り出す容量ですが、クォーラム用のディスクに関しては数 GB の容量で
十分です。
この SAN ストレージに、それぞれのノードから直接 iSCSI イニシエーターで接続します。
まずはクォーラム用のディスクを準備します。
ノード A のコントロールパネルから「ディスクの管理」にアクセスします。
接続した LUN 領域がグレーアウトで表示されていますので、これをオンラインにし、初期化を行って NTFS でフォーマッ
トします。ドライブ文字を割り当てる必要はありません。
他のノードでは、ディスク管理画面でディスクが接続されているのを確認した後は、特に作業をせずに進めます。
- 11 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3.7 フェールオーバークラスターの作成
この段階でいったん Windows フェールオーバークラスターを作成します。
ノード A で、フェールオーバークラスターマネージャーを開きます。
「クラスタの作成」からクラスタ作成ウィザードを開きます。
- 12 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
「サーバの選択」では、クラスタを構成するノードとなるサーバを選択してください。
次の画面ではクラスタの名前と、ネットワークとクラスタの固定 IP アドレスを設定します。
- 13 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
確認画面が表示されています。「使用可能な記憶域をすべてクラスタに追加する」にチェックがあることを確認して「次へ」
を押すと作成が開始します。
最後に正常完了の旨が表示されたらクラスタが作成されています。
- 14 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3.8 フェールオーバー用ディスクの準備
次にフェールオーバー用のディスクを準備します。
クォーラム用のディスクと同じようにフォーマットを実施します。
フォーマットが完了したら、フェールオーバークラスターマネージャーから、クラスタ->記憶域と展開して開くディスクを選択
します。
一覧にはクォーラム用のディスクが表示されています。右側メニューから、「ディスクの追加」を選択します。
ディスクの選択画面が開くので、一覧の中から追加するディスクを選択してください。
- 15 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
追加が完了すると、当該ディスクが「使用可能記憶域」として追加されます。
ここでメニューに「クラスタの共有ボリュームへの追加」がありますが、これは選択しないでください。サービスのフェールオー
バー設定でこのディスクが利用できなくなります。
- 16 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
3.9 DBMoto クラスタ作成
それでは DBMoto クラスタを構成します。
DBMoto のレプリケーターをクラスタ構成にすれば、片方のノードが障害停止しても、もう片方のノードにあるレプリケータ
ーにフェールオーバーするようになります。
なお、この設定作業完了後にレプリケーターが直ちに起動しますので、すぐにレプリケーションしたくない場合は予めレプリ
ケーションジョブを無効化してください。
フェールオーバークラスターマネージャーに戻り、「役割の構成」を
選択します。
「高可用性ウィザード」ウィンドウが開きます。「次へ」を押すと、役割の選択画面になります。
一覧から「汎用サービス」を選択します。
- 17 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
「サービスの選択」では Windows サービスの一覧が表示されるのでこの中から、DBMoto Data Replicator
Service を選択します。
次の画面ではクライアントアクセスポイントを設定します。
ここではサービスの役割の名前を、わかりやすく、文字数制限にかからないように設定します。
そしてネットワークとクラスタの固定 IP アドレスを設定します。ここはクラスタ作成時のものとは別のものを設定してくださ
い。
- 18 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
「記憶域の選択」では、「使用可能記憶域」として追加された先ほどのディスクを選択します。
次の「レジストリ設定のレプリケート」ですが、Data Replicator サービスではレジストリは使用しないので空欄のまま進め
ます。
最後に確認画面が開くので問題がなければ「次へ」を押すと、実際に構成が始まります。
プログレスバーが表示されますので完了するまでそのままお待ちください。
- 19 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
「役割の高可用性が正常に構成されました。」と表示されたら完了です。
注意:直後から Data Replicator サービスが起動します。
フェールオーバークラスターマネージャーから、クラスタの役割を選択すると、以下のように設定した役割が表示されていま
す。
Data Replicator を何度か手動で停止させてください。1 回の停止ではノードがクラッシュしたわけではないので同じノー
ドで再起動することがありますので、複数回停止を実施してください。
それにより別ノードにフェールオーバーされることを確認してください。
- 20 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
4 DBMoto クラスタ運用に際しての注意点
4.1 Data Replicator サービスの停止方法
DBMoto で既存レプリケーションの設定編集や、DBMoto 自身の設定変更時には Data Replicator サービスを停
止させますが、クラスタ環境では停止させるたびにフェールオーバーしてしまうため、通常の手順では停止させられません。
このような場合に Data Replicator サービスを停止させるには、フェールオーバークラスターマネージャーを開き、役割で
該当するものを選択し、「役割の停止」を選択すれば、サービスが停止します。
再開は「役割の開始」で再開します。
- 21 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.
[DBMoto]フェールオーバークラスターによる冗長化
5 更新履歴
版
1.0
修正日
2015/12/17(木)
修正者
S.O
内容
初版
- 22 -
Copyright(C) 2015 Climb.Inc. All Rights Reserved.