科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>服务器频道>ZD评测>详解Windows Server 2008 R2中的VDI功能

详解Windows Server 2008 R2中的VDI功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Windows Server 2008 R2同样也向基本的Windows Server操作系统中增加了另一项功能:VDI。在本文中,我们将向您详细介绍Windows Server 2008 R2中的VDI功能和它能为你提供什么(以及不能提供什么)。

来源:ZDNet编译 2009年09月14日

关键字:VDI 微软 WindowsServer2008

Windows Server 2008中将Terminal Services作为平台的这一变化是对Terminal Services最重要的一次变化,因为它被集成到了Windows(Server)产品中。Windows Server 2008 R2同样也向基本的Windows Server操作系统中增加了另一项功能:VDI。在本文中,我们将向您详细介绍Windows Server 2008 R2中的VDI功能和它能为你提供什么(以及不能提供什么)。

你需要什么?

Windows Server 2008 R2中的VDI功能被与现有Windows Server 2008中的RDS(Remote Desktop Services,Terminal Services的新名称)进行了紧密的进程。下面让我们来看一看使用VDI功能所需的所有Windows Server 2008 R2组件:

RD Virtualization Host

Remote Desktop Virtualization Host(RD Virtualization Host)是Windows Server 2008 R2中的一项Remote Desktop Services功能。Remote Desktop Services与Hyper-V R2结合,通过使用RemoteApp和Desktop提供虚拟机。在Windows Server 2008 R2中,你可以通过微软虚拟化平台Hyper-V R2而只使用VDI功能。为了VDI使用Hyper-R2,你需要启用一项被称为“Remote Desktop Virtualization Host”的角色服务。

下图是RD Virtualization Host中的Server Manager界面:

配置RD Virtualization Host可以:

•为机构中的每一个用户都分配了一个专门的虚拟机
•用户被重新指向一个共享虚拟机池,虚拟机在这个池中被动态分配。下文中我们将具体解释虚拟机是怎样被动态分配的。

注意,这种配置实际上是发生在RD Connection Broker中的。RD Virtualization Host利用Remote Desktop Connection Broker (RD Connection Broker)来决定将用户指向哪里。通过RD Connection Broker可进行高层级查看的内容包括:

• 如果分配了一个用户,并请求了一个个人虚拟桌面,那么RD Connection Broker将把用户重新指向这个虚拟机。
• 如果这个虚拟机是关闭的,那么RD Virtualization Host就会启动这个虚拟机,并连接上用户。
• 如果用户没有一个分离的区域,那么这个池中的虚拟机就被动态地分配到用户那里,如果需要的话。

正如你看到的,RD Connection Broker远比你想象的功能更加强大,关于RD Connection Broker所能实现的功能将在下文详细罗列。

重定向模式中的RD Session Host

RD Session Host也就是在应用模式下Terminal Server的另一个叫法。在Windows Server 2008 R2中,RD Session Host功能可以以四种模式配置:

为了在Windows Server 2008 R2中向用户交付虚拟桌面,你将需要配置一个RD Session Host来进行虚拟机重新定向,当完成这一配置之后,RD Session Host服务器将会发生以下一些变化:

• 用户登陆模式将允许重新定向,但不允许新的用户登陆
• 所有程序被从RemoteApp Programs列表中转移到RemoteApp Manager中
• 认证用户组被添加到远程桌面用户组中

是的,这样就意味着你会失去一个设备用作RD Session Host。你可能不希望失去你的128GB、16核设备吧。如果你需要连接这个设备来完成管理任务的话,一定要使用/admin参数,否则你无法进行连接。

微软选择在虚拟机重定向模式中要求这种RD Session Host,而不是通过RD Connection Broker来告诉客户连接了哪些虚拟机,原因很简单:后端兼容性。通过在虚拟机重定向模式中创建一个到RD Session Host的用户连接,使用RDP 5.2版本的客户可以在Windows Server 2008 R2中使用这项新功能。

RD Web Access

R2中的Remote Desktop Web Access (RD Web Access)获得了一个更重要的角色,因为:

• RD Web Access通过RemoteApp和Desktop Connections feed(使用类似RSS的技术)的途径为Windows 7客户提供服务。这为Windows 7用户提供了一个包括所有RD Session Host托管的RemoteApp项目和桌面、RD Virtualization Host托管的虚拟桌面(允许使用开始菜单,仅限Windows 7)的列表。
• 为非Windows 7客户提供向部署了Windows 2008 R2的虚拟桌面的唯一路径(因为他们无法使用RomoteApp和Desktop Connection feed)。

因此,RD Web Access现在为你提供了一个包括所有RD Session Host托管的RemoteApp项目和桌面、RD Virtualization Host托管的虚拟桌面(允许使用开始菜单,仅限Windows 7)的列表。当然,RD Web Accesss也包括Remote Desktop Web Connection,能够让用户从一个网络浏览器连接到任何一个带有Remote Desktop的计算机。

下面的截屏显示了虚拟桌面池在RD Web Access下呈现给用户的状态(忽略认证错误):

因为RD Web Access能够提供一个包括所有RD Session Host托管的RemoteApp项目和桌面、RD Virtualization Host托管的虚拟桌面的列表,所以你需要配合提供这些信息的来源架构RD Web Access。基本上有两种选择:提供一个RD Session Host或者RD Connection Broker。为了能够在RD Web Access中显示虚拟桌面年,你需要提供RD Connection Broker作为源。

以下是架构的界面:

RD Connection Broker

Windows 2008 R2中的Connection Broker功能也有一些重大的改动。首先,和所有其他组件一样,它的命名也从Terminal Services Session Broker (TS Session Broker)改成了Remote Desktop Connection Broker (RD Connection Broker)。以下是已有的功能特性:

• 允许用户在负载均衡RD Session Host服务器农场中重新连接到他们现有的session。这防止了带有间断session的用户连接到服务器农场中一个不同的RD Session Host服务器并重新开始一个session。
• 让你可以在一个负载均衡的RD Session Host服务器农场中的RD Session Host服务器之间平均地分配session。

除此之外,它还可以在Windows Server 2008 R2中为用户提供向托管在RD Virtualization Host服务器中的虚拟桌面的访问路径。虽然这可能听上去没什么的,但这项功能的实施方式却为RD Connection Broker成为一个可以代理向所有类型应用和桌面(不管是运行在Hyper-V主机上的虚拟桌面,还是运行在RD Session Host上的RemoteApp程序)路径的连接代理打下了基础。

以下是部分最新RD Connection Broker架构的界面:

工作原理

尽管这篇文章的讨论范围仅限于R2中的VDI功能,但是我想在这里将一些关于R2中RDS的情况,因为微软在R2中提供了相当丰富使用RDS交付应用和桌面的方式。RDS将VDI和Terminal Services视作一种向用户交付应用和桌面的选择,而不是将亮着作为独立实体进行查看的时候发生错误。它的集成性非常好,例如,VDI和TS session共享多个组件,如RD Connection Broker、RD Web Access server和RD Gateway。

让我们来看一看这些组件是任何在一起工作的,为用户展现一个包括所有RD Session Host托管的RemoteApp项目和桌面、RD Virtualization Host托管的虚拟桌面的列表:

当你执行图标中的步骤时,流程是:

1、 客户通过RemoteApp&Desktop Connections feed或者网络界面请求RD Web Access via HTTP(S)。
2、 然后RD Web Access获取用户证书,请求连接代理获得应用和虚拟桌面列表。
3、 Connection Broker对用户进行认证,并找回包括所有RD Session托管的RemoteApp程序和桌面以及RD Virtualization Host托管的桌面的列表,防止其访问RD Web Access。然后用户可以点击图标进行连接。如果客户正在使用Windows 7的话,RemoteApp&Desktop Connections feed就将对Windows 7客户端开始菜单中可用的、RD Session Host托管的RemoteApp程序和桌面以及RD Virtualization Host托管的虚拟桌面进行升级更新。

这样我们就获得一个包括所有我们可以使用的RD Session Host托管的RemoteApp程序和RD Virtualization Host托管的虚拟桌面的列表,那么如果我们希望连接一个的话怎样办?让我们来看一个例子,在这个例子中,一位用户连接到他(或者她)的个人虚拟桌面上(另一个选择是连接到一个虚拟桌面池):

1、 那么,首先(在点击RD Web Acceess中的个人虚拟桌面图标之后)客户连接到RD虚拟机重定向器。这种.rdp文件被用于进行连接的方法实际上指向了重定向器而不是连接代理。
2、 然后RD虚拟机重定向器请求连接代理获取虚拟机名称。
3、 接下来RD Connection Broker向Active Directory发出请求找出哪一个虚拟机被分配给了这个用户(这是Windows Server 2008 R2中的一个用户账户)。

4、 然后RD Connection Brokerr请求RD Virtualization Host获取虚拟机,并在必要的时候启动虚拟机。
5、 完成之后,虚拟机名称被发送到RD虚拟机重定向器那里。
6、 RD虚拟机重定向器将虚拟机名称发送到客户那里。
7、 客户直接连接到虚拟桌面。

从架构的角度来讲,最后这一部分相当重要:客户直接连接到虚拟桌面。这个连接不会通过连接代理或者RD虚拟机重定向器保留。一旦用户获得了虚拟桌面(DNS)名称,那么RD Connection Broker和RD虚拟机重定向器就会完全不干预,其他方法可能会大大限制这种解决方案的可扩展性。

优点

你可以看到如何在不使用第三方软件的情况下部署VDI。那么最终所有第三方厂商都会涉足VDI领域吗?为了回答这个问题,我们需要详细了解这项功能。那么只安装Windows Server 2008 R2的话你究竟可以实现什么?

• 为AD用户提供向个人虚拟桌面的访问路径
    这是一个运行RD Virtualization Host的虚拟机与一个AD用户联系起来的方式。

• 为AD用户提供向虚拟桌面池的访问路径
    在这里,你在RD Connection Broker上创建一个虚拟桌面池,并向其添加运行在RD Virtualization Host的虚拟机。当用户点击图标,这个虚拟桌面池就会自动分配一个虚拟桌面给这个用户。

• 在用户退出之后将虚拟桌面池重新设置到之前的状态
    这项功能非常棒。如果你在一个池中创建了所有虚拟机的快照,确保快照名称中包括“RDV_Rollback”,这样每次用户从这个虚拟机中退出的时候虚拟机就会返回快照时的状态。不错吧!

•连接到不连贯的Virtual Desktop Sessions
    这项RD Connection Broker中已经具备的功能性是针对运行在RD Session Hosts中不连贯的session的,它也适用于虚拟桌面。如果你正在连接到虚拟桌面池中的一个虚拟机,那么它会在分配给你另一个虚拟机之前首先检查你是否有一个不连贯的session。

• 如果虚拟机关闭,则会启动虚拟机
    如果用户连接到一个关闭着的虚拟机,那么RD Virtualization Host会代表RD Connection Broker启动或者快速启动虚拟机。

• 在用户退出后保留虚拟机状态
    可以配置RD Connection Broker在用户退出后保留虚拟机状态。

缺点

Windows Server 2008 R2集成了一个很不错的VDI功能集,但是让我们来看一看只安装了VDI的Windows Server 2008 R2有哪些缺点?

• 非Windows 7用户不得不使用RD Web Access来获取向虚拟桌面的路径
    因为RemoteApp和Desktop Connection的控制面板是只针对Windows 7用户的,所以你如果没有运行Windows 7,只是想获得虚拟桌面的一个可点击图标的话,你需要使用RD Web Access。

• 不支持其他hypervisor
   尽管Hyper-V R2可能会被众多用户采用,但问题是大多数希望采用VDI的用户运行的是VMware ESX。记住一点,这是只安装了VDI的Windows Server 2008 R2存在的一个问题,而SCVMM R2在这种情况下可以很好地管理ESX主机。

• 没有自动创建虚拟桌面的功能
    Windows Server 2008 R2本身没有提供自动创建虚拟桌面的功能。用户需要通过其他(SCVMM)或者第三方工具在Hyper-V R2中手动创建虚拟桌面。对于一个规模较大的VDI部署来说,这马上会成为一个难题。

• 需要一个高级重定向主机
    出于向后兼容性的原因,只安装了VDI的Windows Server 2008 R2需要一个在虚拟机重定向模式下的RD Session Host。这需要你另外购买一个许可,而且增加了一台需要管理的服务器,另外这还可能增加复杂性并增加另一个潜在的SPOF。如果你希望提供到Terminal Server的访问路径,那么你将需要另外一个在重定向模式下的RD Session Host。

• R2 VDI中不具备所有RDP 7功能
    在这篇文章中我们没有谈到关于让只安装了VDI的Windows Server 2008 R2很可靠的一个原因,那就是所有对RDP的升级让RDP更适合于在VDI环境下使用。除非你正在使用Windows 7作为虚拟桌面,否则都不包括像多监控支持、多媒体重定向和Aero Remoting这样的功能。不管有无缝的“向后兼容性”——适用于Guest VMs的RDP功能。

• 有限的选择
    只安装了VDI的Windows Server 2008 R2的基础看上去似乎很稳定,只是Connection Broker的智能性现在还不够。有些情况下你可能有更多的需求:
        ◊ 你可以向一个用户分配一个虚拟桌面,或者向一组用户分配一个虚拟桌面池,但是如果你想向特定的IP子网分配一个虚拟桌面的话怎么办。
        ◊ 如果虚拟桌面池没有任何可用虚拟机的话怎么办?
        ◊ 如果你希望在用户第一次登陆可以动态选择虚拟桌面、以后登陆就提供相同桌面的话怎么办?
        ◊ 如果你向为用户提供两个个人虚拟桌面的话怎么办?

列表继续,我想你将想到办法了:

• 管理工具
R2中对VDI的管理功能已经被集成到了RD Connection Broker配置向导中。尽管配置向导会帮助你完成所有步骤,但是你需要承担所有管理工作。例如,如果你需要管理用户session,你需要适用其他工具(Remote Desktop Services Manager,遗憾的是它并不太便于使用)。如果你需要管理VDI用户session的话,那么你就不太走运了。

• 复杂性
尽管微软在指导你完成创建只安装了VDI的Windows Server 2008 R2方面做得很好,但问题是这仍然是一个非常繁冗的安装过程,而且只允许用户连接到虚拟桌面。想一想,你至少需要RD Connection Broker、RD Virtualization Host、在虚拟机重定向模式下的RD Session Host以及RD Web Access Host。接下来,你还需要保留本地计算机成员关系,例如Session Brokers Computer组和 Web Access Computer组。

只安装VDI的Windows Server 2008 R2另外一个非常复杂的方面就是,在可以被用作一个虚拟桌面之前,你需要在Windows 7虚拟桌面上完成这些步骤。不过,微软计划发布一个可以帮助解决这个问题的脚本。大多数“VDI厂商”通过提供代理解决这个问题。有了Windows 7,微软可以通过在Windows 7内嵌一些客户让Windows 7兼容“微软VDI”,但是微软并没有这么做。甚至Hyper-V集成组件也都是默认的。

总结

微软凭借Windows Server 2008 R2迈出了走向VDI领域的第一步,这些脚步看上去是坚定而自信的。然而客观地说,这些还只是很小的一步。没有什么好惊讶的,因为微软曾经特别提到,Windows Server 2008 R2中的VDI功能是针对小规模简单的环境。我相信,未来的版本将对这一功能性进一步完善,就像微软这么多年来在Terminal http://img.zdnet.com.cn/zhuantipic/server/RDS领域作出的努力一样。

为了在除“小规模简单环境”之外的环境中实现VDI,你一定需要额外的第三方“VDI产品”(例如,Quest vWorkspace、Citrix XenDesktop或者其他兼容Hyper-V的VDI解决方案)和其他微软产品(例如SVCMM R2)。

综合评分:8.285 分
云能力:8.6 分
营业额:737亿美元[2012]
云服务:Windows Azure

查看更多 >>

邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅ZDNet技术邮件将是您的最佳途径之一。