引言
在威睿(VMWare)针对x86的机器实现了操作系统的虚拟化后,因“一个物理机可同时运行多个操作系统”,机房里的服务器使用率大为提升。然而在终端PC前的用户,是否也可以取得虚机?于是有关虚拟桌面的想法应运而生。这个想法涉及机房里的多个虚机如何经过适度的管理将PC虚机的桌面实现在用户终端,因而是整个基础设施的架构,称为虚拟桌面基础设施VDI(Virtual Desk-top Infrastructure)。在云计算红火的今天,一个很合理的问题是:云里的资源如何让用户使用?VDI就是从“端”操作“云”资源的手段之一:“端”透过适当的通信协议和足够的带宽来实现机房里“云”的资源使用。通信协议包括远程桌面协议RDP(传输桌面),以及SHCE协议(传输桌面和视频)。
以上所述VDI,通常只在PC及固网里实现。然而,在中国,手机、平板电脑和上网本(以下统称移动终端)的未来增长比PC快得多,是否VDI的虚拟桌面想法也可以透过3G移动网实现在移动终端上?在本研究报告中,我们把移动的VDI称为虚拟移动基础设施VMI(Virtual Mobile Infrastrucmre)。当然,VMI也是“端”使用“云”资源的手段之一。我们研究如何将Android和WinMobile的手机操作系统桌面,传输到移动终端。
VMI与两方面的操作系统有关:
(1)服务器上的虚机操作系统。与VDI不同的是,手机的操作系统并不像PC机那样,被Windows的用户占了95%以上。当前较为流行的手机操作系统有:Android、Symbian、WinMobile和iPhone。另外win7、Android和Chmme的上网本也被看好。本研究仅包含两个代表性的手机操作系统Android、WinMobile6.0和PC的操作系统;
(2)移动终端上的操作系统。如果在机房里运行手机虚机及其应用,那么用户的移动终端即使品牌不同,只要安装适当的远程桌面协议客户端,都能接收到同一手机操作系统的桌面,甚至PC的桌面(当然PC的屏幕太大,有适配手机屏幕的问题,但使用手指滚动屏幕的技术能缓解这一问题)。这样“跨移动终端平台”的VMI产品优势也许能为移动电信、销售机构、甚至学校所接受,因为这些机构的用户的移动终端(尤其是手机)的品牌很难统一。此外,手机应用开发商也因此不必做跨平台的开发。
1 VMI的需求
以上只是略述VMI的背景,但其详细的需求如下:
手机虚机的制作:如果要得到手机虚机的屏幕,首先当然必须在机房里的x86服务器上创建手机虚机。这有两种情况:一是有的手机操作系统能够直接运行在x86的平台上,譬如谷歌的Android;另一种情况则是(大部分的)手机操作系统只能在ARM的芯片上运行。因而ARM指令必须要经过翻译才能在x86的服务器上运行。所以基本上,这是两个不同的管理程序(Hypervisors)。
手机虚机的管理:类似于VDI的管理,用户必先通过连接代理取得虚机的lP地址和端口号,然后才能进行桌面的传输。在取得虚机时,VMI的管理器必然有适宜的机制,使得手机虚机对某个用户可以是静态永不变的,或动态地按照某种规律选取的。管理员必须能够透过管理界面,为用户创建、克隆、启动、停止、删除虚机。(停止虚机是一般手机操作系统并不具备的功能。)同时要兼顾更有效率的管理和启动虚机,因为手机虚机并不像Pc虚机的镜像那么大,所以载人时阃较快。
远程移动桌面协议:常见的远程桌面协议有VNC、RDP以及SPICE(以下统称移动终端协议MTP)。通过MTP,可以完成移动终端与虚机之问的“互动”:即虚机屏幕传到移动终端,而键盘和鼠标的动作则从移动终端传到虚机。必须选取三种协议之一或创建新的协议米完成互动。无论使用何种协议方法,移动终端协议有其服务器端和客户端。移动终端协议的服务器可以运行在Hypervisor之上(如SPICE和VNC)或虚机内部(如RDP)。至于移动终端协议的客户端,是运行在移动终端的操作系统上。由于手机品牌甚多,凡是较为通俗的智能手机或上网本的协议客户端,都必须支持。
无缝桌面:“无缝”是指客户端在连接虚机后,接收到的第一个桌面是客户选定的某应用的全屏桌面。如果没有选定的应用.默认的桌面就是操作系统桌面。
PC桌面传输到手机以及PC应用点播:移动终端如手机或上网本,不仅可以与手机虚机互动,还可以与Pc虚机互动,或与运行在虚机上的应用互动。
内网连接的扩容(Scalability of local-netVMI):当大量的用户有桌面要求,系统在虚机能支持的虚机数量上以及用户响应、用户体验上必须保证没有问题。
外网3G连接扩客(Sealability of wide-area VMI):机房里服务器的虚机桌面,利用3G载体的传输与移动终端互动。经由外网进入内网。通常有一个类似路由的接人过程。即使扩容测试已可在内网处理大批量用户的问题,但从外网的移动终端经由移动电信的3G移动网关、骨干网、一直到通过防火墙、接人内网到机房服务器的过程,如有瓶颈,必须消除,以支撑大数量的并发。
2 VMI管理软件以及QVisor平台的研制过程
2.1 国内外Hypcrvisor技术调研
早期Hypervisor的研究:因为VMI的主要舞台是数据中心,而为了将ARM OS运行在全是x86核的数据中心里,有必要引用仿真器QEMU。较早的x86虚拟化研究包括:2000年华盛顿大学的Denali使用微内核技术的研究项目,威睿的全虚拟化,Xen的半虚拟化,微软Hyper-V的半虚拟化,此外还有IBM的预虚拟化以及红帽的QumranetKVM方法。自从2006以来.已有一些在ARM核上运行的虚机研究。例如伊利诺大学的研究就集中在ARM硬件上的Hypervisor,而不是用AMR的仿真器。Xen 3.3使用了V2E方法:除了一个很薄的域0和其它客户域之外,在一个迷你os上运行仿真器QEMU。这个QEMU仅是为了VM运行时需要进行一些特殊的应用例如安全检测,启发了我们的想法:将全部的客户OS郜运行在QEMU上。
嵌入式Xen:这个方法起初是将Xen的源码移植到ARM指令。其次将此嵌入式Xen的硬件驱动虚拟化。有一些大学的研究是属于这方面的:就是把Xen 1.0代码移植为ARM指令,但MMU方面的工作并末完成。移植了一个Choices Hypervisor到ARM芯片上并将ARM指令扩充以便在QEMU仿真器内使用类似英特尔的VT技术。
基于QEMU的优化移动Hypervlsor为多种芯片(SPARC、ARM等)做了仿真工作,运行在Linux微内核L14上。他们做了下列优化:(1)功能级别的指令块处理;(2)用自己的内存管理方法,取代QEMU软件MMU;(3)L4微内核是一个代码行数很少的内核.性能极佳。优化方法散布在三个层面:(I)微内核L4;(2)QEMU;(3)客户0S。比起嵌入式Xen方法集中在一个Hypervisor内,该方法似乎更为有效。但由于每个客户OS都需要将一个仿真器QEMU载人内存。消耗掉不少内存.于是能支持的虚机个数比起嵌入式Xen就少很多。如果QEMU可被共享,那就更佳。不过,共享QEMU是Xen3.3的V2E用在Pc虚机上的方法,只不过Xen 3.3用了自己的Xen任务调度器和MMU,而方法则是用了M的改进的任务调度器和MMU。此外,还欠缺了一个服务器来管理虚机,以方便测试.并需要提供API与诸如VDI或VMl的应用相接。
至今国内外尚未有任何类似VMI的产品。主要是因为手机操作系统的虚拟化技术,大多数公司(例如澳大利哑的OpenKernel Lab、被RedBend收购的ViauMogjc、以及威睿)将之用在客户端,而不是服务器。我们参考上述的研究,根据自己的创见。提出了在服务器上建立一个移动的Hypervisor的想法,称之为QVisor。至于多客户分派手机虚机.建立对话期,控管虚机池的机制,则是参考VDI的管理软件而得的设计。
2.2 移动虚拟化VMI软件的原理
移动虚拟化要建立的系统是基于一个事实:手机虚机能运行在x86服务器上。既然大部分的手机虚机仅能在ARM芯片上运行.手机虚机必须要先在ARM-x86的仿真器上运行,而该仿真器又能在x86的服务器上运行。
图1显示仿真器和x86的主机操作系统之问还有一个Hy-pervisor层。Hypervisor的功能是启动仿真器,优化内存的使用,并与虚机管理器对接,传达手机虚机的启动、克隆、结束、性能回报等指令。手机虚机和Pc虚机最大的不同处在于它本身通常没有“结束”这一功能,必须另外设定;而且手机操作系统也欠缺硬盘功能,但可以通过闪存卡驱动接入。我们的解决方案将Hypervisor称为QVisor平台,集合了上述功能。
虚机管理器不止是通过应用接口传递VMI管理软件的指令和回应,也调节各虚机之间的资源使用情况。此外,虚机管理器可以单独运行成为软件服务器,不一定要和运行手机虚机的x86主机共存。这是因为虚机管理器不但可以管多台主机上的虚机,还能处理主机集群的问题。我们的解决方案将虚机管理器称为QServer。
图1也显示透过软件交换机,不单移动网上的手机和上网本可透过和VMI的应用服务器接入QVisor平台,任何固网上的PC、瘦终端、感应器或离线VDI的终端也可以取得手机虚机(例如Android)的桌面。此外,手机和上网本也可以接人VDI的应用服务器。也就是说,这些移动终端也可使用PC虚机的资源。
VMI应用服务器上运行的是VMI的管理软件。有两个重要的功能,一是连接代理,其次是虚机池的管理。连接代理是在接到用户的接人请求后,完成身份验证、创建Session、并向虚机池管理器请求分派手机虚机。当得到虚机之后,把虚机网址、端口号传给用户。这样用户的远程传输协议(RDP、SPICE、VNC等)客户端就可直接与协议的服务器传送手机屏幕。连接代理能使用“无缝屏幕”的技术,让用户收到的第一个屏幕,就是订阅的虚机应用屏(第一个屏也可以设置为操作系统桌面)。这是考虑到如果合作对象是移动电信公司,其用户可以订阅该公司提供的不同“应用套餐”。虚机池管理器负责按照虚机的模板制作手机虚机,并按池的策略预先克隆足够的虚机,以应付大规模的手机用户请求。以上的功能与VDI的管理软件大致相同,不同的是手机虚机的启动要比PC快得多,简化了池中预留虚机的延迟考虑。我们的解决方案将VMI应用服务器称为TranVMI。
2.3 完成移动虚拟化的初步研究开发
移动虚拟化的初步研究开发,经历了三个阶段。
首先,我们按照TranVMI的设计,开发出手机从(1)威睿的ESX平台,或(2)VMI基础平台QVisor接收到“无缝PC屏幕或手机屏幕”的技术。
其次,在为优化虚机内存使用情形下,我们开发出类似TranVDI的虚机管理器QServer(运软公司的VDI产品),成为VMI的QServer。因而虚拟机得以被更好的管理,譬如虚机上的代理可经由QServer传达心跳和虚机性能的信息,这样有利于调适。
最后,我们分别对微软和谷歌的手机操作系统进行了改良,将WinMobile成功运行在QVisor上。另外,我们也成功地将谷歌x86版的Android操作系统直接运行在x86的服务器上,并使用VDI的QSenrer经过TranVMI与手机相连,但此方法效果不如QVisor。
2.4 完成跨手机平台的应用管理
以下为完成跨手机平台的应用管理的几个实施案例:
(1)TranVMI管理软件 + Android,直接运行在x86平台
TranVMI后台为Android x86版在Dell服务器上运行,我们使用了将Linux KVM改良的TranVMM Hypervisor,并经过Tran-VDI的QServer来管理。前端为WinMobile手机或上网本(已完成测试,见第3节的内网扩容测试结果)。
(2)TranVMI管理软件 + Android,运行在QVisor平台
在QVisor平台上运行,并经过TranVMI的QServer来管理虚机。前端为Andwid手机、iPhone手机或iPad上网本(与联通进行合作)。
(3)TranVMI管理软件 + WinMobile,运行在QVisor平台
TranVMI具备无缝传屏技术和应用管理的实施,后台为WinMobile虚机。TranVMI也连接后台为PC虚机在TVM 4.0平台上运行,并经过TVM 4.0的VM Manager。未来计划将前端扩展到:Android手机、iPhone手机、WinMobile手机、Nokia手机、其他主流Windows上网本或iPad上网本。
2.5 基于智能传屏技术开发手机虚拟化服务器
(1)SPICE协议
SPICE协议服务集成(虽然在手机上尚未完成移植SPICE,但第5节的VDI SPICE测试结果仍具有参考价值),例如:传虚机屏能力;传视频能力。
(2)其它智能传屏协议
未来从修改VNC协议到建立运软自己的智能传屏协议,例如:虚机屏幕及视频传输;大规模并行会话和(应用+OS)镜像的双向同步,为客户端虚拟化作准备。
2.6 在移动运营商示范应用
首先测试TranVMI的手机或上网本,经过联通的3G上网卡,使用联通的移动3G网络在大规模扩容环境中的实际成果(部分为模拟客户端,且中间经过RAS的外、内网地址翻译,结果见3.2节的VMI无线测试结果)。
未来与联通的合作还应包含兼容TMN标准的OSS体系,为用户供应自我服务的Web体系,和为系统管理员供应的集中式系统管理Web系统,在物理设备层面、网络层面以及其中运营的业务层面来保证企业级云计算基础设施的生产、供应、监视、部署和运营。
3 VMI内网扩容测试、VMI 3G无线测试及VDI/SPICE参考测试
3.1 VMI内网扩容测试
(1)测试指标
VMI扩容测试的技术指标为:
主机容量一台物理机上运行至少100个手机虚机;
主机集群量至少4台主机在集群里;
稳定性主机至少不间断运行一星期。
(2)性能测试场景
TranVMI的测试是400个用户访问400台Android虚机,后台有4个物理服务器(非集群)的情况。测试时必须使用运软模拟多VMI用户的测试工具,其中50个用户是实施在10个测试用Windows虚拟机上(每个虚机运行5个用户,可见Android屏幕),其余350个用户是借助测试工具来模拟(可在管理界面看见350个Android虚机被连接,但由于测试环境的限制,这些Android虚机的屏幕不可见)。连续运行一星期。
(3)功能测试场景
VMI的功能包含:(1)QVisor基础平台的功能(目前没有曝露的界面可测);(2)TranVMI管理软件的功能:除了模板、虚机、虚机池的管理界面可供测试外,还具有“无缝屏幕”的功能,让用户收到的第一个屏幕,就是订阅的虚机应用屏(当然第一个屏也可以设置为操作系统桌面)。譬如中国联通的用户,可以订阅电信公司提供的不同“应用套餐”。另外,支持将PC的应用屏幕传到手机上。针对本项目大规模的扩容测试,无缝屏幕和应用套餐暂时不用。所有可见的屏幕都是Android操作系统桌面屏幕。
(4)测试结果
首先,400个用户的性能测试完全符合上述指标、运行一星期,VMI系统也相当稳定(有一周的稳定测试日志可供查询)。其次,我们发现比较Pc虚机在同样32GB内存Dell服务器上运行的数目,VMI可以运行大约4~8倍数目的手机虚机。如果手机虚机没有蓖型应用,这样的一台Dell服务器可以运行大约150个Android虚机。至于用户请求的响应时间,测试结果如表l所示
表1第一行是测试客户向TranVMl发400个虚机请求,其所得的响应时问(以毫秒计)的平均值、中间值、90%值、最大值、最小值、错误百分比。这个测试做了两次,共800个清求。由此可知,在800个请求中,大部分的用户在3到4秒中就看到Android的第一屏,90%的用户在5秒内就看到,有的用户立即看到,只有极少数等了9秒才看到。
表1第二行是测试客户向TranVMI发400个登录通知,其所得的响应时间(以毫秒计)的平均值、中间值、90%值、最大值、最小值、吞吐量、使用带宽。这个测试做了两次.共800个通知。由此可知.大部分的登录所需时间不到1秒,90%的通知在2秒内完成,最慢不超过3秒。
表1第三行是测试客户向TranVMl发400个断开虚机指令,其所得的响应时间(以毫秒计)的平均值、中间值、90%值、最大值、最小值、吞吐量、使用带宽。这个测试做了两次,共800个断开指令。由此可知,用户停用虚机的指令,是立即见效的。
功能测试号眭能测试经过了上海市计算机软件评测重点实验室验证。VMI产品经此认证.75项功能100%通过,符合国家标准GB/T16260.2-2006《软件工程 产品质量 第2部分:外部度量》,和国家标准GB/T17544-1998《信息技术 软件包质量要求和测试》(相当于国际标准iS09126)。
3.2 VMI无线3G测试
(1)测试场景
单台上网本运行单VNC客户端/单个虚机测试无网络地址翻译。
经由上网本上所插的3G上网卡,通过运软外网开口,连接TranVMl,取得固定(也就是把单个虚机的IP固定成为外网地址)Android虚机屏显现在上网本上。
多台上网本每台运行多VNC客户端并发测试。
安装RAS(remote accaess server)以实现内、外网地址翻译。RAS必须安装在物理机上.有数个高速网卡。该物理服务器运行在高速通讯环境的机房。
修改TranVMI使能从RAS取得内网Android虚机地址。(见图2:VMI与3G网络的测试环境)
单台上网本运行两个VNC客户端,利用WCDMA华为/联通上网卡(下行7.2Mbps.上行5.76Mbps),通过RAS/TranVMl分别取得Android屏。
三台上网本每台运行10个VNC客户端并发,通过RAS/TranVMl分别取得共30个虚拟的Android屏。
(2)测试结果
表2第一行是测试客户向TranVMl发30个虚机请求,其所得的响应时间(以毫秒计)的平均值、中间值、90%值、最大值、最小值、吞吐量、使用带宽。这个测试做了两次,共60个请求。由此可知,在60个请求中,大部分的用户在11到12秒中就看到Android的第一屏,90%的用户在23.4秒以内必然看到,有的用户立即看到,只有极少数等了23.5秒以后才看到。有一个请求发生错误。
表2第二行是测试客户向TranVMI发30个登录通知,其所得的响应时问(以毫秒计)的平均值、中间值、90%值、最大值、最小值、吞吐量、使用带宽。这个测试做了两次,共60个通知。由此可知,大部分的登录所需时间不到1秒,90%的通知在5秒内完成,最慢不超过12秒。
表2第三行是测试客户向TranVMl发30个断开虚机指令,其所得的响应时间(以毫秒计)的平均值、中问值、90%值、最大值、最小值、吞吐量、使用带宽。这个测试做了两次,共60个断开指令。由此可知.用户停用虚机的指令,平均花了1.7秒,最慢的花了11秒。
3.3 VDI SPICE内网视频参考测试
虽然我们并没有用手机虚机测试SPICE的传输协议,但以下的VDI测试,应该理解为图1的VDI第三方产品使用Win-dows PC虚机运行影音风暴.经SPICE将电影传输给上网本的移动终端。因此也可为参考。
(1)测试场景
使用SPICE远程连接5-20台虚机同时做视频电影rm-vb文件操作:虚机分辨率为1024×768;暴风影音打开rmvb文件(HDTVrip,624X352,166M);全屏观看该电影30分钟左右;千兆网络下,主机有3个千兆网卡,终端百兆网卡。监控主机上bond(即Linux三个网卡的绑定组合,与Bridge类似但能负载均衡)的输出流量。
(2)测试结果
表3显示,当Pc虚机数堵达到15台同时播放该视频时,主机的CPU占用率已达到90%以上,且终端视频播放已有些延迟,认为当前已达到极限。
根据上两趋势图(图3和图4)看到IO等待的百分率(io-wait%)较低,而网卡输出流量也未达到峰值,可确定当前CPU能力为性能瓶颈。
3.4 VDl SPICE 3G音频参考测试
测试设置情况与图2类似,但是在3G网络环境下使用SPICE远程协议连接虚机做音频带宽统计。远程连接多台虚机(播放音频)场景下。根据情况的网络流量数据信息,为估算未来客户环境中不同终端数、不同的虚机使用方式下的网络带宽作参考。
(1) 测试环境
TvM host使用Dell R7lO,配置Xeon E5520(2X4Core)CPU,32 GB Memory,3 TB SATA Disk,4 NIC(1000 M)。配置虚机的虚拟网卡桥接在两块块物理网卡eth2、eth3上,eth0、eth1都绑(bond)在一起提供给SPICE连接。
3G网络环境,终端是Windows的上网本或笔记本,使用WCDMA华为/联通3G上网卡拨号连接。
(2)测试场景
使用Spice远程连接1-3台虚机同时做流媒体MP3文件操作:虚机分辨率为800 x600;Windows Media Player最小化播放MP3;MF3播放一次;
监控Host上bond的输出流量。
(3)测试结果
听取MP3文件时声音流畅,没有断续现象。流量统计如表4所示。
3.5 3G iphone切换手机虚机的测试
另外.我们测试了联通iPhone 3G手机在3G网络下,可以流畅地切换Android和WinMobile的虚机桌面。由于这个研究显示了VMI QVisor的能力,我们制作了可以下载的全程录影。
4 结论
测试总结果显示,VMI可以是一个承受大批量用户(至少400人)的产品。
由于手机虚机不占太大空间.一台标准32G内存的硬件服务器可以运行大约4-5倍数量的PC/Windows虚机。这是Android的一大优势,尤其它渐为大众所喜爱。虽然WinMobile也能达到同样的效果,大众的目光似乎更转向WinPhone7。无论如何,手机应用能借助VMI的技术,在不同品牌的智能手机上运行,对某些企业是相当需要的。
有关SPICE的性能,一般来说,在3G移动办公的情况下,比思杰(Citrix)的HDX协议效果好,譬如声音的效果,不像Citrix在某些情况下有断续听不清的现象。当然,以目前3G的带宽来说,这两个协议,SPICE和HDX.都无法有流畅的视频效果。由于上网本、平板电脑等新型移动终端的出现,VMI已不再限于使用手机作为移动终端。Windows的Pc桌面和Android的手机桌面都可以呈现在这些新移动终端上。也就是说,VMl和VDI之间的界限变得模糊了。
5 未来研究
5.1 尚待完成的工作
下列的工作尚待完成。
(1)QVisor的稳定性还需大力提升;
(2)使用SPICE在手机/上网本的客户端,目前尚未达成;
(3)iPhone/iPad作为客户端的键盘/鼠标的驱动还未完成;
(4)除了Android和WinMobile以外,尚需虚拟化更多的手机操作系
统(如Symbian、iPhone)此项难度较度。
5.2 客户端虚拟化
客户端虚拟化CSV(Client-Side Virtualization)又称离线VDI(offiine VDI)。未来企业对员工的移动设备管理,包括花费、策略调整、安全等,依然存在很大的问题。同时由于通信传输因地域接收的限制.员工可能不满足于VMI的屏幕传送。这时,CSV将手机OS镜像同步到本地就非常有吸引力。用户使用笔记本或上网本当作电子书/电子公务包.配合串流技术将应用融合在操作系统镜像中,然后用户的移动终端与机房服务器做镜像同步。同时支持PC Hypervisor层级的安全保护(比操作系统环ring<3层级更深),可以使用户(办公人员和学生)不易被黑客侵袭.或对用户上网及安装应用实施限制。此外也支持移动存储,可插入第三方电脑运行。
5.3 动态移动基础设施
动态移动基础设施DMI(Dynamic Mobile Infrastructure)与CSV类似,但移动终端必须要用到微内核级别的Hypervisor,与CSV的PC Hypervisor不同,能运行在较低CPU能力的移动终端上。
5.4 物联网
VMI的想法可以脱离桌面,朝物联网(M2M)的方向来发展。也就是说,终端可以是传感器,而服务器端则使用手机虚机来运算,具有虚机随需启动、镜像小启动快、虚机间充分隔离、节省资源和能耗、仍然拥有服务器强大计算能力和存储能力等优势,这是传感器在当地无法达到、而一般的非虚拟化平台也无法企及的。当然,新的传感协议必须建立,能在下述传输对象之间平滑转移桌面、视频和传感信息。如果使用SIP协议内嵌传感协议,还可以达到单虚机支撑多传感器的目的。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:可移动的虚拟桌面:无线云终端
本文网址:http://www.toberp.com/html/consultation/1083973648.html