博客统计信息

51cto专家博客 51cto博客之星
用户名:maypower
文章数:180
评论数:539
访问量:383590
无忧币:2623
博客积分:5878
博客等级:8
注册日期:2008-03-24

我的技术圈(0)

更多>>
桌面虚拟化之存储加速功能
2012-02-15 21:04:07
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://virtualbus.blog.51cto.com/345374/780788

有过部署实施VDI(虚拟桌面架构)经验的朋友都知道,VDI对存储的性能有非常高的要求(据悉,一个虚拟桌面成本的1/5左右或以上被存储成本花费占用),桌面虚拟化以往的服务器虚拟化不同,因为桌面虚拟化的数量更大,所以也导致了对存储的要求更高。如大部分中小企业,可能服务器也只有十几台,通过虚拟化之后,一两台服务器就可以满足运算的要求,存储性能也比较容量满足,而大部分企业成百上千的桌面,集中部署在数据中心,对存储的性能要求就自然不言而喻了。

而以往IT人员为了让存储设备更快更高效,大家都在重复这样的工作:

1.增加足够多的硬盘,加更高速的硬盘来分担数据读写操作 (条带化的数据读写可以增加存储的性能及响应速度,这也是Raid 0等Raid技术存在的主要原因)

2.将存储网络链路升级为多条更快的链路(如双8G 光纤网络,双存储交换机,双HBA卡等)

3.选购存储时买大Cache(缓存,因为使用RAM技术,所以读写操作时,Cache的效率要比硬盘高效)空间的存储

以上的方法在综合使用的情况下,可以增加存储的性能,不过也将导致你的存储成本翻番,最终导致每个虚拟桌面的成本只能被广大IT人员视为阳春白雪 (一般在虚拟桌面中,以每虚拟机或每用户为计算成本单位)。

企业在决策是否大规模虚拟桌面时,望而却步。这也是许多企业今天还只是小规模试点桌面虚拟化的原因之一。

VMware大大量的虚拟桌面客户部署中,也发现并意识到这个问题。因此投入了大量资源来优化虚拟桌面对存储的要求,降低虚拟桌面成本。

在最近的学习过程中,有机会使用到了VMware专为虚拟桌面开发的存储加速技术。作为一个希望虚拟桌面快速在国内发展的技术人员,很是兴奋。

image

 

                VMware 存储加速技术架构

以往,在虚拟桌面中,大量的IO请求频繁的在存储网络中流动,在大量的IO请求时,存储的读写将变得延迟。用户使用虚拟桌面的体验也将大打折扣。(相信你一定有使用windows应用程序时显示无法响应的经历吧。如果你天天面临这样的处境,相信砸电脑是早晚的事情)

VMware首创的使用服务器的内存来做Cache(存储设备上的Cache模块使用是和内存一样的芯片哦),将虚拟化服务器上同时运行的虚拟桌面经常访问到的文件(虚拟桌面的OS,应用程序,甚至是数据都大量存在重复,比如大家都大都使用同样的OS,使用同样版本的office,打开同样的邮件正文或附件),全部放在由vSphere Esxi预留作为cache的内存中。这样虚拟桌面使用时,同样的IO请求在多个虚拟桌面之间,就只需要向存储设备请求一次(使用了类似重复性数据删除的技术,此技术在备份,压缩等技术领域有广泛应用)。而大部分的磁盘请求直接从服务器内存中读取。

通过使用此功能,IT管理部门再也不需要为了满足用户体验和读写性能的要求,来增加存储设备上的高额成本投入。

有测试数量表明,在单个服务器,50个Windows 7虚拟机的测试环境

image 

 

通过使用VMware提供的存储优化技术,将以往存储设备的读写操作转移到虚拟化服务器的内存中,存储设备的IOPS数量以及带宽开销大幅下降:

  • 消减超过80% IOPS峰值
  • 消减超过45% 平均IOPS值
  • 消减超过65% 吞吐量峰值
  • 消减超过25%平均吞吐量

 

性能大幅提高的同时,VMware兼具了以往易用的特性,管理员只需要在VMware View Manager的控制台中,激活加速功能即可完成整个的加速操作。

image

而对于前端使用者以及运行在虚拟桌面中的应用程序而言,这一切都是完全透明的。

通过使用由VMware专为其自有的VDI产品VMware View提供的存储加速功能,可以降低超过50%以上存储成本。通过这种技术革新,相信桌面虚拟化大行其道的那天已经不再遥远。

 

~完

本文出自 “桌面虚拟化杂谈” 博客,请务必保留此出处http://virtualbus.blog.51cto.com/345374/780788

分享至
更多
一键收藏,随时查看,分享好友!
lylisq2008、lylisq2008、szlear
12人
了这篇文章
类别:桌面虚拟化技术圈()┆阅读()┆评论() ┆ 推送到技术圈返回首页

文章评论

 
2012-02-15 23:22:36
2G内存就可以节省存储成本高达50%,太棒了!
博主回复:
2012-02-15 23:26:05
服务器上虚拟机越多,cache命中率就越高。这个设计的确是很牛。

2012-02-16 00:40:10
在哪个页面下设置呢?找了半天没找到呀。

2012-02-16 15:07:10
玩的是内存 和磁盘文件的交付 呵呵
博主回复:
2012-02-16 18:07:49
后端服务器及存储的成本下降,将进一步扩展VDI市场的发展。
所以VMware最近做了很多为降低总体拥有成本而设计的新功能及特性。

2012-02-16 23:08:59
貌似在view configration下的server的Edit vCenter Server没有Host Caching这个选项,是否不是view 5.0版本么,谢谢
博主回复:
2012-02-17 10:07:47
对的,正式版本要稍晚时间推出。还有很多新功能,绝对值得期待。

2012-02-17 09:18:43
”VMware首创的使用服务器的内存来做Cache(存储设备上的CACHE模块使用是和内存一样的芯片哦—)“
vmware 核心的缓存是从硬盘空间中划分出来的吧?这部分原来在服务器虚拟化方面作为运行内存需要保留,可以说是属于一个应急机制。这就有一些区别了,内存属于颗粒级别,磁盘则属于另外一回事了,如果真的能用作内存作为缓存,速度应该能够达到这个理论值。不知道我说的是否正确,可能有些混淆,还望博主指正。
博主回复:
2012-02-17 10:09:01
首先,这个技术只会应用于桌面虚拟化VIEW产品,使用内存来做缓存,速度性能上才有真正的意义。

2012-02-17 09:44:41
还没看懂。在继续研究研究!

2012-02-17 17:18:59
谢谢楼主的回复。

2012-02-18 16:29:56
你的意思是 。。微软在操作系统 的设计上,不存在 把使用过的磁盘请求,进行缓存??另外,superCache 等产品,能不能达到像 vmware 这样的做法呢??假如,我们在 Hyper-V 上安装SuperCache。。会怎么样呢??
博主回复:
2012-02-20 20:43:12
博主回复:2012-02-18 23:09:00 删除
的确有很多你说的软件可以实现将内存当做存储使用,但是请注意,我们这里讲到的是使用服务器较小的内存来存储大量读写频繁的数据块。
这种技术的关键点不是是否可以把内存当做磁盘使用,而是如何把大量频繁使用的数据块放在内存里。

另外,supercache这类的软件都没有经过虚拟化的验证,而且在像VMware vSphere这样的虚拟化平台上,是没有办法安装软件和程序的,因为所有的虚拟化资源调度是由vmkernal来完成。

2012-02-18 16:33:52
顺便提醒一下。。IOPS 并没有真正消除,只是 用快速的内存 代替了 慢速的硬盘。。。IOPS 被转移到速度更快的 RAM 上去了而已。。。所以。消除IOPS 的说法,有吹牛皮和误导用户的嫌疑。
博主回复:
2012-02-18 23:05:32
的确,IOPS还客观存在,不过通过内存cache技术,后端存储就不再需要那么高的性能要求了,总体成本自然就下降了。

本文从使至终没有讲消除整体IOPS,而是消减存储设备的IOPS,吞吐。
不过还是谢谢你的建议。

2012-02-18 16:40:40
再再顺便说一下。。实际的运用过程中,假设你有足够内存,你的 每个win7 虚拟机 都不开 虚拟内存,那么实际的硬盘请求会少很多。VMWare的这种技术带来的性能提升也是有限的。。谁在实际使用的时候需要频繁使用硬盘呢??只有 存储服务器才有可能。。但是,存储服务器的技术。。。好像。。早就有了这种做法。
博主回复:
2012-02-18 23:02:09
虚拟桌面对存储的性能要求有非常高的要求。
比如100个虚拟桌面,需要1000的IOPS,1000个桌面就需要上万个iops.
使用内存来做cache,将减少对存储性能的要求。
另外,虚拟桌面、服务器就是频繁读写存储的应用。

2012-02-19 00:37:25
几个说明:
1、“另外,supercache这类的软件都没有经过虚拟化的验证,而且在像VMware vSphere这样的虚拟化平台上,是没有办法安装软件和程序的,所有的资源高度是由vmkernal来完成。”。。。如果虚拟化之后,我所有的使用的东西,都要 所谓的 虚拟化认证一下。。那么到底是谁迁就谁?一个软件或者应用,最大的目的是改善现有的环境,而不是赋予它功能的同时,又给他一个新的麻烦。。。。。至于vSphere 不能这样干,但是,我知道Hyper-V可以。。那在我看来,这就是vSphere在弥补的东西,而不是它创造的东西。也就是说,vmware在尽量 “独自”弥补windows平台上大量现有的第三方软件的优秀功能。

2、“另外,虚拟桌面、服务器就是频繁读写存储的应用。”-真正的去体会一下你现实中的使用电脑的情况。你打开电脑,开启1-2-3-4-5-。。N个软件。。然后。。开始工作。在这个期间,除非有必要。你的数据完全在内存中运行(当然不排除某些SB程序员把硬盘当内存用)。关磁盘什么事情??需要磁盘IO么??服务器OS,为了增强效率,也是尽可能的利用内存。这个是计算机的基础知识。。。所以,对于存储的存取。可能更多的是考虑 并发数,而不是总数。因为,1000个虚拟机。。不可能同时1000个IO。这就好像电信局装了10万门电话,不可能同时有10万路呼叫一样。
  VMware 的这种技术,在降低和缩短存储的IO上,的确是有用的,但是,并不是他们吹牛吹的那种样子,所以我说,在实际使用的时候,并不一定非常有效。而我们必须考虑到。在采用这种技术之后,IO的压力,从磁盘,转移到Ram上面。对RAM也带来极大的压力。BTW,内存也是存储的一种。虽然我们大家都明白你说的存储是怎么回事。
  而vmware 的这种技术,只是对读有效。对写,完全无效。如果你把IO收集起来,定时回写。对文件存储是有好处的,因为可以有更连续的空间。但是,却增加了写的压力。假想在现实里面,1000个虚拟机,现在,100个要保存文件了。系统管理员为了节省费用,用了20年前的硬盘。。那么用户照样开始骂娘。所以,理论上你可以节省存储投入。实际上后端存储 应该的投入,一点也少不了。所以。。“总体成本自然就下降了。”根本就是美好的愿望。
  supercache,不仅仅是虚拟磁盘,它在windows平台上,干的就是“把大量频繁使用的数据块放在内存里”。你了解的不仔细。
  另外,关于“把大量频繁使用的数据块放在内存里。”。。。这种做法,占用了内存的空间。所以,只能说对内存相当富裕的用户有好处。资源的最大化利用而已。假如你跑的是高内存应用。这种技术反而对系统有致命性的伤害。而且,对系统硬件提出更高的要求。比如,主板要多几根内存插槽。

  总的来说,这种技术,对磁盘读,有益。对写,除了获得连续空间这个好处,我看不到有其他优点。在我看来,windows的 Hyper-V 方案,在目前的确性能可能不如 VMware,但是。设计者也不能忽视,Windows的硬件兼容性,以及windows平台上众多优秀的性能优化方案。而这些,是VMWare 无法提供的。。。这个技术的出现,只能说,代表VMWare意识到这个问题。照猫画虎来优化一下自己的解决方案。完全没有所谓的。。什么 首创。在这个问题上,这种技术,被过于的高估了。
博主回复:
2012-02-19 23:10:48
vmware是把cache处理放在底层(虚拟化层ESXI)来做,而不是放在每个虚拟机内。
如果放在虚拟机内,大量虚拟机使用时,存储读写的频率是少了,不过内存就高得去了。这种方式明显有些得不尝失。
另外,1000个虚拟桌面,10000个IOPS,这个很正常,因为10个是平均值,不是高峰值。不要忘了虚拟机资源占用时,有高峰,比如大量开机,关机,登录,注销,复制文件等。平时用户不操作时,IOPS会少一些,但不表示就没有IOPS了。

2012-02-19 01:03:27
另外。。说个题外话。
整个SYSTEM。不管是虚拟的还是物理的。。。瓶颈存在于链路。。从目前来说,是网络层。再牛B的物理机。给它一张10M 的网卡。哼哼。。哼哼。无论如何,企业系统里面,最多也就是 千兆网。每秒1000M 的bits。。如果是中国的硬件,偷工减料一下。。可能只有900M。。也就是,差不多90M字节。。虚拟桌面,肯定是利用网络了。720图像的传输,大概需要1M的带宽(bps)。加上内网广播,等等其他开销。。所以网络的压力极大。

其次,虚拟桌面的瓶颈,是 CPU和显卡。无论是PCoIP,还是RemoteFX。。总是先对图像进行压缩。PCoIP,要分辨差异。那。。。还需要进一步的计算2幅图像的差异。。无可避免的,会极大消耗计算机的计算能力。换句话说,网络压力是少了点,却要求更高的 CPU。。。所以,我突然明白,为什么微软要不压缩屏幕了。MS借助GPU来降低CPU 的工作负担。毫无疑问,这是微软的一个创新做法。对比来看,我所知道的是。VMware 的GPU虚拟化推出还慢了一点。

再接下来,才要考虑存储虚拟化的瓶颈。。VMWare 不急客户之所急,偏偏挑了一个级别最低的 瓶颈来解决。。呵呵。
博主回复:
2012-02-19 23:09:51
CPU占用会是一个问题,但并没有想象的那么离谱。这个完全取决于数学算法,协议是一个真正需要对数学研究有高要求的领域之一,需要不断的更新,优化。这也是为什么在VMware有很多科学家的原因。


另外Teradici也推出了专为offload服务器处理PCOIP负载的专用硬件卡。可以参考我的博客的其他文章。

2012-02-19 01:43:47
顺便请博主 根据自己的经验,来估计一下,如下硬件,如果跑虚拟桌面,VMWare大致上能支持多少个,也好为虚拟化有个心理估计:

Xeon E3-1230 / 32G ram /4个 sata3 1T硬盘做RAID 0+1 /双千兆Intel网卡(支持VT-C) / GTX 560Ti显卡,2G显存
虚拟桌面:win7 / 1920x1280分辨率 /主要应用 Photoshop 和 Flash CS ,基本无3D内容

如果硬件不能被VMWare 兼容。参考类似产品 。。。
博主回复:
2012-02-19 23:00:44
硬件兼容性可以到http://www.vmware.com/go/hcl上查询,一般品牌服务器都可以兼容。
你这样的硬件配置,保守估计在20个桌面虚拟机以内。

2012-02-20 01:26:33
博主平时应该不太实用 Hyper-V ,或者,也不太使用 Windows。 如果你真的要去研究一件事情,需要每个平台都去 深入的了解一下,深入,而不是仅仅停留在表面。
“vmware是把cache处理放在底层(虚拟化层ESXI)来做,而不是放在每个虚拟机内。”。。。在实际应用中,windows解决方案也不会放在每个虚拟机内。我们都知道 ,虚拟机实际上 所有的访问都是 基于 “虚拟API”提供层的。在WINDOWS上,我们可以简单的理解为 基于 ServerCore 的。所以。。只要把 SuperCache 安装在 ServerCore 上面,理论上就可以 缓存 所有 虚拟机的IO操作。当然,你也可以基于每个虚拟机安装。。这是一个实施方法的问题。但是,我也不能否认,虚拟化层ESXI提供这样的 特性,原生的效率可能高于 windows平台上第三方的软件。
  无论是你文中提到的 “虚拟化层CACHE”,还是我说的第三方软件,无可回避的一个问题就是 “写入”。虽然大家都提供 延时回写这样的功能。但是,在实际的生产环境。。。至少,我是绝对绝对不会 延时回写的。因为,最重要的就是数据。我们不能冒 数据丢失的 一丝丝危险。。明确的说,我不相信任何 延时回写。即使是在 有 UPS ,双路/多路供电的情况下。所以,我说了。cache 只能是解决 读取的问题。。。但是,对于降低存储成本。可能只是 VMWare 的研究人员在实验室环境美好的愿望。

至于我提到的,PCoIP 和RemoteFX 传输屏幕数据的不同点。我不知道网络上的说法是怎么产生的。唉。。。很多时候,现在的技术人员,缺乏真正的研究精神。下面的这段话,截取自微软的 TechNET。。。“Intelligent Screen Capture
--
Intelligent Screen Capture is responsible for checking screen content changes between frames and transmitting the changed bits for encoding. Intelligent Screen Capture keeps track of network speed and dynamically adjusts according to the available bandwidth.”,微软,也是会比较帧与帧之间的差异的。

感谢博主给出的估计。我不喜欢VMWare 的一个原因,就是,对硬件有要求。这也制约了 中小企业虚拟化的想法。一部组装PC机,使用寿命可能是 品牌服务器的 70%,可是价格却仅仅是品牌服务器的60%。从性价比上来说,DIY服务器更有优势。但是,虚拟化。。不就是经常在强调所谓的成本优势么???更何况,考虑IT产品更新换代的速度。。节省的成本是比较诱人的。。

  说点题外话,虚拟化专家,每个都极力鼓吹 资源整合后带来的 TCO 总成本下降。。但是,他们永远不告诉消费者。。当一部物理机,提供10个虚拟桌面的时候。物理机的损坏,导致的 比原先 更高的 业务损失。而这个损失,永远无法预计。简单点说,我原先坏了一台机器,只是影响了一个员工。而现在。。。影响的,可能是 10个,20个甚至更多的员工。资源整合的程度越高,带来的损失越大。这个 负面影响,嘿嘿,我想虚拟化专家肯定是避而不谈的。因为 无法预计的损失,可能会导致 虚拟化带来的成本收益,完全付之东流。而作为CTO。。不考虑这个问题,就不是一个好CTO。
  我会在小范围内,采用 Hyper-V 的方案,尝试一下上面提到的硬件实际的使用感受。到时候再和博主沟通。
    谢谢博主的耐心回答。
博主回复:
2012-02-20 02:15:48
本文因为写的是vmware,并没有考虑其他的hypervisor。
vmware存储优化技术的cache功能是让虚拟机更快读重复的数据块,而不是写数据块。这个要强调一下。以往为了减少存储的压力,企业在大量IO需求时大多会使用EFD磁盘,今天通过优化的技术,这个就不再是必要的。所以,对降低存储成本效果是显著的。
关于你提到的虚拟化同时也将风险集中的问题,我已经开始在写这个主题的内容。不过并不是因为虚拟化带来了风险,而是把以前就存在的风险集中暴露出来,并且通过虚拟化可以真正实现的高可靠,高可用。
今天,国内最大的网银系统,美国航天局的计算系统都是运行在虚拟化+X86架构上,相信一定有道理的。(很多行业客户从大机过渡到x86,有一个强制要求就是必须使用虚拟化来实现高可用,高可靠。)
企业级存储提供的缓存写延时技术,是经过生产验证的,而不只是实验室里。这个不用怀疑。
建议虚拟化平台安装在经常厂商验证的服务器上,不论技术上是否可以通过,从技术支持,从风险管控等角度而言,装在组装PC上,个人觉得在生产环境中还是算了。

2012-02-20 15:26:39
我与博主的看法在这个上面不是很一致。
1、任何软件,都必须考虑现实因素。正如你提到的 “vmware存储优化技术的cache功能是让虚拟机更快读重复的数据块,而不是写数据块。”,请问,哪个企业,能把 读 和写 分开??我无法想象。既然无法分开。那么,从现实角度来考虑,降低存储成本,只能是空谈。简单的说就是。。企业使用EFD磁盘,是要同时解决“读”和“写” 的问题。软件厂商,假如仅仅解决了 “读”的问题,是不够的。所以,企业为了解决“写”,依旧要使用EFD磁盘。

2、虚拟机是可以实现高可靠,高可用。但是,是基于物理机的。。我无法想象,一部物理机上的4个虚拟化服务器,怎么实现了所谓的高可靠和高可用。皮之不存,毛将附焉??物理机的损坏,虚拟出来的服务器能谈所谓的双高么??真正的高可靠,高可用,必然是针对物理产品而言的。抛弃了这一个原则,都只能是厂商给消费者设置的口号而已。

2、软件的作用,是为了更好的为人民服务,提高工作效率。如果一个产品,在实际使用的时候,人为的设置了很多限制。比如。这个不支持,那个不保证。那在我看来,只能是半成品。我更关注的是,实用化。我觉得,这也是企业需要考虑的首要因素。厂商的认证和验证,只能是一种锦上添花,而不是 必要条件。在这个上面,微软的WINDOWS SERVER,提供了很好的榜样。。所以,没有厂商验证,并不应该认为就没有 质量保障。另外一方面,厂商既然提出了 高可靠,高可用的方案。他们不就是解决这种问题的么?不然我要高可靠和高可用干什么呢??所以,除非厂商愿意承认他们的高可靠,高可用是花架子,否则,我不用去担心所谓的风险。一句话来说。就是,如果我买一台达到同样计算性能的厂商验证服务器的花费,大于 我 完成 DIY服务器+双高方案的费用。从经济性上来说,是可行的。而且,可能后面的方案,提供了更好的稳定性、可靠性。

博主提到的“很多行业客户从大机过渡到x86”。。。这就是 我的观点--“真正的高可靠,高可用,必然是针对物理产品而言的” 最好的证明。因为,考虑成本因素,大机可能无法物理双机备份。这就容易产生 单点故障。而这恰恰是最致命的。花大机的价钱,能够提供物理上的双机,多机备份,而且计算能力的下降在可接受范围内。。这就是吸引他们过渡的最大理由。

每一个厂商,出于市场营销考虑,他们总会给消费者灌输有利于他们的思维和思想。但是,作为消费者,方案设计者,第三方工程师。。应该分辨这样的陷阱。从多角度去考虑问题。
博主回复:
2012-02-20 20:41:53
1.EFD的特性是读得快,写不是他的特长,另外现在的分级存储技术就是让不同的IO需求分开,VMware虚拟桌面的副本盘就是完全只读的类型。像很多的业务查询系统的SQL操作也完全是只读(很多系统的查询与操作是分开的,比如社保卡系统,因为有大量查询,所以都是只读数据库,而写操作都是另外一个数据库。这主要是安全和性能的考虑)
2.虚拟化的高可用性是多服务器来构成的,以往如果在物理设备上,只能依靠CLUSTER技术,但是并不是所有的应用都支持CLUSTER,即使像微软的终端服务就不支持
3.任何的软件都会有限制,这个限制不是人为故意来设置的,比如今天的windows xp不支持非X86架构一样的道理
4.恰恰相反,大机的可靠性不是依靠多机来完成,而是单机变得足够大(当然价格也足够的恐怖,不乏上千万的价格)。是目前业界里最高的,这个取决 于RISC的设计,这也是为什么几乎所有的金融,税务都是大机的主要原因。虚拟化+X86 PC服务器可以做到与大机几乎一致的可用,可靠性。

2012-02-21 09:21:29
现在趋势都是拿ssd或者内存来做缓存使用,并应用已在存储中成熟的数据处理优化技术以降低缓存系统的成本,来实现在较低成本下提高存储性能的目的,不错,不过昨晚看篇文章,有说现在ssd的技术由于工艺提升带来延迟的大幅提高,有可能ssd在2014年就要走向灭亡,无法判断是否危言耸听,不过这么多年看ssd的发展,却是不给力
博主回复:
2012-02-21 09:26:41
兄台高见。

2012-02-22 22:15:25
虚拟化环境性能的优化真是大有文章可为。学习了
博主回复:
2012-02-22 22:30:11
严重同意,只有优化做好了,成本才有可能真正的降低

 

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: