工作原理
尽管这篇文章的讨论范围仅限于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虚拟机重定向器就会完全不干预,其他方法可能会大大限制这种解决方案的可扩展性。