Oracle VDI では、ユーザーは、Microsoft Hyper-V によってホストされる仮想マシンにアクセスすることができます。Microsoft Hyper-V は、無償提供のスタンドアロン製品としてインストールすることも、Windows サーバーで Hyper-V ロールとして有効にすることもできます。
Microsoft Hyper-V デスクトッププロバイダは、Oracle VDI によりリモートで管理されます。Microsoft Hyper-V をホストする Windows サーバーと Oracle VDI との通信を有効にするには、Windows サーバーを準備する必要があります。準備の手順は Microsoft リモートデスクトッププロバイダと同じです。詳細については、「Windows サーバーの準備」 を参照してください。
Microsoft ソフトウェアは Oracle VDI パッケージに含まれていないため、Oracle のサポート担当者は、サードパーティのソフトウェアに関連する問題には対応していません。
Microsoft Hyper-V デスクトッププロバイダは、次の仮想化プラットフォームでサポートされています。
Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2008 R2
Hyper-V サーバーのシステム要件は次のとおりです。
Hyper-V ロールをインストールする方法については、Microsoft の『Hyper-V ファースト ステップ ガイド』を参照してください。
スタンドアロン製品をインストールする方法については、Microsoft Hyper-V Server 2008 サイトを参照してください。
Microsoft Hyper-V を使用する場合、Oracle VDI で使用される仮想マシンを格納するためのストレージサーバーが必要になります。このサーバーは、Hyper-V ホスト自体とは別に必要です。
Oracle VDI Hypervisor と同様に、Microsoft Hyper-V デスクトッププロバイダでは Oracle Solaris および Sun Unified Storage の一部として iSCSI や ZFS を利用します。仮想ディスクは Oracle VDI ホストに格納できますが、本稼働環境で Microsoft Hyper-V デスクトッププロバイダを使用する場合は、別のストレージホストが必要になります。
サポート対象の詳細は、「サポートされているストレージサーバープラットフォーム」を参照してください。
ストレージを準備する手順の詳細は、次のセクションを参照してください。
Oracle VDI を使用すると、Windows Server 2003 および Windows Server 2008 が提供するターミナルサービスセッションやリモートデスクトップサービスセッションにアクセスできます。Oracle VDI はリモートデスクトップサービスとともに実装されている一部の Microsoft ツールを利用して、負荷分散やセッションの再接続を可能にするファームやリモートデスクトップサービスホスト (RDS ホスト) のクラスタなどの高度な機能を実現しています。
Windows Server 2008 R2 で、ターミナルサービス (Terminal Service、TS) は、リモートデスクトップサービス (Remote Desktop Service、RDS) に名前が変更されました。
Microsoft リモートデスクトッププロバイダは、次の仮想化プラットフォームでサポートされています。
Microsoft Windows Server 2008 R2
Microsoft Windows Server 2003
リモートデスクトップサーバーのシステム要件は次のとおりです。
Oracle VDI を使用すると、次の機能によって提供されるターミナルサービスセッションにアクセスできます。
Windows Server 2003 を実行する単一のサーバー
次の特性を持つサーバーのクラスタ
Windows Server 2003 を実行するすべてのサーバー (エディションは問いません)
このクラスタは Microsoft ネットワーク負荷分散 (Network Load Balancing、NLB) クラスタであり、サーバー間の負荷分散を実現します。
Microsoft セッションディレクトリを使用して、ユーザーが既存のセッションに再接続できるようにすることができます。
Windows Server 2003 でリモートデスクトップサービスのロールをインストールする方法については、次のサイトを参照してください。
http://technet.microsoft.com/ja-jp/windowsserver/dd299436.aspx
Microsoft の参考ドキュメント:
Oracle VDI を使用すると、次の機能によって提供されるリモートデスクトップサービスにアクセスできます。
Windows Server 2008 を実行する単一のサーバー
次の特性を持つサーバーのファーム
Windows Server 2008 を実行するすべてのサーバー
Microsoft TS セッションブローカを使用して、負荷分散を有効にし、ユーザーが既存のセッションに再接続できるようにします。
Microsoft のドキュメントで説明されているように、DNS ラウンドロビン、Microsoft ネットワーク負荷分散 (Network Load Balancing、NLB)、またはハードウェアロードバランサを使用して、事前の負荷分散を行うことができます。
Windows Server 2008 でリモートデスクトップサービスのロールをインストールする方法については、http://www.microsoft.com/windowsserver2008/en/us/rds-product-home.aspx を参照してください。
Microsoft の参考ドキュメント:
ファームまたは NLB クラスタに属する RDS ホストが存在する場合、Microsoft リモートデスクトッププロバイダの構成方法は、Oracle VDI Manager またはコマンド行でセッション情報や CPU/メモリー負荷情報を表示できるようにするかどうかによって変わってきます。
Oracle VDI でセッション情報や負荷情報を表示する場合は、Microsoft リモートデスクトッププロバイダを次のように構成します。
「Windows サーバーの準備」の説明に従って、各 RDS ホストを準備します。
新規プロバイダウィザードで、「新規ホストの指定」オプションを使用してファームにすべての RDS ホストを追加します。
RDS ホストごとに、ホスト名または IP アドレス、SSL ポート、および管理者資格を指定します。
Oracle VDI は、個々の RDS ホストにアクセスして、そのホストのローカル管理者の資格と SSL 証明書を登録する必要があります。この処理によって、RDS ホストは Oracle VDI との間でセッション情報や負荷情報をやりとりできるようになります。
このように構成した場合、Oracle VDI は、プロバイダの最初の RDS ホストに問い合わせることで、ファームに関する情報を検出します。ユーザーがセッションにアクセスしようとすると、検出されたファーム名がリモートクライアントに返されます。セッションは、ファームに参加している任意のホストで開始できます。
Oracle VDI でセッション情報や負荷情報を表示しない場合は、Microsoft リモートデスクトッププロバイダを次のように構成します。
新規プロバイダウィザードで、「リモートデスクトップサーバーファームの選択」オプションを選択します。
RDS ファームまたは NLB クラスタの DNS 名または IP アドレスを入力します。
このように構成した場合、ユーザーがセッションにアクセスしようとすると、構成したファーム名がリモートクライアントに返されます。
ほかの仮想化バックエンドと比べて、リモートデスクトップサービスは特殊なため、リモートデスクトッププロバイダとプールで行うアクションや設定には、次のようにいくつかの制限があります。
RDS ホストが同じネットワーク負荷分散クラスタまたはセッションブローカファームのメンバーである場合、プロバイダには複数の RDS ホストが含まれる可能性があります。サポートされているプラットフォームについてのセクションを参照してください。この場合、Microsoft NLB または Microsoft セッションブローカがホスト間の負荷分散を実行します。Oracle VDI では、このような負荷分散を実行しません。
プロバイダには、単一のスタンドアロン RDS ホストを含めることができます。
特定の RDS ホストは 1 つのプロバイダにのみ参加できます。
各 Microsoft リモートデスクトッププロバイダには 1 つのプールしかありません。
プールでは複製機能は提供されません。リモートデスクトップサービスサーバーまたはファームは、新しいユーザーが接続すると新しい RDS セッションを開きます。
プールでの割り当てのタイプは常に柔軟です。RDS の設定がセッションの再接続用に正しく構成されていれば、セッションの再接続が行われます。ただし、これは Oracle VDI が行うことではありません。サポートされているプラットフォームについてのセクションを参照してください。
このプール用に表示されるデスクトップのリストは、プロバイダに関連付けられたすべての RDS ホストからの RDS セッションを集約したリストと対応しています。セッションが Oracle VDI からのセッションであってもなくても、すべての RDP セッションが表示されます。
グループまたはユーザーを RDS プールに割り当てることはできますが、手動でユーザーを RDS デスクトップに割り当てることはできません。
Microsoft Hyper-V または Microsoft リモートデスクトップサービスをインストールしたあとで、Oracle VDI と通信するように Windows サーバーを準備する必要があります。Oracle VDI では Windows サーバーにエージェントをインストールする必要はありません。代わりに、Oracle VDI が HTTPS (セキュリティー保護されたプロトコル) を介して Windows リモート管理 (WinRM) を使用して Windows サーバーと通信します。HTTPS を使用する場合、正しく動作するために WinRM はサーバー証明書を必要とします。この証明書は通信チャネルの暗号化に使用されます。詳細は、Microsoft ドキュメントの「Windows Remote Management」または「Configuration and Security」を参照してください。
Oracle VDI と通信するように Windows サーバーを準備するには、2 つの手順が必要です。最初に、Microsoft インターネットインフォメーションサービス (IIS) 6.0 リソースキットのツールを使用して、自己署名付き証明書を生成する必要があります (以下の手順 1)。次に、HTTPS 要求を待機するように winrm
を構成します (以下の手順 3)。
これらの手順は、サーバーに関する重要な情報 (CPU 使用状況、メモリー使用状況、ユーザーセッションの数など) を Oracle VDI Manager やコマンド行で表示できるようにするために、RDS (またはターミナルサービス) ホストで必要になります。Oracle VDI でセッション情報や負荷情報を表示しない場合、次の手順は不要です。詳細は、「Microsoft リモートデスクトッププロバイダの RDS ファームの管理」を参照してください。ただし、RDS プールからのデスクトップセッションの提供は、通常の RDP 接続によって行われます。デスクトッププールごとの RDP 設定の構成方法については、「プールごとに RDP オプションを設定する方法」を参照してください。
次のコマンドは、PowerShell ではなくコマンドシェルで実行してください。
Windows サーバーでの自己署名付き証明書の生成
Microsoft サポート Web サイトからダウンロード可能な、IIS 6.0 リソースキットに含まれる selfssl.exe
ツールを使用します。
selfssl.exe
を Windows サーバーにコピーします。
次のように自己署名付き証明書を作成します。
C:\Program Files\IIS Resources\SelfSSL\selfssl /T /V:<days>
パラメータ /V:
には、証明書が有効な日数を指定します。最大値は指定しません。
certutil
コマンドを実行し、新しい証明書の証明書ハッシュを書き留めます。
certutil -store MY
Windows サーバーと Oracle VDI サーバーの時刻が同期していない場合は、両方のサーバーの時刻の差によって証明書が無効とされ、Oracle VDI をサーバーに接続できない可能性があります。
(Windows Server 2003 のみ) WS-Man (WinRM) のインストール
Windows Server 2008 と Hyper-V Server 2008 では、WinRM はプリンストールされています。
WS-MAN v1.1 のインストールファイル (WindowsServer2003-KB936059-x86-ENU.exe
) を www.microsoft.com からダウンロードします。
インストールファイル WindowsServer2003-KB936059-x86-ENU.exe
を実行して、インストールに進みます。
HTTPS 用の Windows リモート管理の構成
winrm
ツールを使用して、サーバーのリモート管理設定を構成します。使用する証明書ハッシュと、Oracle VDI による要求の送信を可能にする認証設定を指定する必要があります。
Windows サーバーにリスナーを作成します。
コマンドシェルで次のコマンドを実行します。
winrm create winrm/config/listener?Address=IP:<HYPER_IP>+Transport=HTTPS ^ @{Hostname="<HOST>";CertificateThumbprint="<CERTHASH>";Port="443"}
<HYPER_IP> は Windows サーバーの IP アドレスに置き換えます。
<HOST> は Windows サーバーのコンピュータ名に置き換えます。
<CERTHASH> は、selfssl
によって作成された自己署名付き証明書から書き留めた、証明書ハッシュの値に置き換えます。このとき、スペースは入れないでください。
サーバーのポートを開き、Windows サーバーが Oracle VDI からの要求を受信できるようにします。
netsh firewall add portopening TCP 443 "Oracle VDI Remote Management"
デフォルトでは、Oracle VDI が待機するポートはポート 443 です。
次のコマンドを実行して、サーバー上で基本認証を有効にします。
winrm set winrm/config/service/auth @{Basic="true"}
Oracle VDI と Microsoft Hyper-V または RDS との通信に 443 以外のポートを使用する場合は、Oracle VDI Manager にホストを追加するときにこのポートを指定するようにしてください。