2012年3月27日火曜日

RDセッションホストと、RDセッションブローカー

今日は「マイクロソフト クライアント仮想化ソリューション(#50590) ~リモートデスクトップとVDI~」を担当しました。

1つ、答え切れなかった質問があるので、この場を借りてお答えします(1日の講習会だと調べきれないことがあります)。

【質問】
リモートデスクトップサービスで、リモートデスクトップセッションホスト(RDセッションホスト)を負荷分散しており、リモートデスクトップ接続ブローカー(RD接続ブローカー)を構成しています。

ここで、RDセッションホストとしてAとBの2台があるとします。両ホストはサーバーファームFを構成しています。

ユーザーXがファームFに接続したところ、Aにログオンしました。その後、Xのセッションを残してAのネットワークが切断されました。現在、ネットワークは切断されたままです。

ユーザーXが、ファームFに再接続したらどうなるででしょう。RD接続ブローカーは正常なのでAに再接続されるはずですが、Aは停止しています。

【実験】
権威のある文献を探しきれなかったので、実際にやってみました。

仮想マシンでA、B、2台のRDセッションホストを構成し、RD接続ブローカーに登録します。
次に、DNSラウンドロビンの機能を使ってファームFを構成しました。

ユーザーXでファームFに接続し、Aにログオンしたことを確認して、仮想マシンAの状態を保存しました。

その後、ユーザーXでファームFに再接続すると、Aに接続しようとします。しかしAは応答しないので、リモートデスクトップクライアントがエラーを起こし、接続に失敗します。

もちろんファームFではなくBのIPアドレスやホスト名を使って明示的に接続することは可能です。

その後、Aを復旧してからファームFに接続すると、無事Aに接続されました。

【結論】
RD接続ブローカーのセッション情報は、RDセッションホストの死活を監視せず、機械的に以前のセッションを復元しようとする。

セッションを保持する時間を制限する、管理者に依頼してセッションを強制的に切断する、といった工夫が必要なようです。

RD接続ブローカーを含め、リモートデスクトップサービスの詳細は、マイクロソフト高田祐二さんのブログ「Windows Server 2008 R2 RDS の構築・設計指針」が参考になりました。合わせてご覧ください。

2012年3月9日金曜日

公式ブログ「Win Win Windows」

あまり読者が居なさそうなのですが、グローバルナレッジの公式ブログに「Win Win Windows」があります。マイクロソフト技術関連の講師が交代で毎月書いています。

今月は、鈴木和久による「Windows Phone SDK 7.1 の開発環境構築」です。.NET関連のプログラミング講習を担当しています。

世間的には、スマートフォン用のアプリケーションが盛上がっているようです。ぜひお読みください。

さて、このブログ、月1回連載なんですが、先ほど私の上司が「じゃあ、(鈴木さんは)結局どんなアプリケーションを作ったのか、続きを(すぐ)書け」とプレッシャーをかけていました。

ところで、写真に登場する手は、グローバルナレッジでオラクル関連の講習を担当している栗山真由美です。今回は「手タレ」として登場しました。ぜひ、爪のネールアートにご注目ください(ネールアートは爪に決まってますが)。

2012年3月5日月曜日

Hyper-V & Virtual Server & SYSPREP

Windows Server 2008で、Hyper-V役割を追加してからSYSPREPをかけると、Hyper-Vが無効になります。役割は追加されたままですが、ハイパーバイザが起動しない模様。

R2では直っているので問題はありません。

これは、KB954356で解説されていますが、機械翻訳は久々にひどい感じです。
まず、一部の文章が英語のままです。しかも、コマンドの順序が入れ替わっている上、一部のスペースが抜けてます。

日本語: Bcdedit hypervisorlaunchtype auto/set {current}
英語: Bcdedit /set {current} hypervisorlaunchtype auto

ところが、この文書に従ってハイパーバイザを有効にしても、ネットワークが正しく動作しません。

Hyper-V用の仮想ネットワークアダプタが動作していないようです。
いったん、仮想ネットワークを初期化してから再作成すると「その物理ネットワークアダプタは既に使われています」という意味のエラーが出ます。

復旧には、KB954356の方法に加え、すでに作られてしまった仮想ネットワークアダプタのレジストリキーを削除する必要があるようです。

仮想ネットワークアダプタの問題はR2でも解決されていませんが、「気にしない」という解決方法もあるので、まあいいでしょう。