实战虚拟桌面 XenDesktop小道报告

不说不知道,虚拟化技术其实在IT领域已经存在40多年了,今天的虚拟化已经褪下了神秘的面纱,走进了寻常的x86世界。虚拟化毫无疑问的是今年的市场技术热点,这多少跟微软的高调进军虚拟化市场有些关系,从年初Windows Server 2008上市到最近的微软技术大会上发布的全套虚拟化解决方案来看,虚拟化都是不能忽视一个关键词,微软与VMware在技术与市场上的你追我赶,还有各个 服务器厂商纷纷推出虚拟化工厂预装版本的 服务器产品,都使得我们的目光一直离不开虚拟化三字,言及 服务器必称虚拟化,虚拟化必称VMware微软,至少国内的大部分人是这样认为的。

  其实在虚拟化市场,除了微软与VMware之外,其实Citrix(思杰)也是一个不可忽略的重要角色,尤其是在去年Citrix5亿美元收购了XenSource之后,很大程度的丰满了Citrix本身的技术以及产品线。最近小编仔细研究了下Citrix的虚拟化产品以及解决方案后发现,其实Citrix的产品和技术也涉及到全方位的虚拟化,从后台 服务器到前端桌面展示以及应用程序,都有自己的虚拟化产品。要说在虚拟化技术领域的历史,其实Citrix的资格比现下风头正猛的微软还要老,不过公司策略就低调得多。

  

esxi控制台无法输入_虚拟化

  Citrix公司提供了一整套的虚拟化解决方案,从后台的XenServer(相当于Hyper-V和ESXi)服务器虚拟化到XenDesktop桌面虚拟化(相当于Vmware VDI)再到XenAPP应用程序的虚拟化(相当于MS的APP-V)。为企业提供了一整套的虚拟化解决方案。

  Citrix XenDesktop是Citrix公司一款桌面虚拟化的产品。简单的说XenDesktop就是在服务器端构建一个VDI(Virtual desktop Infrastructure)虚拟桌面架构,客户端可以随时随地通过网络来访问存在在服务器上的桌面系统。就像本地使用物理机一样。这样做有几个好处,一是可以降低企业环境中桌面维护成本,因为只要维护好服务器上的桌面镜像就可以了,不必在跑到物理机处做维护。二是可以快速高效的分发新的桌面系统给员工。三是员工不受空间位置的限制,随时可以链接到自己的桌面环境。

  

esxi控制台无法输入_esxi控制台无法输入_02

XenDesktop架构

  首先在数据中心运行着多个Virtual Desktops。配合使用放入还有应用程序虚拟化Xenapp for Virtual Desktop,用户在前台所接收到的操作系统平台以及运行的应用程序,全都是使用虚拟化技术制作出来的数据流。

  其次,通过Dektop Delivery Controller(Citrix DDC)接收客户端请求,根据域服务器的相关配置将桌面分发给客户系统,当然也可以给WAN网用户提供广域网虚拟端到端的虚拟桌面服务甚至是手持设备。

  特备值得提一下的是Citrix应用在虚拟桌面和应用程序虚拟技术上使用的是自己开发的ICA网络协议。ICA(Independent Computing Architecture)协议是Citrix公司开发的Windows表示层协议。从原理上讲,它类似于UNIX系统上的X-Windows协议。ICA由三部分组成,在服务器端,ICA能够把应用 软件的逻辑执行和用户界面分离开,通过标准的网络传输协议IPX、SPX、NetBEUI、TCP/IP、PPP把用户界面传送到客户端。在客户端,用户能看到和使用应用的用户接口,但是应用的逻辑执行100%在服务器端。ICA网络协议通过标准协议传递 键盘、 鼠标和屏幕显示更新数据,平均只需要10-20K的带宽,ICA极低的带宽占用和较高的传输效率保证了32位应用能在客户端被高效率的访问使用。

  想要实现全部功能的Citrix XenDesktop企业级别的虚拟桌面应用方案,尤其是支持动态交付和服务器备份方案的系统,下面是的控制组件和程序应该是少不了的。

   Citrix Desktop Delivery Controller:此控制组件可以控管用户和虚拟桌面之间的联机, 客户能在数据中心集中化管理应用和桌面,并且控制通过网络向终端用户的交付,目前最新的版本是2.1。

Citrix Provisioning Server:这是Citrix虚拟化方案的核心组件,Provisioning Server可以说是整套系统的调度中心,它通过网络按需交付组成完整的服务器的各个部分,包括OS、应用和配置。Provisioning Server将服务器各个部分分拆成为一个独立虚拟镜像——VDisk,并将其以文档形式存储在网络上。当服务器启动时,不再通过本地磁盘启动,而是从网络上的VDisk引导启动,Provisioning Server采用流技术将指定的应用组成部分交付到服务器。

  Citrix Provisioning Server for Desktops采用流技术通过网络服务将单一的标准桌面镜像按需交付给物理桌面。对共享桌面镜像进行集中化配置、交付和管理,降低了总成本,提高了安全性和灵活。

   Citrix XenDesktop Setup Wizard 2.0:虚拟客户端的快速向导工具,它结合Citrix组件即可帮助我们快速地创建出多个虚拟桌面。

  

esxi控制台无法输入_操作系统_03

   Citrix XenServer:虚拟服务器端,用Hyper-V或者ESX也是可以实现一样的作用,就目前知道的,XenDesktop可以使用在Hyper-V的VM上,背景Citrix跟微软有多年的合作关系。

   XenCenter 4.1:XenServer的管理控制台,Windows Server 2008自带的VMM目前还不支持XenServer VM,据说SCVMM 2008可以做到这一点,也是有待验证吧。

  除了上面说的,用户使用XenDesktop当然不仅仅局限在一个桌面而已,操作系统之上的没有应用程序也只是空壳一个,所以Citrix XenApp以及相关的一部分当然也是必不可少的,那个有机会再另文介绍。

  

esxi控制台无法输入_esxi控制台无法输入_04

XenDesktop完整系统组成以及工作流程

  上面的各个组成部分我们分别用不同的虚拟服务器充当。

   下面我们就开始Citrix XenDesktop的安装与配置。

  安装后台的虚拟服务器这里就不再占用篇幅了,有兴趣的同学可以参考以下内容:

   服务器虚拟化平台:VMWare ESX 3.5安装图记

   相当简单的虚拟化 Hyper-V安装图解

  安装有虚拟服务器以及管理控制器之后,我们开始虚拟桌面的第一步。Citrix对各个组件都分别提供独立的安装版本,这样的好处是便于管理员进行切合企业实际需求的模块化配置,也有不好的地方就是对于象小H这样的新接触的新手,真的会让人非常的晕。

  现在小H手上就有啰啰嗦嗦的5、6个 软件镜像,每个镜像中会有1到2种程序工具,可能需要在服务端和客户端分别安装不同的组件。各个 软件安装配置的先后顺序关系不大,但还是绝对会影响到各模块之间的通讯和验证判断。

  

esxi控制台无法输入_esxi控制台无法输入_05

  虚机和管理器配置完毕以后,需要装的安装的是Citrix XenDesktop以及分发交付控制器DDC,安装XenDesktop要求系统升级.NET framework3.5环境。

esxi控制台无法输入_虚拟化_06

  

esxi控制台无法输入_操作系统_07

  Citrix XenDesktop安装在虚机桌面源之上,除了.NET framework3.5和对应32或64位的版本选择之外,需要设置的条件不多,基本上一直下一步就可以完成。

  

esxi控制台无法输入_esxi控制台无法输入_08

  

esxi控制台无法输入_虚拟化_09

  DDC是虚拟桌面交付系统的核心部件之一,每个用户端发出的登陆指令都是有DDC接收并调度数据源和虚拟桌面镜像做出相应反馈。

  

esxi控制台无法输入_虚拟化_10

  

DDC安装时一定要正确指定之前安装XenDesktop,否则会影响桌面镜像的交付流程。

  

esxi控制台无法输入_数据库_11

  

esxi控制台无法输入_esxi控制台无法输入_12

  

esxi控制台无法输入_数据库_13

  先前想不到的的是DDC的安装还需要数据库的支持,小H编辑生平最头疼的两样,数据库占其一。如何安装配置数据库,各位同学自己找相关资料吧,小H此处省略数千字。

  

esxi控制台无法输入_esxi控制台无法输入_14

  

esxi控制台无法输入_数据库_15

  这一步会让DDC与数据库联结起来,因为会影响到Master数据库,这个安装必须是系统管理员的权限下进行。无论是本地的还是远程的,必须使DDC正确的连接到数据库,DDC的安装才会进行到下一步。数据库的作为在于存储客户端Agent的信息,让不同的登陆信息可以得到属于自己的那一个虚拟桌面,这确实很重要。

  

esxi控制台无法输入_运维_16

  DDC安装完成会要求重启。在即将用于接收虚拟桌面的客户端同样需要使用DDC的ISO进行安装,不过安装的是客户端组件,安装过程要求指定服务器端的名称以及IP地址,安装完成后选择“网络启动”,就完成了客户端的设置。

  忘了提醒一句,这套虚拟桌面的全部环境都要设定在同一域组环境下。小H编辑生平最头疼的两样,域环境占另外之一。如何安装配置AD、OU和域,各位同学自己找相关资料吧,小H此处再次省略数千字。:)

  Citrix Provisioning Server是Citrix虚拟化交付方案的核心组件,Provisioning Server可以说是整套系统的调度中心,它通过网络按需交付组成完整的服务器的各个部分,包括OS、应用和配置。Provisioning Server将服务器各个部分分拆成为一个独立虚拟镜像——VDisk,并将其以文档形式存储在网络上。当服务器启动时,不再通过本地磁盘启动,而是从网络上的VDisk引导启动,Provisioning Server采用流技术将指定的应用组成部分交付到服务器。

  

esxi控制台无法输入_虚拟化_17

  Citrix Provisioning Server的ISO同样需要使用两次,分别在服务器上和客户端安装Server和Target Device,服务端上会使目标源的桌面虚拟化,并制作Vdisk作为一项服务储备在服务器上,等待客户登陆调用的指令。客户端上安装的TD是为了让客户端设备正确的识别Provisioning Server所在的服务器。

  

esxi控制台无法输入_虚拟化_18

  

esxi控制台无法输入_esxi控制台无法输入_19

  

esxi控制台无法输入_数据库_20

  安装完毕后的需要在控制台上作相应的设置。

  

esxi控制台无法输入_数据库_21

  首先要在服务端上划分一定的空间作为储备桌面资源的虚拟磁盘。

  

esxi控制台无法输入_esxi控制台无法输入_22

  

esxi控制台无法输入_数据库_23

  

esxi控制台无法输入_数据库_24

  

esxi控制台无法输入_虚拟化_25

  对于活动目录种的账号信息设定密码账号管理。

  

esxi控制台无法输入_操作系统_26

  很重要的一步是,设定完毕之后,要映射到我的电脑上,进行格式化,没有格式化之前,是不能储存文件的,这跟物理 硬盘一样。如果不想让这个虚拟磁盘被随意读写,格式化之后再取消映射即可。

  最重要的一步,就是创建虚拟桌面的模板,回到XenCenter,选择新建虚拟机,步骤和一般创建虚机不太一样的就是过程种不需要添加 硬盘,选择插入系统安装盘的时候选择Provisioning Server所在的Vdisk路径。

  

esxi控制台无法输入_虚拟化_27

  虚拟创建完毕后,点选转换为模板。

  

esxi控制台无法输入_操作系统_28

  回到Provisioning Server上已经可以看到虚拟桌面的源模板,此时就可以选择需要创建的数量以及定义的组,分发交付登陆账号信息以及权限,都可以在这里一一设定。

  

esxi控制台无法输入_运维_29

  回到客户终端,可以用agent的登陆器或者用浏览器访问服务器地址,都会出现登陆界面。

  

esxi控制台无法输入_运维_30

  登陆之后就出现模板虚拟机的桌面,这可跟远程桌面是完全的两码事了,因为人机交互以及界面都是网络传送的流文件。

  

esxi控制台无法输入_运维_31

  

esxi控制台无法输入_虚拟化_32

  虚拟桌面的属性,信息显示的就是那台模板虚拟的名称

   小结:

  Citrix XenDesktop在创建配置显得比较麻烦,要配置虚拟服务器、域和数据库、虚拟桌面镜像、Provisioning Server、DDC、客户端代理等等多种应用,当然要实现简单的虚拟桌面功能并不需要全部的工具,但要实现域内批量分发交付多个虚拟桌面到客户终端,以上的各种还是必须的。在配置的全过程要加载至少4、5种Citrix的工具组件。对于第一次接触到Citrix Xen的小编,感觉有点晕头转向。

  有调查表明,虽然最近两年,虚拟化得到了广泛的应用,但目前为止,全球只有不到10%的服务器被虚拟化,不到1%的桌面被虚拟化,而成本和复杂性正是阻碍虚拟化应用推广的最主要障碍。通过这次配置Citrix XenDesktop的使用,小H觉得确实是很复杂,配置过程前端后端独立步骤相当多,哪一个细节的疏忽错漏或者系统的防火墙开关都会造成通讯断开配置失败的结果。

  可能性方面,每个虚拟桌面都要占用部分的服务器性能资源以及网络带宽,以上安装和测试小H用的是自己的主机,配置是E8400和8G 内存,除去3个虚拟机的消耗之外,支持10个虚拟桌面在后台看来还算流畅,因为没有太多的客户接收端,所以也不能验证交付所有虚拟桌面的实际效果如何。由于测试 软件版本的限制,最多只能产生10个虚拟桌面,如果服务器配置在4路双核或4核,支持50个左右的虚拟桌面终端应该是不成问题的。

  下一期,我们会使用微软新近发布的桌面套件,套件其中也包括了桌面和应用程序虚拟化的DESK-V和APP-V,看看会不会带来什么不一样的使用感觉呢。

转载于:https://blog.51cto.com/yuyunhai/236874