部署一个虚拟化桌面基础设施(VDI)环境很复杂;存储管理员必须处理很多关键性问题,因为存储是至关重要的。VDI环境是否能够成功依赖于用户体验,而存储又是对用户体验影响最大的。如果没有恰当地设计、实施和管理你的虚拟桌面存储,那么就可能会出现问题。
VDI环境如何影响存储
对于VDI环境中的存储来说,最大的管理问题就是在存储输入/输出次数处于高峰时,能够保证系统平稳运行。“启动风暴”发生在一大群用户同时启动系统和加载应用程序时,是导致输入/输出激增的最可能原因。启动桌面需要占用很多资源——操作系统和应用程序都需要在磁盘上进行许多读操作。如果将这些活动再乘以用户正在启动的几百个桌面的话,由此产生的输入/输出量可以很快让一个存储阵列陷入瘫痪。启动风暴不会轻易地消失,并且通常会对性能产生重大影响——它们的影响可以持续30分钟到两个小时。 存储输入/输出在初始化登录和应用程序加载之后会有所缓和,但是在一天中,总会有其他事情会导致存储输入/输出量的增加,比如进行桌面补丁、防病毒软件升级/扫描和下班时用户注销登录。对于VDI环境来说,数据存储基础设施能够应对这种高峰时段是至关重要的。
开销是另外一个重点。VDI和服务器虚拟化有着不同的ROI,在VDI环境中的管理并不像服务器虚拟化那么容易。除此之外,为VDI配置一套合适的存储基础设施也需要很大的花费。许多存储管理员必须购买比预期需要更多的数据存储,以保证需要的每秒输入/输出操作(IOPS)。
需要准备的是更大规模的管理员队伍或更多的管理费用。成百上千的虚拟桌面的虚拟磁盘将会需要创建和维护;这会是一项繁重和困难的任务。 决定存储需求
为了恰当地设计一套VDI基础设施,你需要了解虚拟桌面用户的资源需求。不要做任何假设,如果要恰当地计算出需要的资源,你需要从虚拟桌面用户那里统计真实的数据。准确地描述用户和计算他们的资源使用情况是决定存储需求的关键。一些第三方供应商,比如Lakeside软件公司和Liquidware公司,其软件可以从用户的桌面收集数据,以便对自己的环境进行评估并决定需求。你收集数据的时间越长,其受到突然和间歇性活动影响的可能性就越小。
对于存储来说关键的测量是IOPS。许多因素会影响IOPS值(缓存、块大小),基础的计算来源于硬盘的工作原理:转速(rpm)、延迟和寻址时间。一块普通的7200转硬盘可能达到75 IOPS,一块10000转的硬盘能达到125 IOPS,15000转的硬盘能够达到175 IOPS,而固态硬盘是5000 IOPS。而对于RAID组,你可以乘以RAID组中磁盘的个数来计算出RADI组总的IOPS值(比如六块15000转硬盘X175 I0PS = 1050 IOPS)。还有其他因素,比如缓存可能会增大IOPS,而RAID在网络存储协议方面的系统开销和延迟会降低IOPS。
你应该一直测量用户真实的资源使用情况,但是开始的时候,也可以参考一些平均值。这些平均是基于某种特定类型的用户的。 点击这里获取用户资源平均值PDF文档
不要将你的VDI存储设计为只能处理平均输入/输出负载,它还必须能对应高峰时的输入/输出负载,以便提供良好的用户体验。拥有足够的存储空间无疑是很重要的,但是其性能表现更加重要。因为轴的数量对于存储阵列的性能有重要作用,你可以使用更高性能的磁盘已获得所需的IOPS。
光纤通道vsiSCSI vs. NAS
存储类型一般由预算和现有的存储基础设施决定。光线通道(FC)SAN可以提供良好的性能表现,但是会提高VDI部署的价格成本。iSCSI和NAS(NFS)相对来说很有吸引力,但是你需要确保他们能够满足输入/输出需求。使用10Gb以太网(10GbE)能够极大的增加iSCSI和NAS设备的吞吐量,但是部署10GbE的价格可能会和光纤通道不相上下。 IOPS高峰时的负载可能会超过一个iSCSI或者NAS(NFS)设备能够处理的IOPS量。但是在存储设备前端增加缓存或者加速器能够极大的改善性能表现。iSCCI和NFS都会增加主机服务器的CPU系统负载;对于iSCSI来说,可以将这部分负载转移到硬件卡上。加速器解决方案通常不能在NAS系统中工作,但是有许多其他的缓存解决方案可以用于NAS(NFS)。
LUN大小和RAID
当为VDI划分LUN和卷大小时,不要过多关注系统容量,而要关注性能表现,保证其能满足所需的IOPS。对于LUN的大小并没有一个通用的标准,因为很多因素都可以对其产生影响。通常情况下,RAID组中的轴越多,LUN的速度就会越快。对于有虚拟桌面存储在上面的LUN来说,不要将其体积值设定的过小。不论你在使用全虚拟磁盘还是链接克隆,都会影响到LUN的大小,因为以后需要更少的磁盘空间。
你有很多RAID选项来进行更好的保护或者实现更好的性能表现。影响RAID选择的主要因素是虚拟桌面的读/写比例。当从一个RAID组中读取数据时,并不会对RAID负载的输入输出调度产生影响,但是写操作会对其产生影响。你需要的保护等级越高,在输入/输出调度方面需要使用的资源就越多。比如,RAID 1拥有一个输入/输出调度,但是必须将内容都写入到两个磁盘上;RAID 5会增加的到4块磁盘,而RAID 50会增加到六块。如果你的输入/输出负载大部分是进行写操作,你就需要选择一个合适的RAID等级以使得写入时进行较少的调度。在阵列控制器中使用更大的写缓存或者使用NetApp RAID-DP这样的定制RAID等级也会有所帮助。
磁盘类型
SAS磁盘可以提供更好的性能表现,但是SATA硬盘的存储花费更低。高速15000转硬盘可以提升速度,但是相对于10000转的磁盘来说,需要更多的开销。固态硬盘(SSD)能够提供极好的性能表现,但是它的价格也是非常昂贵的。选择能够处理虚拟桌面基础设施负载磁盘的最好方式,一般是购买你能够承受的、最好的硬盘。缓慢的SATA磁盘通常并不是大多数VDI负载的理想选择,所以SAS硬盘是一个不错的选择。
15000转的硬盘读写速度更快一些,总体的延迟更小,但是磁头驱动器在硬盘中的移动速度和访问数据的速度并没有加快。所以即便硬盘的转速增加了50%,但是总体的性能表现只提升了30%,从而也提升了IOPS。
你可以在需要的地方混合、搭配使用不同类型的硬盘,以获得更快的存储速度,而在低工作负载的环境中使用更为廉价、慢速的存储。你可以在快速SSD磁盘中存储用于链接克隆的主映像,而将delta数据存储在SAS磁盘当中。你甚至可以更进一步,使用自动化分层应用程序,来按需自动平衡工作负载。
缓存和SAN加速器
缓存设备或者SAN加速器能够用于速度较慢的存储设备上,以便在启动风暴和其他应用输入/输入高峰时提供更多的IOPS。它还能够节约资金,因为你可以使用不那么昂贵的存储设备,而同样能够处理你的VDI输入/输出负载。像NetApp Flash Cache这样的缓存设备能够发挥很大作用,极大地增加你的存储设备的IOPS。在恰当的部分配置缓存;启动风暴这样的过程需要进行大量的读操作,所以一个较大的读缓存可以起到很大作用。
其他有帮助的存储特性
存储阵列中自带的许多特性能够帮助将一些方法和流程迁移到其他地方来完成。让存储阵列来处理它最擅长的事情而增加效率和性能表现。以下是一些可能对VDI环境有帮助的阵列特性。
数据保护。像微软卷映像拷贝服务(VSS)这样的特性,会存储发生改变文件之前的版本,使得用户能够更加容易地恢复他们自己的文件。但是在所有桌面上实施这个特性可能会引起未预期的系统开销和增加存储阵列的输入/输出。借助于Falconstor的NSS SAN加速器,你可以在VDI主桌面模板中加载其客户端代理,这样在客户端操作系统中有任何文件发生改动时,NSS SAN加速器应用就可以和虚拟桌面进行通讯并进行相应的备份了。用户自己可以查看文件之前的版本并恢复到自己的桌面当中,而不需要后端存储设备的参与。
重复数据删除。重复数据删除技术能够在很大程度上减小虚拟桌面需要的存储空间。特别是当你使用全镜像虚拟机,而不是链接映像的时候。如果你有100个桌面,每个有20GB的磁盘空间,你大约需要2TB的桌面空间。但是通常VDI用户都会运行同样的操作系统和使用许多相同的应用程序,所以会有很多重复的数据。重复数据删除技术能够减少全映像虚拟桌面所需的磁盘空间,最多可以节约90%的空间,也就是将2TB缩小到
200GB。对于链接克隆,共享一个主磁盘,再将所有的改动保存到delta文件当中,可能只是节约2GB到5GB的空间而已。但是如果你计划使用全映像,那么重复数据删除是必不可少的。
自动精简配置。链接克隆已经能够有效地节约空间了,所以自动精简配置不会在这基础上起到更大的作用了。但是当使用全映像虚拟桌面时,自动精简配置就能够节省很大的空间了。其允许你分配更多的存储。将自动精简配置和data dedupe软件配合使用,在全映像环境中可以实现节省巨大的空间。在存储阵列层和虚拟化层都可以实现自动精简配置。在一个高密度的VDI环境中,如果存储层和虚拟化层同时使用自动精简配置,可以降低虚拟化层的系统负载,而将其转移到存储层。因为只需要监控和管理一个范围内的精简磁盘,其还可以简化管理工作。
VMware vStorage APIs for Array Integration。 VMware公司的vStorage APIs for Array Integration允许将本需要由虚拟化层执行的存储相关操作迁移到存储系统中,包括数据复制操作(克隆,存储vMotion),磁盘块清零和vmdk文件锁定。将VAAI部署在VDI环境中可以提供帮助,相比于系统管理工具,它可以更加快速、有效地完成磁盘操作。VAAI技术现在还不成熟,获得存储供应商的采纳和进行集成还需要一个过程,但是支持VAAI的存储阵列能够提供一些帮助,而且随着技术的不断成熟,有可能起到更大的作用。
了解你的需求
在对支持虚拟桌面基础设施环境的存储进行设计之前,还有许多方面需要考虑。预算可能会使你的很多选项受限,有许多有创意的解决方案可以帮助你获得所需的虚拟桌面表现。但是,最开始的一步是了解你的需求;一个恰当的评估不仅可以帮助你定义存储需求,也可以帮助你成功地实施一个存储解决方案。拥有了一个大小合适的存储系统之后,你就可以享受VDI的便利了,而不用再担心存储系统会变成用户的瓶颈了。
VDI存储小技巧
使用链接克隆来进行存储
链接克隆是虚拟桌面基础设施(VDI)环境中一个非常重要的特性。链接克隆的工作原理是使用一个主虚拟机,里面装有桌面会使用的根操作系统映像。所有的虚拟桌面从这个镜像当中进行读取,而将所有内容写入到每个虚拟机单独创建的delta文件当中。Delta文件通常体积很小,如果每个磁盘块都被写入,它的体积也会随之增长,但是这种可能性并不大。链接克隆可以周期性地进行刷新,以包含补丁和操作系统及应用程序的更新。链接克隆可以提供的优势显而易见,但是相比于维护全盘印象,其更为复杂。
虚拟机内存和页面交换文件
虚拟机所分配的内存大小会其性能产生很大的影响。如果没有分配足够的内存,操作系统就会使用磁盘的页面交换文件,而这将会极大的增加磁盘输入/输入量——而这是你想要避免的一种情况,多余的存储输入/输出会影响性能表现。如果主机需要的内存
过多,分配过多的内存可能引起虚拟化层的交换文件过大,这也会影响存储的性能表现。内存的使用量超过主机的物理内存是可以的,其经常由虚拟桌面基础设施完成(VDI);但是要确保没有完全耗尽主机内存。
SAN加速器是一种提高速度很好的方法,它在你已经存在的存储设备前端增加了一个高性能的缓冲层。FalconStor的网络存储服务器(NSS)SAN加速器是适用于VMware View的一款易于部署的应用,能够改善存储系统的性能。它甚至允许你在VDI存储中使用价格较低的SATA硬盘,但是仍然能够满足性能表现。
避免输入/输出激增
像启动风暴这种可能引起输入/输出激增的事件可以避免,但是其他的操作也有可能引起输入/输出的激增。在进行防病毒软件扫描/更新时需要按照错开的时间进行,补丁和升级操作系统及应用程序也应如此。通过将负载分配到更长的时间段上,可以避免对于存储系统的集中输入/输出。你也可以将防病毒的操作从客户端操作系统层迁移至虚拟化层,这样可以使之更加高效地运行。VMware vShield终端可以将防病毒扫描工作迁移到一个专有的虚拟应用当中,这样可以减少对于运行在客户端操作系统上防病毒软件的需求。这样能够极大的减少运行在主机中防病毒软件实例的数量,并且因为它是集中部署,所以更加易于管理和降低资源使用量。
相关推荐: