虚拟桌面存储:克服限制与瓶颈

虚拟桌面可以简化管理,但需要正确地规划来消除存储性能瓶颈,确保性能和满足增长需求。存储子系统可以简化VDI部署,但如果没有按照最佳实践操作,它的成本会爆炸式增长。在本书系列四篇文章第一部分,我将帮助您理解虚拟桌面带来的存储限制以及如何克服瓶颈。

多年来证实桌面虚拟化是一种可靠的技术,可以帮助企业以全新方式集中管理和控制多个终端,这是老的台式机和笔记本实现不了的。应用虚拟化可以把运行于服务器上的关键应用分发给多个用户使用。

在VDI架构下,整个桌面都是安装在服务器上并通过LAN提供给简易终端。同时也受到所有客户端或服务器计算模式的限制,例如服务器和网络损坏。也因此,尝试这一新技术的企业也需要理解所有虚拟桌面可能带来的瓶颈问题。

存储和桌面虚拟化限制

表面看起来,VDI这样新技术非常好。VMware View或Citrix XenDesktop软件,可以提供把位于中央数据中心内的完整桌面分发给简易终端设备上运行。管理员可以实现对桌面的完全管理、快速分发、限制可以安装的软件、管理操作系统和应用的补丁升级。理论上,一个管理员可以不离开数据中心的前提下管理成百甚至上千个桌面。

现实则没有这么美好。桌面虚拟化遵循了客户端或服务器模式,也受到相同的限制。例如,由于网络或服务器产生的问题会断开用户会话,使终端设备不可用,导致生产中断。

在存储容量方面,潜在的问题甚至更为突出。假设某个拥有1000员工的企业为每个桌面保留50GB的空间,就意味着需要为数据中心增加50TB的企业级SAN存储容量。实际的容量使用要比这个高效,但是潜在的存储需求不可忽视。

除了庞大的存储空间需求,还需要注意各种性能问题,例如存储访问。和基于服务器的应用所需的存储能力是可以提前预测不同,桌面系统通常产生更多的随机存储访问需求。

例如,用户可能正在下载音频的同时另一个用户在访问视频,还有用户在处理电子表单,而另外的用户在访问某个文件。由于多个用户在以各种不可预测的方式对存储产生读写访问,存储子系统没有经过很好的规划则很容易过载。

还有一种压力来自于多用户同时开始访问存储设备,这种现象称为“启动风暴”。

“每个人都是在周一早上8点开机并访问他们各自的虚拟桌面,”咨询公司Silverton Consulting主席和创始人Ray Lucchesi认为,“这个行为会对存储系统带来极大的性能负担。”

这种现象有时也称为“资源风暴”:在工作日时间内大量用户在同一时间开始启用存储读写任务(例如观看某个消除病毒感染的视频片段)。

当然,一些潜在的问题可能不仅发生在存储上,用户的行为可能会轻易超出最强大服务器的计算能力。例如,反恶意软件会极大增加虚拟桌面对CPU和存储读写方面的需求。

“打开Resource Manager,观察下您的PC内运行了哪些服务,然后跟踪CPU、内存和磁盘资源的消耗,” Nexus Information Systems公司主管销售的副总裁Keith Norbie说,“这样就可以知道是什么占用了资源。”

这些需求都会转化为服务器上运行的虚拟桌面的状态。当您在考虑数百台(或数千台)虚拟桌面的效果时,小规模的POC测试可以轻松看到会带来的影响。

资源需求的累积可能会引发大规模问题。通常如果被忽视,就会导致性能差、项目失败,或额外预算的服务器、存储和网络,这些都使得桌面虚拟化的投资回报受到质疑。

克服桌面虚拟化的瓶颈

尽管虚拟桌面的挑战很严峻,解决这些问题的方法也很多——尤其是在存储和性能提升方面。最重要的策略之一就是良好的规划和研究。不是所有桌面(和桌面用户)都相同,传统桌面环境中混乱的计算资源需求状态需要认真分析。

这不仅是保证为每个桌面镜像分配足够的存储资源这么简单的问题,每个独立PC所需的资源都需要被认真衡量,包括在已经产生额外资源需求的时期。掌握了这些数据,虚拟化规划人员才算拥有了对整个服务器计算资源、网络带宽和存储性能等各方面需求的完整视图。

掌握了这个整体视图,规划者才可以更好地在设计阶段规划整体架构。考虑到各个桌面对计算资源的不同需求,规划者会发现虚拟桌面并非适用于所有用户——这步经常被忽略。实际上,这项技术在用于相对静态的(如饼干切割)用户桌面时更为高效。

例如,虚拟桌面非常适合于呼叫中心的订单录入文员,他们通常都使用相同的一个或两个应用。相对地,市场部和图形通讯部门等创作型人员,可能就需要更多地计算资源来使得桌面虚拟化支持其业务。另外一些情况下,用户所偶尔使用的一些特殊应用可能并不值得采用虚拟化。

架构规划的时候就要集中于满足那些目标虚拟桌面客户群体的计算需求。当然,存储系统需要进行优化,以满足随机I/O和启动风暴等带来的爆发式读写需求,不过如果桌面镜像都是基本相同时,存储子系统的缓存也可用于缓解压力。

“当这些镜像的需求到达存储时,如果它们本质上都是同一个源文件的快照,那么第一次请求时会把数据写入缓存,之后的所有请求直接读写缓存内的数据就可以命中,这时性能表现会非常地好,”Lucchesi说道。

另外一种提升存储随机I/O性能的方式是通过跨条带化的硬盘,通过增加大量的小磁盘——实际上增加了同时完成数据读写的磁盘数量。固态硬盘或混合驱动器(在磁盘盘体和输出接口之间增加固态内存做缓存)也可以帮助提升性能。

最后,减少操作系统的标记和重定向用户数据到网络共享文件也可以极大地减少每个桌面系统实例的大小和增加存储性能。虚拟化文档中通常包含了大量的最佳实践可以帮助管理员解决存储需求问题。