ここ数日は通勤時間や、帰宅してから MED-V のクラスターモードの構築について調べていました。
本日ようやく一通り使えそうな環境まで設定することができました。
最初は構成ファイルの冗長化の手順を。
MED-V の冗長化にはクラスターモードという設定が使われます。
このクラスターモードですがクラスターとついていますが、実際には NLB と共有フォルダで冗長化された構成になります。
以前の投稿にも記載しましたが、基本的な設定方法は以下の URL に記載されています。
Configuring the MED-V Server in Cluster Mode
実は MED-V 日本語のドキュメントもあったりします。
展開、 操作ガイド
こちらのガイドにもクラスターモードについて記載されています。
ただし、上記のガイドに記載されている方法では私はクラスターモードは構築できませんでした。
# これが原因でなかなかクラスターモードについて投稿ができませんでした。
■クラスターモードにする前の構成
まずは NLB を設定した MED-V の 2 ノード構成の環境を用意します。
今回は以下の構成です。
2 台のサーバーそれぞれに MED-V をインストールして、NLB を組んでいます。
現時点では MED-V の設定は各ローカルサーバー上に保持しています。
クラスターモードを構築するためのファイルサーバーはこの時点では共有ディレクトリを持っているだけです。
MED-V はドメイン環境が必須でないため、上記環境はワークグループ環境でも構成可能です。
クラスターモードをワークグループ環境で構築することも可能です。
今回はワークグループ環境の設定も交えながら記載していきたいと思います。
最終的な環境はドメイン環境で。
■クラスターモードを設定 (構成ファイル)
それではいよいよクラスターモードを設定していきたいと思います。
- 共有ディレクトリを作成
まずはファイルサーバー 2008R2-MDOP-03 に共有ディレクトリを作成します。
必要となるディレクトリは以下の 2 種類です。
# 厳密には分ける必要はありませんが管理上良さそうなので。– 構成ファイル保存用ディレクトリ
– 展開イメージ保存用ディレクトリ今回は、C ドライブの下に [MED-V] というディレクトリを作成しその配下に、[Config] / [Images] というディレクトリを
作成しています。
ディレクトリの準備が終わったら、C ドライブ直下の [MED-V] ディレクトリに共有設定を行います。
共有設定はドメインかワークグループかによって設定が異なります。[ドメイン環境の場合]
ドメイン環境の場合は、アクセス許可にコンピュータアカウントを使用することができます。
そのため、共有とフォルダのアクセス許可を以下のように設定します。
– 共有のアクセス許可 –各、コンピュータアカウントにはフルコントロールを許可しておきます。
[ワークグループ環境の場合]
ワークグループ環境の場合は、コンピュータアカウントを使用することができません。
そのため各 MED-V サーバーの設定変更が必要となります。通常 MED-V のサービスは、[ローカル システム アカウント] で起動されています。
MED-V のサービスが起動したときに共有ディレクトリ上に構成ファイルを保存している場合、サービスの起動アカウントで、
共有ディレクトリに接続を試みます。
ドメイン環境であればコンピュータアカウントでの接続が可能なため、ローカル システム アカウントで起動していても
最終的にはコンピュータアカウントの権限を使用して接続がされるのですが、ワークグループではコンピュータアカウントを
使用したアクセス許可が設定できないため、構成を変更した後にサービスが起動できなくなります。そこでミラーアカウントを使用して共有ディレクトリに接続を行います。
具体的には、サービスの起動アカウントをローカルユーザーに変更し、同一のユーザー名 / パスワードのユーザーを
ファイルサーバーにも作成して、共有ディレクトリとフォルダに対してフルコントロールを付与します。たとえば、2008R2-MDOP-01 / 02 の MEDV Server サービスの起動アカウントを [Administrator] に変更します。
# 両サーバーで Administrator のパスワードは同一です。
そして、ファイルサーバーである 2008R2-MDOP-03 の Administrator のパスワードも 2008R2-MDOP-01 / 02 と
同一に設定し、共有とフォルダのアクセス権を以下の用に設定します。 - 構成ファイルを共有ディレクトリにコピー
MED-V の構成ファイルを共有ディレクトリにコピーします。
今回は初期のマスターは 2008R2-MDOP-01 としています。2008R2-MDOP-01 の [C:Program FilesMicrosoft Enterprise Desktop VirtualizationConfigurationServer]ディレクトリを
2008R2-MDOP-03 の [2008R2-MDOP-01MED-VConfig] にコピーします。
共有フォルダにアクセスができない場合は一時的に、共有フォルダに書き込みができるユーザーを用意してアクセス権を設定し、
そのユーザーを使用して共有ディレクトリにファイルをコピーします。
# ファイルコピー後はアクセス権を削除しておきます。
コンピュータアカウントのアクセス許可だとファイル名を指定して実行から接続できないかもしれません。 - 構成ファイルの変更
共有ディレクトリの構成ファイルを使用するように、2008R2-MDOP-01 / 02 の[ServerConfiguration.xml] を変更します。
このファイルは、上記の手順でコピーした [ConfigurationServer] ディレクトリと同一のディレクトリ内にあります。このファイル内の [<StorePath>] を以下のように変更します。
- KeyPair.xml ファイルのコピー
先ほど操作したファイルと同一のディレクトリ内に [KeyPair.xml] というファイルが存在しています。
このファイルを 2008R2-MDOP-01 から 2008R2-MDOP-02 にコピーし上書きします。
- サービスの再起動
これで TechNet に掲載されている手順は完了です。
# ServerSettings.xml はその 2 で同期しようと思っていますので今回は作業はパスします。
手順に従って MED-V のサービスを再起動します。
イベントビューアの [アプリケーション] をみるとこのようなエラーが。
この現象を解決するのに手間取りました…。
# この現象の解決にインシデントを使おうとしたところ、現状の MED-V のサポートが英語版の Windows 2008 だけだと
教えていただきました。 - 共有ディレクトリの [PublicKey.xml] の削除
上記のエラーは共有ディレクトリの [PublicKey.xml] が影響して発生しているようでした。
一度共有ディレクトリの [PublicKey.xml] を削除します。もう一度サービスを起動してみると今回は正常に起動します。
# サービスは両サーバーで再起動します。
サービスの起動時に共有ディレクトリの [PublicKey.xml] と [ClientSettings.xml] の 2 ファイルを読み込んでいるようです。
[PublicKey.xml] はサーバーのローカルフォルダにも存在しており、構成ファイル用のディレクトリのものと整合性が取れていないと
いけないのかもしれないですね。
構成ファイルの場所を変更した場合は、構成ファイルのディレクトリの [PublicKey.xml] を一度削除しないと同様の
現象が発生してしまう気がしています。
# [KeyPair.xml] を各 MED-V サーバーで同一のものを使用しているので、このファイルも関係しているのかと。
長くなってきましたのでその 1 はここまでで。
その 2 でイメージ展開用の IIS の設定を投稿したいと思います。