传统的分散式系统中,每台
PC 都拥有自己的操作系统、中间件、软件和存
储资源。虚拟桌面架构改变了这种模式,它使得企业可以创建各种不同级别的虚
拟机镜像并根据需要去加载这些镜像。有些时候,用户需要像配置物理系统一样
对虚拟机镜像的配置做一些定制。但是这些定制也同时意味着需要管理更多的桌
面系统镜像文件,而且对应用程序做了改变以后也可能会导致原有的主镜像跟
正在工作的用户环境不兼容。
在
VDI 所需的资源中,内存是最难管理一部分。和传统的服务器应用程序
在一定程度上是为持续应用而设计不同的是,虚拟桌面应用,尤其是在面向服
务架构的应用软件中,通常是为了满足多次加载然后运行数个小时这样的需求
设计的:它们必须支持随时从内存中移除。而移除的过程就会产生大量的磁盘
I/O 负载。即使只有特定数量的用户需要同时运行一个基本应用程序,多数情况
下,也无法支持同时运行多个指定的拷贝。因此,建立一个可以同时保留多个独
立虚拟机镜像的内存资源池是非常有必要的。
磁盘资源是
VDI 需要面临的另外一个挑战。在传统的分散式物理桌面情况
下,客户端系统对磁盘资源的需求是分散到不同的磁盘设备和控制器上的,因
此,对磁盘的读写不会产生冲突。然而当采用托管的虚拟桌面架构时,宿主机磁
盘系统需要同时面对多个虚拟桌面的
I/O 需求,这就会导致拥堵和性能问题,
尤其是当虚拟桌面支持的工作进程经常会产生很多同步操作的情况下。假设每个
用户每天工作的第一件事就是查看工作清单,那么早上
9 点钟的 I/O 阻塞情况