9.5. Microsoft Hyper-V および RDS デスクトッププロバイダ

9.5.1. Microsoft リモートデスクトッププロバイダに参加していない RDS ホストで Oracle VDI によってセッションが開始されます。これが起こるのはなぜですか
9.5.2. Hyper-V デスクトップのクローニングが「MSiSCSI ターゲットリストを再読み込みできません」というエラーで失敗します
9.5.3. Microsoft リモートデスクトッププロバイダのファーム情報を入力して、ファームに参加している個々の RDS ホストが Oracle VDI で検出されるようにすることはできますか
9.5.4. Oracle VDI が Windows サーバーと通信できません
9.5.5. Oracle VDI と Hyper-V 間の接続の問題

9.5.1. Microsoft リモートデスクトッププロバイダに参加していない RDS ホストで Oracle VDI によってセッションが開始されます。これが起こるのはなぜですか

ファームに参加している RDS ホストの一部だけをプロバイダに追加し、すべてを追加しているわけではない場合、これが発生します。RDS ホストがファームに参加している場合、ユーザーが新しいセッションを取得しようとすると、Oracle VDI でファーム名が検出され、リモートクライアントに返されます。したがって、Oracle VDI で認識されていなくても、ファームに参加している RDS ホストであれば、どのホストでもセッションを開始できます。

このような理由から、ファームのすべての RDS ホストを Microsoft リモートデスクトッププロバイダに追加することを強くお勧めします。詳細は、「Microsoft RDS ファーム (NLB クラスタ) の管理」を参照してください。

9.5.2. Hyper-V デスクトップのクローニングが「MSiSCSI ターゲットリストを再読み込みできません」というエラーで失敗します

デスクトップのクローニングプロセスでは、Hyper-V サーバー上の iscsicli コマンド行インタフェースを利用して、新しいクローンにディスクを割り当てます。iscsicli コマンドは Hyper-V サーバーでハングアップすることがあり、その結果、クローニングプロセスが「MSiSCSI ターゲットリストを再読み込みできません」というエラーで失敗します。

Oracle VDI では、Hyper-V サーバーで iscsicli コマンドをどのように実行するかを管理者が構成できる多数の設定がサポートされています。これらのプロパティーは、vda コマンド行インタフェースを使用して変更できます。変更可能な設定は次のとおりです:

msiscsi.timeout - Windows サーバーでの MSiSCSI 処理が完了するまで Oracle VDI が待機すべき時間。

msiscsi.retries - Windows サーバーで Oracle VDI がエラーを返す前に iSCSI ターゲットリストの読み込みを再試行する回数。

msiscsi.retry.interval - iSCSI の読み込み再試行の合間に Oracle VDI が待機すべき時間。

現在の設定値を確認するには、次のコマンドを使用します:

# /opt/SUNWvda/sbin/vda settings-getprops \
--property=msiscsi.timeout,msiscsi.retries,msiscsi.retry.interval

新しい値を設定するには、次のようなものを使用します:

# /opt/SUNWvda/sbin/vda settings-setprops \
--property=msiscsi.timeout=30,msiscsi.retries=10,msiscsi.retry.interval=15

特に、msiscsi.retry.interval プロパティーの値を大きくすると、iscsicli のエラーに起因するクローニング失敗の回数が減ることが確認されています。

9.5.3. Microsoft リモートデスクトッププロバイダのファーム情報を入力して、ファームに参加している個々の RDS ホストが Oracle VDI で検出されるようにすることはできますか

いいえ。そのようなことはできません。Oracle VDI でセッションに関する情報を収集し、それらのセッションを制御できるようにする場合は、ファームに参加している個々の RDS ホストの管理者資格を入力して、Oracle VDI からそれらのホストにセッションに関する情報を問い合わせることができるようにする必要があります。

代わりに、リモートデスクトップサーバーファームだけを指定することもできますが、その場合は Oracle VDI でセッション情報や負荷情報を使用できません。

詳細は、「Microsoft RDS ファーム (NLB クラスタ) の管理」を参照してください。

9.5.4. Oracle VDI が Windows サーバーと通信できません

2 つの Windows サーバー間で WinRM が HTTP を使用して通信できるかどうかテストします。

HTTP 要求を待機するように WinRM を構成するには、Windows プラットフォームで「winrm qc」を実行します。

別の Windows マシンで次のコマンドを実行します (ここで <IP> はテストする Windows サーバーの IP アドレスまたはホスト名、<USER> はテストする Windows サーバーのローカル管理者です)。

C:\Documents and Settings\Administrator>winrm id -r:<IP> -u:<USER>
IdentifyResponse
ProtocolVersion = http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor = Microsoft Corporation
ProductVersion = OS: 5.2.3790 SP: 2.0 Stack: 1.1

このコマンドの実行時にエラーが発生した場合は、Windows サーバーで WinRM が正しく設定されていません。

9.5.5. Oracle VDI と Hyper-V 間の接続の問題

デフォルトでは、Windows Server 2008 R2 は Windows Remote Management (WinRM) とともにインストールされ、ユーザー 1 人当たりの同時実行操作は 15 に制限されています。ユーザー 1 人当たりの同時実行操作の数を確認するには、Windows ホストで次のコマンドを実行します:

> winrm get winrm/config 
... 
Service 
MaxConcurrentOperationsPerUser = 15 
... 

Oracle VDI の一部の配備では、この上限が低すぎるために、Oracle VDI と Hyper-V の間の通信に問題が発生することがあります。通信の問題が存在する場合、通常は Cacao のログに次のエラーメッセージが含まれます:

SOAP Fault: The WS-Management service cannot process the request. The maximum  
number of concurrent operations for this user has been exceeded. Close existing  
operations for this user, or raise the quota for this user. 
     Actor: 
      Code: s:Receiver 
  Subcodes: w:InternalError 
    Detail: The WS-Management service cannot process the request. This user is  
allowed a maximum number of 15 concurrent operations, which has been exceeded.  
Close existing operations for this user, or raise the quota for this user. 

このエラーメッセージが表示された場合の解決方法は、MaxConcurrentOperationsPerUser プロパティーを Oracle VDI の配備状況に適した値まで大きくすることです。このプロパティーを変更するには、Hyper-V ホストで次のコマンドを実行します:

> winrm set winrm/config/service @{MaxConcurrentOperationsPerUser="num"}

例:

> winrm set winrm/config/service @{MaxConcurrentOperationsPerUser="200"}