虚拟桌面 之我见

虚拟桌面 的业务价值

虚拟应用产生在虚拟桌面之前,虚拟应用是一种和 VPN 类似的原创访问方法。它其实最初实现的是图形 GUI 的远程访问,注意不是文字终端。它和 VPN 具有本质的区别,在于虚拟桌面是“终端不留数据/秘”的;这个它性拜它的传输协议所赐,虚拟桌面传输的主要是图像信息和键鼠指令。它的另外一个特性是“维护渐变”,在终端上维护近似于零(除了安装和配置虚拟桌面连接客户端程序外);在服务器端应用升级和维护简单,主要是通过升级和更新一堆的 Windows 操作系统来实现。因此,主要的业务价值有两点:1)数据安全;2)维护简单。基于这些价值取向,它可以很好地胜任一下业务场景: [su_list icon=“icon: flag”]

  • 多网隔离、集中上网、运维/外包/审计人员访问管理
  • 前端操作环境和后端业务数据的分离
  • 呼叫中心、处理中心和窗口柜员
  • 移动办公、BYOD
  • 安全研发、协作研发
  • 3D 虚拟桌面
  • 等等等等

[/su_list]

业务价值很精练,业务场景太多这里就不赘述。

关键技术点

下面是虚拟桌面/应用的基本原理架构图。 xen 通过上图可以对虚拟桌面的技术架构一目了然。虚拟桌面基础架构就是在数据中心里面部署的一堆 Windows 虚拟机,核心就在于让远程用户可以操作使用这些虚拟机里面的应用或者这些虚拟机桌面。鉴于此,核心技术主要有两个方面:Windows 操作系统虚拟机的集中发布更新和管理;远程访问协议和所有终端管控策略。

Windows 虚拟机的发布和更新

Windows 的虚拟机有两种:Server 和 Desktop;虚拟应用技术主要是利用 Windows Server 操作系统天然的多用户性质,实现一份安装程序的多用户同时使用。虚拟桌面是复制 n 个预装应用的 Desktop 桌面操作系统来实现 n 个用户的使用。

1)虚拟机克隆

使用服务器虚拟化技术可以方便地从 OS 模板中克隆出 n 个虚拟机,它的挑战在于:

  • 创建和更新的速度要快,特别是在虚拟机数量大的情况下
  • 可否永久保持用户的个人数据,更新操作不会清空旧的个人数据
  • 存储空间要节省

2)Stream OS 流化操作系统

这种方案是一种古老而容易被人遗忘的技术。就是很久很久以前的无盘工作站的思路。虚拟机或者物理机以网络启动的方法获得一个运行的 Windows 操作系统。所有的操作系统启动镜像都在服务器端统一管理,一种镜像可以对应启动 n 可操作系统,这些操作系统目前多以虚拟机的形式存在。它的特点

  • 虚拟机对磁盘的消耗非常小,磁盘是写缓存和用户数据。它的大小可以是 0 或者几个 GB。
  • 创建的速度快
  • 大批量虚拟机启动过程对网络有一定的压力,一般需要使用隔离的万兆网
  • 同样有个人数据保持的问题
  • 更新速度非常快,所有的操作系统在母盘更新后,需要重启来更新

不管用什么方式集中管理虚拟机,总之桌面虚拟化是要同时玩转这几个球水晶球。

  • 存储成本和性能
  • 操作系统更新和个人数据保持
  • 虚拟应用和虚拟桌面的混搭
  • 虚拟机发布更新方式的混搭

远程访问协议

远程访问协议哪家强,可以公允的说还是 Citrix ICA 强。本文不是评测访问协议,只是点到为止。远程 GUI 界面发的虚拟访问方式一共有以下几种:

[su_list icon=“icon: flask”]

  • Citrix ICA/ HDX ICA : Citriix 的发家的技术,具有网络适应性强可用于广域网,后台管控策略精细,用户体验高等特点。
  • PCoIP :最早适用于非虚拟桌面领域的,后来和 VMWare 和 Teradici 共同研发之后用在了 VDI 的访问上。
  • RDP :Windows Server 操作系统自带的远程桌面访问协议,不管你用还是不用它就在那里,它的技术日趋成熟,体验越来越好,不容忽视,从 MS 许可证的角度讲,任何一个虚拟桌面就需要购买微软的虚拟桌面 windows 许可证。
  • SPICE :它是一个开源的协议,可以和 KVM 配合实现 Windows 和 Linux 的远程桌面范围,自身的成熟度和完整度都一般。由于代码的开放性,有使之在某些公司手里成为可造之材。
  • 其它 :国内主要的方式是类似于破解 RDP 的形式,基于 RDP 做一些改进和优化。

[/su_list]

总之一句话“优秀的访问协议”是好的虚拟桌面的天然基因,但它并不是虚拟桌面的全部。几个核心的考察指标包括:

  • 是否支持集中管理:在一个集中的管理服务器上实现对虚拟机、用户、访问终端等等的集中统一管理。
  • 管理的颗粒度:你不清楚的话,就到厂商的管理控制台上数数就行
  • 带宽消耗:带宽消耗和视觉效果 100%是成反比的,节省带宽就以为这降低显示效果,但是还要要求不降低操作灵敏度的情况下,是否支持 WAN。这些看似矛盾的因素就是要在一个共同体里同时寻找。
  • 客户端设备兼容:是否任何有计算能力有显示输出的设备都可以操作。主要是设备的类型和操作系统。

服务器虚拟化技术

没有服务器虚拟化似乎不成虚拟桌面项目。它是运行虚拟机的载体。选择的范围主要几家:vSphere,XenServer、Hyper-V 和 KVM。可以说他们和虚拟桌面是强相关的有一定的兼容性制约。如果不差钱,那么直接买最贵的。如果非常清晰自己的业务需求,则可以推导出自己合适的技术。

网络技术

一个完美的虚拟桌面基础架构需要实现数据中心 100%的包裹,需要实现外网设备统一的访问入口。说的更形象一点:虚拟桌面平台的虚拟机操作环境可以成为数据中心企业数据的传输终点,所有用户和数据的交互都在这里发生,数据是否能继续它的旅程传输出去,是受到策略的控制。外部客户访问这个入口,入口想一扇门,打开它用户就能够访问到自己的所有的应用和桌面,这扇门对外只开放一个端口,它起到了远程访问协议的代理服务器的功能,它把虚拟桌面基础架构中成百上千的 IP 地址的访问都终结掉,给防火墙策略的制定减轻了压力,实为容易忽视的关键技术点。

项目的成败

毫不夸张的讲,能给你把大规模虚拟桌面项目做成功的人才对你有真爱。大规模虚拟桌面项目太复杂,实施难度大,成本高,这是业内的共识。对于大的组织,业务需求的梳理和确认需要有厂商引导,在这个过程中最尖锐的问题会在与:1)应用的兼容性;2)外设的兼容性。目前的 Windows 应用并非天然能够在虚拟机里面运行的,特别是在有负载外设需要通过远程协议链接的时候,更是如此。让企业修改应用是一个非常头痛的事情;选择修改应用,使之更适用于虚拟化环境,从长远看是明智的选择,并非企业的让步。而逼着厂商来适应一个糟糕的,或者本不该出现在虚拟桌面环境中的应用,即使是花了很大的代价实现了,也是投入和产出及不划算的。

成本结构的烦恼,宏观的看成本中排名前几位是:存储、服务器、软件许可。也就是说桌面虚拟化厂商玩命的在硬件厂商打工。如何节省存储和服务器成本,方法可以是:减少虚拟机的资源消耗量。注意有些情况下是在不极大降低虚拟的数量上来做的,这就不得不去细看一下虚拟机的制备方法上,各家的优势了。方法也可以是:调整 VDI 和虚拟应用使用的比例。

实施的过程不仅是搭建和测试,更要命的时用户的接受程度。在有些地方是需要强推,在某些情况下是要把技术问题留给厂商解决。一切都在于实施成本的平衡,没有一帆风顺的实施。实施的过程也是不断积累运维经验的过程,企业需要做好学习和提高的准备,这个球也不好接住。

总结

桌面虚拟化和应用虚拟化是两个不同的技术。在一个项目和客户里,可能是两种不同的技术路线,在很多情况下也是混合使用的。它们构成了“企业应用交付基础架构”,这个基础架构在数据中心里地地位和网络设备、服务器、存储、数据库等等是相同的。只是它处在一个比较特殊的位置。很多人可能还不能理解到这一层。

从 ITSM 的角度看,它提供了一种 IT 服务。用户通过它可以安全高效地使用各种企业业务应用和数据。企业可以用应用交付基础架构,轻松地把业务系统部署到任何的工作场所;并得到更好地数据安全性的保证,更快速地交付各种业务(甚至所有内网应用)给最终用户(不管他们身在何处)。

comments powered by Disqus
本博客始于 2007 年
Built with Hugo
主题 StackJimmy 设计