虚拟化技术的发展过程

2016-05-18

虚拟化技术的前身应该是远程桌面技术,这方面最常用的两个协议,一个是Unix的X Window System(X),一个是微软的Remote Desktop Protocol(RDP), 绝大多数人都使用过XP或者Windows Server的远程桌面,或者Linux的图形桌面,分别是基于这两个协议实现的,随着Windows桌面的普及,RDP也被普遍采用,成为 Windows以及VMware的客户端虚拟化的基础通信协议,远程桌面技术还不能算是虚拟化,因为没有什么是被虚拟的,一个远程桌面对应了远端的一台物理机器。

最初的虚拟化是操作系统虚拟化,VMWare  WorkStation可以看作代表,就是在桌面OS(比如WindowsXP)上通过VM软件再安装多个VM(Linux或者Windows  Server)同时运行,这种技术主要的目标是给开发和测试人员提供一个方便的环境,毕竟在OS上面再安装多个VM的方法会造成VM对硬件资源的使用效率以及稳定性方面的问题,而且因为无法集中化管理,在降低运营成本提高管理效率方面几乎没有什么帮助。

真正的虚拟化是开始于服务器端的服务器虚拟化技术,这个可以看作操作系统虚拟化的进一步发展,这个时候VM软件可以直接安装在裸机上了,不再需要一个OS来支撑VM软件的模式极大的提高了虚拟机对硬件资源的使用效率和稳定性,让集中式的虚拟化数据中心真正成为可能,从而也真正的降低了运营成本,提高了设备的使用效率。

虚拟化数据中心的实现直接带来的问题就是虚拟机都在数据中心集中管理了,用户如何使用呢?这就引出了另一个虚拟化——桌面虚拟化技术,用户在远程通过桌面虚拟化软件连接到虚拟化数据中心,使用数据中心里面虚拟机的桌面资源,其原理和远程桌面的原理是差不多的,因为RDP协议就是把服务端的桌面传递到客户端的通信基础协议,这样用户就可以在任何时间从任何地点获得自己桌面,随着广域网远程接入需求的逐步扩大,RDP协议在带宽占用方面的问题就暴露出来了,Citrix公司放弃RDP开发出ICA协议,将带宽占用缩小到原来的1/3以下,从而在桌面虚拟化技术上处于领先位置,VMWare也随着View4的发布,在对RDP继续支持的基础上增加了对PCoIP的支持,PcoIP因为有数据压缩,所以在广域网上的表现远高于RDP,但是有评测说明PCoIP在带宽使用上依然处于ICA的两倍以上。

服务端虚拟化带来了服务器使用效率的提高,并且通过集中式管理提高了数据的安全性,桌面虚拟化解决了用户接入问题,但是管理成本的降低怎办呢?假如1000个用户,以前是1000台PC,现在是1000台虚拟机,如果需要给1000个用户都升级某个应用程序(比如说Office2003到2007),或者升级OS(XP到Windows7),还是要在1000台虚拟机上全部装一遍,这方面没有任何效率的提高,这就引出了第二代桌面虚拟化技术。

第二代桌面虚拟化技术是服务器虚拟化和桌面虚拟化技术的双重进步,首先服务器端的虚拟机不再是预先安装好等待使用的模式了,服务端把一个虚拟机进一步细分成OS,APP(应用),用户配置三部分,还是针对上面的例子,1000个用户,在服务器这边不再有1000个虚拟机,而是有1个OS的模板,因为这1000个人都使用同样的OS ,1套APP的配置,因为我们假设这1000个人都需要同样的应用程序,当然实际情况可能是1000个人分成若干个工作组,每个组对应用的需求是不一样的,这样只要建立和工作组数量相同的应用程序配置就够了,然后是1000套个人配置文件,这个在初期可以通过企业的AD来实现(绝大多数企业都已经在使用Windows的域管理了),在用户从桌面虚拟化客户端连接到服务器端的时候,根据用户的ID把对应的OS,APP和用户配置组合起来做成一个虚拟机,推送到远程客户端,这样的话,如果APP升级了,只要把对应的APP设置升级一下,下一次用户登录的时候就自动更新了,OS升级也是一样。只要修改一个OS模板,1000个用户就全部实现升级了,通过这种方式极大的简化了IT管理成本。

在第二代桌面虚拟化技术里,为了实现APP与OS的分离,就引入了应用程序虚拟化的技术,只有应用程序虚拟化了,才有可能快速的把OS和应用程序匹配成虚拟机。

最后就是存储和网络的虚拟化,这个不是必须的,但是随着虚拟化数据中心的发展,需要的存储设备会越来越多,如何有效的利用这些存储设备就成为一个问题,网络也是一样,网络拓扑结构的变化也是数据中心根据负载的变化需要不断应对的问题,网络拓扑结构变化最大的问题就是可能导致服务器的停机,而虚拟化技术是高度依赖网络的,一旦没有网络了客户端什么都做不了,今后增加一个路由器、DNS或者VPN等设备会变的像增加一个虚拟机一样容易。