4.2. Microsoft Hyper-V and Remote Desktop Services

4.2.1. Microsoft Hyper-V
4.2.2. System Requirements for Microsoft Hyper-V
4.2.3. Microsoft Remote Desktop Services
4.2.4. System Requirements for Microsoft Remote Desktop Services
4.2.5. Microsoft RDS Farm (NLB Cluster) Management
4.2.6. Limitations of Microsoft Remote Desktop Providers and Pools
4.2.7. Preparing a Windows Server

4.2.1. Microsoft Hyper-V

Oracle VDI provides users access to virtual machines hosted by Microsoft Hyper-V. Microsoft Hyper-V can be installed either as a free stand-alone product, or it can be enabled as the Hyper-V role in Windows Server.

Oracle VDI remotely manages the virtualization hosts for a Microsoft Hyper-V desktop provider. To enable communication between Oracle VDI and the Windows Server hosting Microsoft Hyper-V, the Windows Server needs to be prepared. See Section 4.2.7, “Preparing a Windows Server” for more details.

Oracle VDI does not include Microsoft software. You must purchase this separately. Oracle Support contracts do not cover third-party software-related issues.

4.2.2. System Requirements for Microsoft Hyper-V

The following are the supported virtualization platforms for the Microsoft Hyper-V desktop provider:

  • Microsoft Hyper-V Server 2008 R2

  • Microsoft Windows Server 2008 R2 (including SP1)

System requirements for the Hyper-V server:

To install the Hyper-V role, see the Microsoft Hyper-V Getting Started Guide.

To install the standalone product, see the Microsoft Hyper-V Server 2008 R2 site.

Storage Requirements for Microsoft Hyper-V

Microsoft Hyper-V requires a storage server to store the virtual disks used by Oracle VDI. This server is in addition to the Hyper-V host itself. See Section 4.6, “Storage” for details of what is supported.

4.2.3. Microsoft Remote Desktop Services

Oracle VDI provides users access to Windows Terminal Services or Remote Desktop Services (Terminal Services) sessions provided by Microsoft Windows servers by either individual Windows servers or a cluster of servers belonging to a Remote Desktop Session Host farm or Network Load Balancing cluster.

If you want to display session and load information about a Windows server in Oracle VDI Manager and on the command line, you must prepare Windows Remote Management (WinRM) on your Windows servers over HTTPS to communicate with Oracle VDI. See Section 4.2.7, “Preparing a Windows Server” for more details.

Oracle VDI relies on some Microsoft tools being implemented along with Remote Desktop Services to provide advanced features such as farm or cluster of RDS hosts with load balancing and session reconnection.

Oracle VDI does not include Microsoft software or licenses for Microsoft Remote Desktop Services. You must purchase these separately. Oracle Support contracts do not cover third-party software-related issues.

4.2.4. System Requirements for Microsoft Remote Desktop Services

The following are the supported virtualization platforms for the Microsoft Remote Desktop desktop provider:

  • Microsoft Windows Server 2008 R2 (including SP1)

  • Microsoft Windows Server 2003 Enterprise Edition (including SP1 and SP2)

System requirements for Remote Desktop Services hosts:

To install the Remote Desktop Services role on Windows Server:

4.2.5. Microsoft RDS Farm (NLB Cluster) Management

If you have RDS hosts belonging to a Remote Desktop Session Host farm or a NLB cluster, how you configure a Microsoft Remote Desktop provider depends on whether or not you want to be able to view session information or CPU and memory load information in Oracle VDI Manager or on the command line.

If you want to view session and load information in Oracle VDI, configure the Microsoft Remote Desktop provider as follows:

With this configuration, Oracle VDI detects the information about the farm by querying the first RDS host of the provider. The detected farm name is returned to the remote client when users try to access a session. The session can be started on any host participating in the farm.

If you do not want to view session and load information in Oracle VDI, configure the Microsoft Remote Desktop provider as follows:

  1. In the New Provider Wizard, select the Specify Remote Desktop Server Farm option.

  2. Enter the DNS name or IP address of the RDS farm or NLB cluster.

With this configuration, the configured farm name is returned to the remote client when users try to access a session.

Microsoft Terminal Services on Windows Server 2003

Oracle VDI provides access to Terminal Services sessions delivered by either a single server running Windows Server 2003 or a cluster of servers running Windows Server 2003, any edition.

The cluster is a Microsoft Network Load Balancing (NLB) cluster, which provides load balancing among servers

Microsoft Session Directory can be used to enable users to reconnect to existing sessions.

Microsoft reference documentation:

Microsoft Remote Desktop Services on Windows Server 2008 R2

Oracle VDI provides access to Remote Desktop Services sessions delivered by:

  • A single server running Windows Server 2008 R2

  • A farm of servers with the following characteristics:

    • All servers running Windows Server 2008 R2

    • Microsoft Remote Desktop Connection Broker (formerly Terminal Services Session Broker) is used to enable load balancing and enable users to reconnect to existing sessions.

As described in Microsoft documentation, preliminary load balancing may be provided using DNS round robin or Microsoft Network Load Balancing (NLB) or a hardware load balancer.

Microsoft reference documentation:

4.2.6. Limitations of Microsoft Remote Desktop Providers and Pools

Due to the differences between Microsoft Remote Desktop Services (RDS) and other virtualization platforms, some restrictions apply to the configuration of desktop providers and pools, as follows:

  • A desktop provider can contain multiple Windows servers if they are members of the same Network Load Balancing (NLB) cluster or Remote Desktop Session Host farm. In this situation, the NLB cluster or Remote Desktop Connection Broker is responsible for load balancing sessions across the hosts and not Oracle VDI.

  • A desktop provider can contain one or more stand-alone Windows servers. If Windows Remote Management (WinRM) is not configured on the first Windows server that is added to the desktop provider, the provider can only contain one Windows server. If WinRM is configured, a provider can contain multiple Windows servers and Oracle VDI load balances the sessions across the hosts.

  • A Windows server can be contained in only one desktop provider.

  • Each Microsoft Remote Desktop provider can have only one pool.

  • The pool does not use cloning because the Windows server or farm is responsible for opening new RDS sessions when users connect.

  • The desktop assignment type of the pool is always flexible. Users can be reconnected to their existing RDS sessions, if the RDS hosts are configured for session reconnection. The reconnection is not handled by Oracle VDI.

  • The list of desktops displayed for a pool are the list of all RDS sessions from all RDS hosts associated with the provider. All RDS sessions, whether they come from Oracle VDI or not, are displayed.

  • Groups or users can be assigned to RDS pools but you cannot assign a user manually to an RDS desktop.

4.2.7. Preparing a Windows Server

After installing Microsoft Hyper-V or Microsoft Remote Desktop Services you must prepare your Windows server to communicate with Oracle VDI. Oracle VDI does not require any agents to be installed on the Windows servers, instead Oracle VDI communicates with Windows servers using Windows Remote Management (WinRM) over HTTPS (a secure protocol). For HTTPS, WinRM requires a server certificate to operate properly. This certificate is used for encryption of the communication channel. For more details, see Windows Remote Management or Configuration and Security in the Microsoft documentation.

Preparing the Windows server for communication with Oracle VDI is a two-step process. First, you must generate the self-signed certificate using the Microsoft Internet Information Services (IIS) 6.0 Resource Kit Tools (Step 1, below). Then configure winrm to listen for HTTPS requests (Step 3, below).

Note

These steps are necessary for RDS (or Terminal Services) hosts so that critical information about the server (including CPU usage, memory usage, and number of user sessions) can be displayed in Oracle VDI Manager and on the command line. If you do not want to view session or load information in Oracle VDI, the following steps are not necessary, see Section 4.2.5, “Microsoft RDS Farm (NLB Cluster) Management” for more details. The delivery of desktop sessions from RDS pools is still provided by a regular RDP connection. For information about how to configure the RDP settings per desktop pool, see Section 5.1.3, “How to Configure RDP Options Per Pool”.

Caution

Run the following commands in Command shell and not PowerShell.

  1. Generate a self-signed certificate on the Windows server.

    Use the selfssl.exe tool which is part of the IIS 6.0 Resource Kit and can be downloaded from the Microsoft Support web site.

    1. Copy selfssl.exe to your Windows Server.

    2. Create a self-signed certificate:

      C:\Program Files\IIS Resources\SelfSSL\selfssl /T /V:<days>

      The parameter /V: dictates the number of days the certificate will be valid. There is no maximum value.

    3. Run the certutil command, and make note of the Cert Hash of the new certificate:

      certutil -store MY
    Note

    If the Windows server and the Oracle VDI servers are not in time sync, you might not be able to connect Oracle VDI to the server because the certificate is not valid for the delta between both servers.

  2. (Windows Server 2003 only) Install WS-Man (WinRM).

    Note

    Windows Server 2008 and Hyper-V Server 2008 come with WinRM pre-installed.

    1. Download the WS-MAN v1.1. installation file from the Microsoft Download Center.

    2. Install WS-Man.

  3. Configure Windows Remote Management for HTTPS.

    The winrm tool is used to configure remote management settings on the server. You must specify the certificate hash to be used, and the authentication settings to enable Oracle VDI to send requests.

    1. Create a listener on the Windows Server.

      In a command shell run:

      winrm create winrm/config/listener?Address=IP:<HYPER_IP>+Transport=HTTPS ^
      @{Hostname="<HOST>";CertificateThumbprint="<CERTHASH>";Port="443"}
      • Replace <HYPER_IP> with the IP address of the Windows Server.

      • Replace <HOST> with the Computer Name of the Windows Server.

      • Replace <CERTHASH> with the Cert Hash value, with no spaces, noted from the self-signed certificate created with selfssl.

    2. Open that port so that the Windows Server can receive requests from Oracle VDI:

      netsh firewall add portopening TCP 443 "Oracle VDI Remote Management"

      Port 443 is the port Oracle VDI listens on by default.

    3. Enable Basic authentication on the server by running the command:

      winrm set winrm/config/service/auth @{Basic="true"}
Note

If you use a port other than 443 for Oracle VDI communication with Microsoft Hyper-V or RDS, you must remember to specify this port when adding the host in the Oracle VDI Manager.