用户可以通过 Oracle VDI 访问 Microsoft Hyper-V 托管的虚拟机。Microsoft Hyper-V 既可以作为免费的独立产品来安装,也可以作为 Windows 服务器中的 Hyper-V 角色来启用。
Microsoft Hyper-V 桌面提供者由 Oracle VDI 远程管理。要启用 Oracle VDI 和托管 Microsoft Hyper-V 的 Windows 服务器之间的通信,需要对 Windows 服务器进行准备,所做工作与准备 Microsoft 远程桌面提供者一样。有关更多详细信息,请参见第 5.2.3 节 “准备 Windows 服务器”。
由于Oracle VDI 包中未附带 Microsoft 软件,因此 Oracle 支持合同不包括第三方软件相关问题。
以下是对于 Microsoft Hyper-V 桌面提供者所支持的虚拟化平台:
Microsoft Hyper-V Server 2008 R2
Microsoft Windows Server 2008 R2
Hyper-V 服务器的系统要求:
要安装 Hyper-V 角色,请参阅《Microsoft Hyper-V Getting Started Guide》。
要安装独立产品,请参阅Microsoft Hyper-V Server 2008 站点。
Microsoft Hyper-V 要求使用存储服务器来存储 Oracle VDI 所使用的虚拟机。此服务器是除 Hyper-V 主机自身之外的服务器。
与 Oracle VDI 虚拟机管理程序 (hypervisor) 一样,Microsoft Hyper-V 桌面提供者使用 iSCSI 和 ZFS 作为 Oracle Solaris 和 Sun Unified Storage 的一部分。虚拟机可以存储在 Oracle VDI 主机上,但对于生产环境,Microsoft Hyper-V 桌面提供者要求使用单独的存储主机。
关于支持方面的详细信息,请参见第 5.6.1 节 “支持的存储服务器平台”。
有关存储准备的详细说明,请参见:
用户可通过 Oracle VDI 访问 Windows Server 2003 和 Windows Server 2008 提供的终端服务或远程桌面服务会话。Oracle VDI 依赖一些随远程桌面服务一起实施的 Microsoft 工具来提供高级功能,如具有负载平衡和会话重新连接功能的远程桌面服务主机(RDS 主机)的群 (farm) 或群集。
在 Windows Server 2008 R2 中,终端服务 (Terminal Services, TS) 已重命名为远程桌面服务 (Remote Desktop Services, 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/en-us/windowsserver/dd299436.aspx
Microsoft 参考文档:
通过 Oracle VDI 可以访问以下各项提供的远程桌面服务会话:
运行 Windows Server 2008 的单台服务器
具有以下特征的服务器群:
所有运行 Windows Server 2008 的服务器
Microsoft TS 会话代理用于启用负载平衡并允许用户重新连接到现有会话。
如 Microsoft 文档中所述,可以使用 DNS 循环 (round robin)、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 远程桌面提供者:
准备每个 RDS 主机,如第 5.2.3 节 “准备 Windows 服务器”中所述。
在“新建提供者“向导中,使用“指定新主机“选项添加群中的所有 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 主机只能加入到一个提供者。
每个 Microsoft 远程桌面提供者只能有一个池。
池不提供任何克隆功能。远程桌面服务服务器或群负责在新用户连接时打开新的 RDS 会话。
池中的分配类型总是灵活的。如果针对会话重新连接正确配置了 RDS 设置,将提供会话重新连接功能,但这不是 Oracle VDI 的职责。请参见有关支持的平台的部分。
为该池显示的桌面列表对应于与提供者相关联的所有 RDS 主机中的 RDS 会话聚合列表。将会显示所有 RDP 会话,不管其是否来自 Oracle VDI。
组或用户可能会分配到 RDS 池,但是您不能手动将用户分配到 RDS 桌面。
安装 Microsoft Hyper-V 或 Microsoft 远程桌面服务后,必须准备 Windows 服务器,以便与 Oracle VDI 通信。Oracle VDI 不需要在 Windows 服务器上安装任何代理,相反,Oracle VDI 使用 Windows 远程管理 (WinRM) 通过 HTTPS(一种安全协议)与 Windows 服务器通信。对于 HTTPS,WinRM 需要服务器证书才能正常运行。该证书用于加密通信通道。有关详细信息,请参见 Microsoft 文档中的《Windows Remote Management》或《Configuration and Security》。
准备 Windows 服务器以便与 Oracle VDI 通信的过程分为两步。首先,必须使用 Microsoft Internet 信息服务 (IIS) 6.0 资源工具包工具生成自签名证书(下面的步骤 1)。然后,配置 winrm
以侦听 HTTPS 请求(下面的步骤 3)。
这些步骤对于 RDS(或终端服务)主机是必需的,以便可以在 Oracle VDI Manager 和命令行中显示关于服务器的重要信息(包括 CPU 使用情况、内存使用情况和用户会话数)。如果您不想在 Oracle VDI 中查看会话或负载信息,则无需执行下面的步骤。有关详细信息,请参见第 5.2.2.4 节 “Microsoft 远程桌面提供者 RDS 群管理”。从 RDS 池传送的桌面会话仍通过常规 RDP 连接提供。有关如何配置每个桌面池的 RDP 设置的信息,请参见第 6.1.3 节 “如何配置每个池的 RDP 选项”。
在命令 shell(而不是 PowerShell)中运行以下命令。
在 Windows 服务器上生成自签名证书。
使用 selfssl.exe
工具(该工具是 IIS 6.0 资源工具包的一部分),可以从 Microsoft 支持 Web 站点下载。
将 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。
从 www.microsoft.com下载 WS-MAN v1.1. 安装文件 (WindowsServer2003-KB936059-x86-ENU.exe
)。
运行安装文件 WindowsServer2003-KB936059-x86-ENU.exe
继续进行安装。
针对 HTTPS 配置 Windows 远程管理。
winrm
工具用于在服务器上配置远程管理设置。必须指定要使用的证书散列值和验证设置,才能支持 Oracle VDI 发送请求。
在 Windows 服务器上创建侦听器。
在命令 shell 中运行:
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"
默认情况下,端口 443 是 Oracle VDI 侦听的端口。
通过运行以下命令在服务器上启用基本验证:
winrm set winrm/config/service/auth @{Basic="true"}
如果使用 443 以外的其他端口作为 Oracle VDI 与 Microsoft Hyper-V 或 RDS 的通信端口,必须记得在 Oracle VDI Manager 中添加主机时指定该端口。