VMwareESXi5.1にてwindows server2012R2 Standard Editionなマシンを2台を用意して
フェールオーバークラスタを作ってみた。
windows server2008R2まではEnterprise Editionでないとクラスターを作れなかったが、
2012からはStandard EditionでもOKになったみたい。

フェールオーバークラスタにはwindows ActiveDirectoryが必須なのだが、ここではsamba4で用意してみた。
2014y05m31d_133522434.png

結論であるが、samba4ADを使ってフェールオーバークラスタは構築できました。
quorum等の共有ディスクはQNAPのiSCSIなら使えます。
*NAS4FreeとかFreeNAS由来のiSCSIだと「SCSI-3 永続的な予約の検証」でエラーが発生

マシン名IP備考
c.cerius.local192.168.0.3samba4ADドメインコントローラ
wsfc1.cerius.local192.168.0.31, 10.64.0.1node1(1cpu,4GB,40GBHDD)
wsfc2.cerius.local192.168.0.32, 10.64.0.2node2(1cpu,4GB,40GBHDD)
cl.cerius.local192.168.0.34クラスター管理用アクセスポイント
nas.cerius.local192.168.0.30共有ドライブ(quorum, share)

ハートビート用のネットワーク

2台のwindowsマシンを相互監視するハートビート用のネットワークをvSphereClientで作る。
vSphereClientの「構成」タブで、左上欄ハードウエアから「ネットワーク」項目を選択して、右上部の「ネットワークの追加...」をクリックする。
2014y05m31d_135005032.png
新たに表示された「ネットワークの追加ウィザード」画面で、
2014y05m31d_135149047.png
接続タイプ選択画面で、「仮想マシン」を選択
ネットワークアクセス選択画面で、「vSphere標準スイッチの作成」を選択
ポートグループのプロパティー画面で、
 ネットワークラベルは「wsfc向けハートビート」
 VLAN ID(任意)はなし(0)
を選択して新しいネットワークを作成する
2014y05m31d_135652526.png
ESXi内のwindowsマシンに2枚目のNICを追加させ、その2枚目にこの「wsfc向けハートビート」を割り当てる。
2014y05m31d_140050047.png

windows server 2012R2

ESXiにて構築するwindows server2012R2は、2core、4GB mem、40GB HDDとして、samba4ADDCに繋がるネットワーク回線(service lan)の他にクラスタ内のnode同士で通信する回線(heartbeat)も用意した。
service lanに付与した要件は
 Microsoftネットワーク用クライアント
 Microsoftネットワーク用ファイルとプリンター共有
 インターネットプロトコルバージョン4(TCP/IPv4)[DNSへの登録有効、NetBIOS over TCP/IPは無効]
 2014y06m01d_180224249.png
の2項目とした。一方heartbeat側は
 インターネットプロトコルバージョン4(TCP/IPv4)[DNSへの登録無効、NetBIOS over TCP/IPは無効]
 2014y06m01d_180236553.png
のみ有効にした。

この状態でsamba4AD(cerius.local)にドメイン参加を行い、再起動後ドメインのadministratorでログインを行う

共有ドライブ

FreeNASでiSCSIターゲットとなるquorum領域とshare領域の2つのドライブを用意した。
windows server 2012R2に付随しているiSCSIイニシエーターを使ってこれらのドライブと接続する。
まず、サーバーマネージャの上部メニュー欄[ツール]から[iSCSIイニシエーター]を起動
2014y05m31d_140929623.png
*初回起動時だと、iSCSIのサービスが動いていないぞと言われ、再起動後も有効にするなら「はい」を選択せよと掲示が出される。ここは「はい」を選択する
2014y05m31d_141035591.png
表示された「iSCSIイニシエーターのプロパティ」画面の「ターゲット」タブでiSCSIターゲットを提供するサーバの検索を行う。
2014y05m31d_173254928.png
提示されたiSCSIターゲットから目的のiSCSIターゲットを選択して、「接続」ボタンをクリックする。
2014y05m31d_174025776.png
目的のiSCSIターゲットに接続が完了したら、サーバーマネージャの上部メニュー欄[ツール]から[コンピュータの管理]を起動する。
表示させた「コンピュータの管理」画面の左メニューツリーを展開させ、「コンピュータの管理(ローカル)」->「記憶域」->「ディスクの管理」を選択する。iSCSI由来のデバイスをオンラインにする。
2014y05m31d_175018279.png
quorum領域は1GBと定義した。これに該当するHDDをNTFSでフォーマットして、Qドライブに相当させる
share領域は20GBと定義した。これに該当するHDDをNTFSでフォーマットして、Sドライブに相当させる
2014y05m31d_180413968.png
定義が完了したら、これら2つの領域はオフラインにする。

次に、もう片方のクラスターノードを立ち上げて、同様に[iSCSIイニシエーター]でFreeNASのiSCSIターゲットを接続します。
そこではNTFSへのフォーマットは行わず、単に[オンライン]にして、Qドライブ、Sドライブへの割り当てのみを行います。

windows2012R2はESXiで作り、共有ドライブらを提供するiSCSIターゲットは別途用意した。
*初め、iSCSIターゲットをFreeNASでESXiで用意したら失敗した。qnapによるiSCSIターゲットでは成功済み

フェールオーバークラスターマネージャのインストール

クラスターを構成するwindowsマシンにそれぞれインストールします。
サーバーマネージャの上部メニュー欄[管理]から[役割と機能の追加]を起動する。
「機能」を選択する画面で「フェイルオーバークラスタリング」を選択します。
2014y05m31d_181622615.png
選択すると関連する管理ツールのインストールも伺われるがこれらもインストールします。

samba4ADの調整

wsfc構築途中に「構成の検証...」を行う場面がある。
特に処置を施していないと「IP 構成の検証」項目にて下記のようなテストの実行中にエラーが発生しました。 と表示され、これ以上進めなくなる。

ネットワーク テストを初期化中にエラーが発生しました。
サーバー側のエージェントを作成中にエラーが発生しました (CPrepSrv)。
CLSID {E1568352-586D-43E4-933F-8E6DC4DE317A} を含む COM コンポーネントのインスタンスを 
IClassFactory から作成中に、次のエラーが発生しました: 80070721。

解決方法は下記URLに提示されていて、
http://www.curriegrad2004.ca/2013/05/samba-4-active-directory-domain-controller-for-a-microsoft-failover-cluster/
msfcの検証、msfcの構築ユーザにservicePrincipalNameを持たせる必要があるみたい。
ここではmsfc検証をcerius\administratorで行いたかったので、このユーザにspnを追加した。spnは何でもいいみたく、HOSTのPrincipalとして HOST/msfc.cerius.local を追加した。DNSに存在するマシンでも架空のマシンでもいいみたい。

[root@c ~]# /opt/samba/bin/samba-tool spn list administrator
administrator
User CN=Administrator,CN=Users,DC=cerius,DC=local has no servicePrincipalName
[root@c ~]#
[root@c ~]# /opt/samba/bin/samba-tool spn add HOST/msfc.cerius.local administrator
[root@c ~]# /opt/samba/bin/samba-tool spn list administrator
administrator
User CN=Administrator,CN=Users,DC=cerius,DC=local has the following servicePrincipalName:
         HOST/msfc.cerius.local
[root@c ~]#

とHOST/msfc.cerius.localなservicePrincipalNameをcerius\administratorに追加した。
*msfcを構成するホストがservicePrincipalNameを持つのではなく、msfc検証やmsfc構築のユーザに持たせることが必須みたい
windowsのADSIエディッタ―で見ると
2014y05m18d_005244341.png が、2014y05m18d_044235325.png となる。

*過去、これが解決できなくてずっと停滞していた。。。

フェールオーバークラスターマネージャ(クラスタ検証)

どちらか一方のマシンのフェールオーバークラスターマネージャを立ち上げます。
サーバーマネージャの上部メニュー欄[ツール]から[フェールオーバークラスターマネージャ]を起動。
表示された「フェールオーバークラスターマネージャ」画面の右側に「操作」として「構成の検証(L)...」がある。
2014y05m31d_190700888.png
これを使ってクラスタの検証を行います。
クリックすると、新たに「構成の検証ウィザード」画面が開いて、「開始する前に」項目では「次へ」ボタンをクリックして、「サーバまたはクラスタの選択」項目で構築した2台の仮想マシンを指定して「次へ」ボタンをクリックします。
2014y06m01d_000823945.png
テスト項目を選べるが、ここではすべてのテスト項目を実行させます。
2014y06m01d_000909264.png
「確認」項目でテスト内容を確認して「次へ」ボタンをクリックします。
これでクラスター構築に向けての検証が始まります。

共有フォルダにFreeNAS 9.2.1.5のiSCSIターゲットを利用したらエラーが発生した
「SCSI-3 永続的な予約の検証」でエラーが発生
現象として、検証が完了するとiSCSIターゲット由来のHDDがRAWファイルシステムに代わってしまった
2014y06m01d_092930159.png

共有フォルダにNAS4Free 9.2.0.1のiSCSIターゲットを利用してもエラーが発生した
こちらも「SCSI-3 永続的な予約の検証」でエラーが発生

qnapのiSCSIターゲットを利用するとエラーは発生しない。成功する

検証に成功すると「構成はクラスタリングに適しています」と表記される。
2014y06m01d_002459698.png

フェールオーバークラスターマネージャ(クラスタ構築)

検証に成功したので、次は実際にクラスターを構築します。
「フェールオーバークラスターマネージャ」画面の右側に「操作」内にある「クラスターの作成(C)...」をクリックする。
2014y06m01d_002840593.png
「クラスターの作成ウィザード」画面が新たに開いて、「開始する前に」項目では「次へ」ボタンをクリックする。
「サーバの選択」項目で、2台のクラスターノードを入力して「次へ」ボタンをクリックします。
2014y06m01d_003238408.png
「クラスター管理用アクセスポイント」項目で、クラスター名は「cl」として、そのIPアドレスは「192.168.0.34」として、「次へ」ボタンをクリックする
2014y06m01d_113557017.png
「確認」項目でクラスター構成を確認する
クラスタ:cl
ノード:wsfc2.cerius.local
ノード:wsfc1.cerius.local
IPアドレス:192.168.0.34
そして、「使用可能な記憶域を全てクラスターに追加する」を有効にして「次へ」ボタンをクリックする。
クラスターの構築が完了すると、「概要」項目で
2014y06m01d_114316847.png
と明記される。
これでクラスターの構築は完了。

「フェールオーバークラスターマネージャ」画面は下記のようになる。
2014y06m01d_114601265.png

フェールオーバークラスターマネージャ(クラスタ削除)

作ったクラスターを削除、元に戻してみます。
サーバーマネージャの上部メニュー欄[ツール]から[フェールオーバークラスターマネージャ]を起動
表示された「フェールオーバークラスターマネージャ」画面の右側のツリーを展開して、構築したクラスター「cl.cerius.local」を選択します。
2014y06m01d_122056063.png
選択後、「フェールオーバークラスターマネージャ」画面の左側「操作」欄の項目に「他のアクション」が見えるようになる。
この「他のアクション」をクリックすると、評されるサブ項目に「クラスターの破棄...」がある。
2014y06m01d_122259687.png
これを選択すると下記のような画面が表示される。「はい」ボタンをクリックします。
2014y06m01d_122440896.png
これでOKみたいだけど、サーバーマネージャの「すべてのサーバ」にクラスター構成時の自分以外のマシンが残留しているとエラーが発生する。そこらを取り除けばいいだけみたい。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2014-06-01 (日) 18:28:04 (1240d)