VMware vSphere
5.1
Clustering Deepdive
HA.DRS.Storage DRS.Stretched Clusters
Duncan Epping &Frank Denneman
Translate By Tim2009 / 翻译:Tim2009
目录
版权
关于作者
知识点
前言
第一部分 vSphere高可用性
第一章 介绍vSphere高可用性
第二章 高可用组件
第三章 基本概念
第四章 重新启动虚拟机
第五章 增加高可用灵活性(网络冗余)
第六章 访问控制
第七章 虚拟机和应用监控
第八章 集成
第九章 汇总
第二部分 vSphere DRS(分布式资源调度)
第一章 vSphere DRS介绍
第二章 vMotion和EVC
第三章 DRS动态配额
第四章 资源池与控制
第五章 DRS计算推荐
第六章 DRS推荐向导
第七章 DPM介绍
第八章 DPM计算推荐
第九章 DPM推荐向导
第十章 汇总
第三部分 vSphere存储DRS
第一章 vSphere存储DRS介绍
第二章 存储DRS算法
第三章 存储I/O控制(SIOC)
第四章 数据存储配置
第五章 数据存储架构与设计
第六章 对存储vMotion的影响
第七章 关联性
第八章 数据存储维护模式
第九章 总结汇总
第四部分 群集架构的扩展
第一章 群集架构的扩展
第二章 vSphere配置
第三章 故障排错
第四章 总结汇总
第五章 附录
第三部分 vSphere存储DRS
第五章 数据存储架构与设计
图124:数据存储群集架构
连通性
当介绍架构中的数据存储群集,需要谨慎对待数据存储群集的连通性,有多个方面的连通性必须要考虑,数据存储群集和计算群集主机之间的连通性,多个计算群集的连通性,多个阵列之间的连通性,例如,通过多个存储阵列生成一个数据存储群集是可能也是支持的,但如此的配置有什么好处和诱惑吗?
主机连通性
ESXi主机和数据存储群集上数据存储的连通性,通过DRS和存储DRS会影响初始化的位置和负载平衡的决定,尽管连接数据存储到群集内所有的ESXi主机是一个惯用的做法,我们仍在虚拟化环境中遇到部分连接数据存储的情况,让我们开始一些基本的术语。
数据存储群集全连接:数据存储群集全连接是指DRS群集内所有的ESXi主机都只有该数据存储可用,这些是建议,但不是强制的。
数据存储群集部分连接:如果数据存储群集内任何的数据存储连接DRS群集内的一部分ESXi主机,数据存储群集考虑部分已连接的数据存储群集。
如果DRS群集被连接到部分的数据存储群集,会发生什么情况呢?重要的是理解DRS和存储DRS的目标是资源可用性,关键是提供资源可用性来保障尽可能多的灵活性,存储DRS将不会生成任何歉意建议,它将降低虚拟机同数据存储连接的兼容性,虚拟机到主机的兼容性计算和捕获见兼容性列表。
兼容性列表
为每个虚拟机生成一个VM和主机的兼容性列表,兼容性列表决定了群集上哪个ESXi主机有网络和存储配置,并允许虚拟机成功联机,一个强制的虚拟机到主机的关联规则最好被列举在兼容列表中,如果虚拟机的配置网络端口组或者数据存储在主机上不可用,或者强制关联规则的主机组中不包含该主机,ESXi服务器被认为主机上不兼容该虚拟机。
如之前提到的,DRS和存储DRS聚焦于资源可用性和资源避免中断供应,因此,存储DRS偏向于所有主机都连接的数据存储,部分连通性会产生不良影响,系统找合适的初始化位置和负载平衡变得可能更有挑战性,在初始化位置期间,选择的数据存储可能影响群集主机之间的虚拟机的灵活性,因为选择的主机会影响数据存储群集上数据存储上虚拟机之间的灵活性。
图125:在部分连通性架构中虚拟机和VMDK的移动性
例子:在产生迁移建议的过程期间,DRS选择一个能提供足够资源来满足虚拟机动态配额的主机,同时降低群集的不平衡性,DRS可能遇到一个主机,它的利用率低于群集内其它的主机,如果较低利用率的主机没有连接到包含了虚拟机文件的数据存储,(糟糕的网络环境可能造成较低的利用率),由于兼容性DRS将不考虑该主机,同时从DRS资源负载平衡的观点来说,主机可能非常有吸引力去解决资源不平衡,不足的连接将阻止它的利用效率,而且对于VM-Host关联规则有着持续影响,DRS将不迁移虚拟机到只部分连接的主机上。类似的不平衡在存储DRS负载平衡使用部分连接数据存储的时候会发生,当全连接数据存储可用时,且不予存储DRS的空间阈值冲突的情况下,部分连接存储不被推荐。
基本设计原则
数据存储群集内所有的数据存储连接计算群集下所有的ESXi主机。
I/O负载平衡
你可能疑惑为什么存储DRS空间阈值这么明确的提及,而不是延迟阈值:这是因为当数据存储群集上部分数据存储连接被检测,I/O负载平衡就被禁用,不只在单个、部分已连接的数据存储,在全部数据存储中也一样。这有效的禁止了你的虚拟环境中的完成特性。
部分连接数据存储和调用周期
当调用存储DRS间隔超时,连通性的状态极其重要,在计算迁移建议期间,每个数据存储的连通状态被检查,存储DRS禁用I/O负载平衡和空间负载平衡,可能不考虑数据存储是作为一个合理有效目标数据存储。,一个临时的全路径断开状态或者一个重新规划的过程可能不会影响存储DRS负载平衡的行为,但是如果善良的老Murphy决定在调用期间给你一次参观的机会如何?当安排存储平台进入维护模式你可以记住它,它可能临时明智的禁用存储DRS。
部分连接数据存储的益处
我们不能确定群集内部分连接数据存储的任何直接的收益,部分连接数据存储影响初始化位置,禁用I/O负载平衡和对DRS负载平衡以及存储DRS空间平衡的影响,因此基本的设计决定将确保数据存储群集内所有的数据存储连接到DRS群集内所有的主机。
增加文件共享的限制
在vSphere 5.1之前,在VMFS数据存储上主机共享只读文件的最大数量为8,VMFS数据存储上的共享文件通常链接克隆成虚拟机,这限制了VDI架构下计算群集内主机的数量和vCloud Director的部署,vSphere 5.1中的存储DRS支持vCloud Director和它的链接克隆版本,不幸的是,View的链接克隆仍然不支持存储DRS。
在vSphere 5.1中,在VMFS数据存储上主机共享只读文件的最大数量增加到32,允许vCloud Direcotor 5.1环境扩展到群集内32全连接主机。
提示
主机应用该功能只在vSphere 5.1和VMFS-5以上。
群集连通性
长时间的最佳实践是连接数据存储到单个计算群集,当介绍一个新的数据存储,新数据存储上包括新群集上已经发布的虚拟机,最佳实践建议用于减少SCSI-Lock的数量,数据存储连接到多个群集变成可能,而且不影响性能。考虑到这一点,数据存储群集共享给多个计算群集配置上是支持的。最小数量的数据存储群集使虚拟机的位置初始化越来越简单。在虚拟机初始化位置期间,管理员必须选择目的计算群集,存储DRS选择能提供最大资源给虚拟机的主机。
通过存储DRS,一个迁移建议的产生不会在主机级别移动虚拟机,因此不能通过存储DRS的初始化操作,将虚拟机从一个计算群集移动到另一个计算群集。
图126:负载平衡域
最大值
请记住,主机支持连接VMFS数据存储的最大数量为64,这样当计算群集或者多个计算群集连接使用VMFS数据存储的数据存储群集时,就需要考虑它们的规格。主机连接NFS数据存储的最大数量取决于NFS文件的最大数量
VAAI-因素
如果数据存储格式化为VMFS格式,它建议在存储阵列上开启VAAI,如果支持的话。其中一个重要的VAAI primitives是硬件辅助锁,也叫做Atomic Test and Set (ATS)。ATS代替必须为主机在LUN上的SCSI-2磁盘锁定,同时更新元数据或者产生文件。A SCSI-2磁盘锁定命令把LUN上其它主机的性能I/O关在外面,同时ATS启用修正元数据或者磁盘上不需要使用全部SCSI-2磁盘锁任何其它扇区。锁定聚焦了许多过去关于数据存储连接性的最佳实践。为了减少锁定的数量,最佳实践减少了每个数据存储附属的主机数量。通过使用新格式VMFS 5 与开启VAAI的存储阵列组合,SCSI-2磁盘锁命令是过去的事情了,如果ATS命令失败,更新VMFS 5 卷或者VMFS 3卷将回滚使用SCSI-2磁盘锁,更多的信息关于VAAI和ATS可以阅读VMware KB文章1021976
请注意如果你的阵列不支持VAAI,SCSI-2磁盘锁命令能影响架构和性能的弹性。
多个计算群集和SIOC
多样群集的虚拟机能更安全的分享数据存储群集的数据存储,当SIOC和它的共享被数据存储关注,SIOC不知道,也不受群集成员主机的影响,SIOC使用虚拟磁盘分享来公平分配存储资源,这些在datastore-wide级别应用,而不管主机群集,简短的说,群集成员主机不会影响SIOC的监测延迟阈值冲突和管理数据存储I/O流的作用。
阵列连通性
如果虚拟化架构中多个阵列可用会怎样?在多个阵列生成数据存储群集时有哪些缺点?或者每阵列创建数据存储时有哪些优势?
单个数据存储群集里不同的群集阵列支持组合数据存储配置。虚拟机必须从一个阵列移动到另一个阵列,这样的配置在存储阵列数据迁移中可以被使用,但当永久使用多阵列,关键区域聚焦阵列和数据存储的同质配置。
图127:阵列连通性
当从多个阵列中组合数据存储,建议使用已注册的同样类型阵列,磁盘和RAID级别的数据存储,使用类似类型的阵列应用可比较性能和冗余功能,尽管RAID级别通过SNIA被标准化,通过不同的合作伙伴来完成RAID级别可以实现不同的RAID规格,通过特定的合作伙伴的实施可能影响读/写性能,并将数据冗余的程度对比同一RAID级别的其它合作伙伴。
VASA和存储文件会在将来的配置中帮到你么?VASA开启,vCenter显示LUN/数据存储的容量,能利用这些信息,通过选择数据存储创建数据存储群集,报告相似的存储容量,VASA实际的容量被VASA用来留给个别的阵列存储合作伙伴,这意味着存储容量的详细描述可能类似,但数据存储的性能或者冗余功能可能有所不同。
这是有害的,或者当聚合不同性能级别的数据存储时,会导致存储DRS停止工作吗?存储DRS将仍然工作,将通过数据存储群集上的数据存储负载平衡虚拟机,存储DRS负载平衡被以这样的方式来集合虚拟机,配置阈值不会冲突,有数据存储群集之外的最好的一切性能,通过混合不同性能级别的数据存储,当不同阵列所属的数据存储上虚拟机进行迁移,虚拟机性能也许不会被约束。
VAAI Hardware Offload
另一个需要考虑警告是不同阵列见数据存储之间的虚拟机迁移:VAAI硬件卸载(hardware offload)是不可能的,存储vMotion将通过vSphere堆中一个数据工人管理起来,同时存储DRS不确定“所在”的数据存储,当阵列之间虚拟机进行迁移时,它不包括额外的开销。
图128:VAAI Hardware Offload
当数据存储从多个阵列中被集合到单个的数据存储群集,是否能设计提供一个稳定和持续性能,容易和低开销的环境?数据存储和阵列应该有接下来的配置:
相同的Vendor
相同的固件/代码
相同的spindles备份磁盘组
相同的RAID级别
同样的配置
在计算群集中所有的数据存储连接所有的主机
相等的数据存储
相等的外部负载
我们建议创建多数据存储群集,数据存储组属于每个存储阵列自身的数据存储群集,这将减少设计和日常运营的复杂度。当跨越多个阵列,存储阵列的配置必须保持一致,影响存储阵列的管理,保持固件的版本一致,通过阵列附加维护阵列的部分功能和在维护期间同步断开时间,除此之外减少操作开销,保持数据存储群集受限制一个存储阵列影响VAAI,在存储子系统上帮助减少负载。
数据存储
数据存储的最大数量和虚拟机的磁盘占用通常是数据存储设计的主要驱动力,如果你的公司有一个标准配置存在,了解数据存储最大数量的可能影响能使虚拟机在数据存储群集上有个固定比。
空间利用率阈值和空间安全缓冲
其中一个主要用来考虑虚拟机与数据存储的固定比,我们称之空间安全缓冲,一个普通实践是指派一个大块的空间作为安全缓冲区,从而阻止数据存储的空间出现不足,它可能导致活动虚拟机出现当机,我们已经看到一些机构由于需求是用来额数据存储上30%的空间。随着存储DRS监控空间利用率,空闲的空间用来作为安全缓冲区能大大的减少。每个ESXi主机报告虚拟机的空间利用率和数据存储的利用率;如果配置的空间利用率阈值被冲突,存储DRS将触发一个调用。
通过减少闲置空间,一个高固定比能够达到(如果I/O性能满足),回收闲置空间能为数据存储群集中另外的数据存储提供额外的空间。
通过提供更多的负载平衡选项,更多的可用数据存储受益于存储DRS;更多数据存储增加了可用存储队列的数量,受益于在ESXi级别的I/O管理和群集级别的SIOC。
强化和扩展数据存储
数据存储群集中支持最大数据的数据存储为64,如果没有预先定义(公司的IT标准)数据存储的规格标准,一个合适的数据存储尺寸必须被决定,我们没有提供一个默认的尺寸适合所有的数据存储尺寸,它依靠多种变量:每数据存储群集的虚拟机固定比,虚拟机磁盘占用和存储阵列性能。正如之前章节提到的,更多的数据存储意味着为存储DRS提供更多的安排选项,如果数据存储空间利用阈值被冲突,选择一个小的数据存储尺寸能导致更多的迁移,由于虚拟机占用了你的磁盘。
存储DRS支持使用NFS,VMFS3,VMFS5和扩展VMFS数据存储。NFS和VMFS 5允许数据存储到64TB,扩展性支持的更好,当使用数据存储群集的扩展性,尽管有一些缺点介绍,扩展一个数据存储不需要提供额外的负载平衡选项给存储DRS,只要单个数据存储增长到一定尺寸,存储DRS在扩展数据存储上禁用SIOC,它的改变会导致特定的群集禁用I/O负载平衡。
注意
存储DRS不支持单个数据存储群集内有NFS和VMFS数据存储的组合,你必须为每一个数据存储群集组合同样类型的文件系统
虚拟机配置
虚拟机配置影响存储DRS的负载平衡的能力,也影响数据存储上虚拟机的固定比。
数据存储群集默认的关联规则
新版本的vSphere 5.1有能力为数据存储群集更改默认的关联规则,默认情况下,存储DRS建议一个内部虚拟机的关联规则,如果选项没有勾选,虚拟机文件盒虚拟机的VMDK将扩散到不同的数据存储。
图129:默认VM关联规则选项
请注意关联规则在下一章节将被详细的讲解,内部VM关联规则保证虚拟机的文件,如一个数据存储上的VMX文件,日志文件,vSwap和VMDK文件。
图130:默认关联规则的初始化位置
保持数据存储上所有的文件一起能帮助减轻排错的复杂度,但是,存储DRS负载平衡计算可能有利于跨多数据存储分配虚拟机,让我们来看看,当内部虚拟机的关联规则从虚拟机上移除,存储DRS怎样在多数据存储下操作虚拟机。
DrmDisk
存储DRS使用了“DrmDisk”的构想,相当于一个可移动的小实体,一个DrmDisk代表一个数据存储资源的用户,这意味着存储DRS为所属的虚拟机的每一个VMDK文件创建了一个DrmDisk。有趣的部分是它怎样操作搜集虚拟机的系统文件和swap文件。如果无论如何,一个备用的swap文件被指定,vSwap文件被表示,作为一个单独的DrmDisk,在DrmDisk的swap上存储DRS将被禁用。例如,为了本地配置有两个VMDK文件的虚拟机和没有备份swap文件,存储DRS创建三个DrmDisk:
l 为每个虚拟机的磁盘文件创建一个单独的DrmDisk
l 为系统文件(VMX,Swap,logs等)创建一个DrmDisk
图131:虚拟机的DRMdisk预览
当内部虚拟机关联规则被禁用,初始化位置被重新建议。注意VM2配置文件的单独的建议,这是DrmDisk包含的系统文件。
图132:存储建议
初始化位置空间负载平衡
初始化位置和空间负载平衡有利于跨越数据存储的大的独立磁盘,代替寻找合适的数据存储,它能保持一个整体的虚拟机,存储DRS能够为每个独立的DrmDisk文件查找合适的数据存储,你可以想象这些增长的粒度意味着数据存储群集的分散(第21章)就很少发生,如果有必要的迁移需求,迁移的数目也要低得多。
图133:VMDK关联规则开启初始化位置
IO负载平衡
类似于初始化位置和负载平衡,I/O负载平衡有利于大的粒度,使用小的单元,它能通过VMDK文件为生成的每个工作负载找到更适合位置,系统文件DrmDisk将不会频繁的迁移,作为一个小尺寸且不生成多数I/O,存储DRS分析每个DrmDisk的工作负载,然后决定那个数据存储它应该放置DrmDisk来保持数据存储群集的负载平衡,同时为每个DrmDisk提供足够的性能
如果内部虚拟机关联规则被使用,空间负载被请求来查找数据存储,这样能存储虚拟机而不超过空间利用率的阈值,如果I/O负载平衡开启,在放置了三个DrmDisk后,数据存储还必须提供足够的性能来保证延迟在I/O延迟的阈值以下。当空间和I/O负载平衡被允许置入每个DrmDisk到适合的数据存储群集上,你能想象它少了很多复杂。
磁盘类型
存储DRS支持以下的磁盘类型:
后置备
精简置备
独立磁盘
vCloud链接克隆
快照
厚置备
通过默认的vSphere配置虚拟机为厚置备格式,在初始化位置和负载平衡操作期间,发布空间被用来计算数据存储上必要的空间利用率,因为指派和发布的空间是一样的,计算比较简单
精简置备磁盘
存储DRS支持精简磁盘,在负载平衡计算章节提到,它用来组成精简磁盘的空间代替预分配的空间,在初始化位置过程中有一个警告,存储DRS使用预发布的空间来计算。当置入以后,空间利用率阈值直接冲突,这就可以有效的保护存储DRS。
独立磁盘
默认,存储DRS不移动独立磁盘的虚拟机,独立磁盘能共享或者不共享,决定是否磁盘被共享在计算时是非常重要的操作,当存储DRS需要调查数据存储群集上每个虚拟机和磁盘,为了减少存储DRS在虚拟架构中产生的开销,存储DRS不建议这样的移动。
当使用有独立磁盘的虚拟机,并放置到数据存储群集里,尝试进入存储DRS维护模式,为了造成“存储DRS不能移动独立磁盘”的错误。一个高级参数允许在数据存储群集中使用非共享的独立磁盘,选项sdrs.disableSDRSonIndependentDisk必须添加到数据存储群集上独立磁盘vpxd.cfg文件中。默认选项不在vpxd.cfg的清单中,当特殊情况或者设置错误,存储DRS将移动独立磁盘,并且“存储DRS不能移动独立磁盘”的错误也不会出现。
注意
记住添加到vpxd.cfg的附加选项通过vCenter服务器自动应用到管理的全部数据存储群集
请注意这个选项应该只能用在非共享独立磁盘!移动共享独立磁盘是不支持的。
虚拟机自动级别
个人虚拟机的自动级别能被定制化来覆盖存储DRS群集的自动化,这是虚拟机的四个自动化级别:
全自动
手工
默认(群集自动级别)
禁用
如果虚拟机的自动化级别被设置成禁用,存储DRS不会迁移虚拟机或者为它提供迁移建议,通过将虚拟机的自动模式设置成手动,存储建议将被产生,但所有的建议在进行之前,将需要用户手工确认。
虚拟机自动级别对负载平衡计算的影响
一个虚拟机设置了禁用自动级别仍对空间和I/O负载平衡有影响,数据存储级别和每虚拟机的空间和I/O值仍然捕获,虚拟机自动级别设置为禁用,存储DRS仅仅抑制为虚拟机生成迁移建议。
交互性
阵列特性
一些你可能已经想到了,一些你可能没有想打:如果你使用阵列提供去重或者精简发布会怎样?如果你复制数据存储上所有的数据会怎样?它使你意识到在数据存储上开启存储DRS有哪些特性?有什么影响?让我们现在解答这些,开始谈到存储DRS对任何基于阵列的特性都有用,但是,它建议设置存储DRS为手工,那样迁移必须确认,管理员意识到影响,我们相信在初始化位置时存储DRS可以带来一些价值,这排除了正常操作带来的影响,请求从容量和延迟的角度寻找最佳数据存储。
基本设计原则
即使想去重的阵列基本功能被使用,我们建议开启存储DRS,它的初始化位置的功能将帮助你的虚拟机寻找最好的位置。
这部分可能包括了一些大胆的发言,但我们想确认每个人意识到在全自动模式下开启存储DRS的影响,我们将开始我们的建议,当这些阵列功能被使用,关于怎样配置存储DRS和解释我们的这样做的原因。
去重
存储DRS自动级别:手动级别
负载平衡:空间+I/O
当LUN上的去重功能开启,它非常难去预测迁移虚拟机的全部影响,依靠目标上相似块的数量,迁移到另外的数据存储可能对去重的效率产生负面影响,当去重发生在带外,意味着数据必须被优先写入磁盘,这将会有一段时间,VMDK是0%的去重,另外,当有附属的开销成本,去重的过程需要重新分析额外的VMDK。
我们做了,但是,建议启动存储DRS的手工模式,以决定每个建议是否值得迁移虚拟机,在空间利用的术语中,迁移可能讲不通,单当有一个大的延迟不平衡,迁移之后的成本(大量去重块)应该同潜在减少的延迟相衡量。
精简发布
存储DRS自动级别:手工级别
负载平衡:空间+I/O
vSphere 5.0之前,处理LUN的精简发布和频繁的虚拟机迁移、删除、发布是两个主要的挑战,第一个问题发生在当阵列没有足够的空间块,请求迁移新块到数据存储,第二个问题是人们允许删除或者迁移虚拟机没有空间的原始空间-我们称之为“死亡空间回收”,正如你所想的,这些场景加强了运营的挑战
vSphere 5.0介绍了为环境中增强了许多VAAI功能,使用基于阵列的精简发布功能,LUN上精简发布的两个主要挑战,正如刚刚提到的,回收死亡空间和监控空间利用率,下面通过介绍新VAAI精简发布根本上解决这两个问题:
当文件从数据存储上通过存储vMotion被删除或者移动,死亡空间回收报告阵列关于数据存储空间是空闲的,阵列能回收空闲的块,安排它们去其它需要的LUN
空间不足条件在数据存储精简发布上监控了空间使用率,来阻止物理空间不足,一个新的,为了精简发布空间不足的条件,高级的警告被添加到vSphere5.0中,本质上,阵列的表面建立了监控/警告容量和允许vCenter采取行动。
基本设计原则
在迁移虚拟机之前确定你的阵列支持原始精简发布
当形成迁移建议,空间不足的条件通过存储DRS被使用,存储DRS意识到卷已经接近阈值的事实,因为阵列不能分配更多的存储,物理空间逐渐不足。在这样的条件下,指定的卷将被忽略,作为存储DRS认证的目标将提供迁移建议。
现在我们议论VAAI,我们想指出vSphere 5.0介绍了对INCITS T10 SCSI的增强功能,这些允许你不需要安装插件的情况下来影响VAAI,并允许支持更多的额外存储设备。
基本设计原则
确认你的存储厂商他们拥护T10标准来确保VAAI完全复制的卸载功能,通过使用存储vMotion可以利用。
重复
存储DRS自动级别:手工模式
负载平衡:空间+I/O
存储DRS是不知道的复制,这意味着如果存储DRS初始化迁移,去重原理必须重复所有已经在目标卷上新建的块,在这种情况中,每一个VMDK的支配块。额外的影响是虚拟机“没有保护”直到它完成全部去重,只要它移动到另外一个去重的数据存储,它建议去检查源数据存储和目的数据存储是否有同样的重复配置,另外一种情况,管理虚拟机重复和提供灾难恢复,在迁移之后必须通过手工重新配置去重。当SRM不支持被保护虚拟机的存储vMotion,vSphere 5.0和5.1没有全SRM+存储DRS的互操作性。
我们建议配置存储DRS手工模式,这样建议能在维护窗口时或者在去重链接上降低利用率时使用。
自动分层
存储DRS自动级别:手工模式
负载平衡:I/O值禁用
如果自动分层解决方案在阵列上被开启,我们建议禁用存储DRS的I/O负载平衡功能,只有空间平衡和初始化位置服务时使用它。正如之前I/O负载平衡章节提到的,I/O负载平衡使用设备模型来理解数据存储上备份设备的性能特征,在自动分层解决方案中,这些特性基于存储阵列的利用率和迁移的块可能发生实际的改变,重要的是知道存储DRS怎样工作来实现,怎样它的行为可能引起不好的结果。
为了理解和学习数据存储设备备份的性能,存储DRS使用存储I/O控制(SIOC)工作负载注入。为了描绘数据存储的特性,SIOC注入开启和读取数据存储的漫游块,当SIOC注入不开启每个块备份到存储上,它不是SIOC注入开启每个性能层次到磁盘特征的块的相同数量。
当多个性能层备份在数据存储上,有可能SIOC注入可能打开块在类似速度的磁盘上,不管慢还是快,同时数据存储通过不同性能级别的磁盘优先备份。让我们举个例子阐述这一步。
图134:SIOC注入设备模型
在以上的图片中,SIOC打开了漫游块和性能测试,不幸的是,它不能打开每层存储上同样数量的块,同时大多数块备份示例数据存储被分配到快性能磁盘(SSD),存储DRS设备模型将描述磁盘性能类似于7.2K SATA 磁盘,数据存储的这些错误的性能特征可能导致不正确的性能评估,以及导致存储DRS阻止掐你建议,即使有足够的性能可用。
分割迁移触发的自动分成算法
使用SIOC注入,存储DRS评估磁盘的性能,但是自动分成解决方案迁移LUN,基于用户的模板分割成不同的磁盘类型,热分割(频繁访问)类型移动到快磁盘,同时冷分割移动到慢磁盘,依靠阵列类型和厂商,为这些迁移有不同的规则和阈值。默认,存储DRS每8小时调用一次,请求超过16小时性能数据来生成I/O负载平衡决定,在移动分割LUN之前,每个厂家使用不同的时间周期来搜集和分析工作负载:一些自动分层解决方案基于真实时间负载移动大块,同时其它阵列移动大块在搜集性能数据的24小时内,当SIOC注入性能测试,这意味着自动分层解决方案改变了格局,让我们转向阐述另一种场景。
在这个场景中,SIOC是主要开启数据存储块分配在1层磁盘组,同时数据存储不使用这些经常自动分层解决方案的分割,决定迁移低层的分割,在这种情况下,分割被迁移到15K磁盘用来代替SSD设备。
图135:通过自动分层迁移冷分割
存储DRS期望LUN的行为保持至少16小时,它将使用这个假设来执行它的计算,自动分层解决方案可能改变数据存储的底层架构,基于算法和时间表冲突的计算。
存储DRS调用可能不重合,当分割LUN在阵列上可能被移动,自动分层循环导致不能预测,存储DRS的建议和潜在的计算碰撞。缺乏透明度的存储DRS自动分层计算,存储DRS和建立自动分层解决方案之间不存在通信,通过设备管理的自动分层解决方案备份,基于我们建议来禁用数据存储群集的I/O值。一如既往,一定要同您的存储厂商验证这些建议。
阵列配置-相似类型磁盘组
如之前简单提到的,我们建议从类型相似磁盘组成的备份数据存储上创建数据存储群集,这意味SATA和SATA,15K RPM FC和15K RPM FC,RAID 5和RAID 5。为了更清楚这些,不用检测vCenter来阻止你做了什么。如21章解释过了,存储DRS影响了从存储I/O控制到决定数据存储性能特性的注入,当数据存储空闲和它使用不同的I/O,它通过漫游注入读I/O做到这些,尽管事实上,存储DRS和SIOC有这项非常聪明的功能,我们强烈的感受到虚拟机和虚拟磁盘的位置应该给予服务级别协议(SLA)为前提,可应用各自的虚拟机或者虚拟磁盘,不仅仅是计算底层物理磁盘的性能。
SLA能定义可用特征(各自类型的RAID级别),但还有性能特征(SATA,FC,SSD),当组合LUN组,每个人可能理解为什么可用特征非常重要,但性能怎么样?性能不会只延迟,是这样吗?只有想象空间利用率阈值和存储DRS迁移你的虚拟机到7.2K RPM SATA的数据存储上,为什么这会成为一个问题?想一下,15K 磁盘的IOPS数量能维持(180-200)非常高,同SATA驱动(75-80)相比,尽管平均延迟可能变低,确不意味着你能保证性能上有同样的峰值和响应,依靠底层配置,DRS能迁移虚拟机或者虚拟磁盘,或者不同数量缓存的不同的阵列存储,不同磁盘和不同级别的上线时间。所有的这些能影响你们虚拟机的性能,导致你们的SLA冲突,也许糟糕,它能改变你的客户虚拟机的印象。
vSphere Storage APIs –Storage Awareness
vSphere 5.0介绍了一个叫做vSphere Storage APIs的功能-Storage Awareness,这些APIs 有时还提到短的名字,VASA,也就是单词的首写字母,VASA提供存储阵列和vCenter之间的通信,来允许vCenter来显示存储阵列上LUN的容量,以便于映射给数据存储。这使它更简单的为虚拟机位置选择合适的数据存储或者建立数据存储群集,它还能在你(vSphere管理员)和存储管理员之间通过自动提供vCenter的详细RAID级别、厚置备/精简置备配置,去重状态灯,来促进排错过程或者会话。
图136:vSphere存储APIs –存储容量详情
这些容量由vCenter通过“system-defined capabilities提供,且每个数据存储有个描述,或者通过存储视图或者vSphere API的属性。
基本设计原则
通过VASA提供的信息建立你的数据存储群集,将帮助你确认你的虚拟机在正确的存储层上发布。
特别在部署了许多LUN大环境中,存储容量通过VASA部署将减少管理员的需求数量,它的目的是消除每个LUN上存储容量的大量电子表格,经常在虚拟机或者虚拟磁盘发布期间,用来验证正确的存储层次。
这些只是开始,如果每层创建配置文件,分配这些文件到虚拟机或者虚拟磁盘来确保生命周期内保持在合适的存储上,这样是否很不错撒?好消息是vSphere 5.0已经能这样做,它集成到SDRS的发布过程中。
配置文件驱动存储(Profile-Driven Storage)
在配置文件驱动存储可用之前,管理数据存储和匹配合适的数据存储达到虚拟机SLA需求是一个挑战,至少可以这样说,配置文件驱动存储基于预配置存储文件,允许快速和智能的放置虚拟机。这些文件经常代表一个存储的层次,且通过vCenter功能创建,称之为“VM 存储配置文件“,典型的,RAID级别的特性,重复,性能,去重和厚/精简配置被用来定义不同的层次,这些层的一个如下:
金,RAID-10,同步复制,15K FC
银,RAID-5,一个同步复制,10K FC
铜,RAID-5,开启去重,7K SATA
使用虚拟机存储配置文件,不同的存储特性通过存储APIS提供,或者手工添加,在虚拟机存储配置文件中被特指,这些虚拟机存储配置文件在发布,克隆和存储vMotion期间被使用,它来确保只有这些数据存储或者数据存储群集与VM存储配置文件兼容可用,这是图137显示的内容,虚拟机存储配置文件“铜“被选择,数据存储群集“dsc-nonrep-rp-001”与虚拟机存储配置文件兼容。
图137:使用虚拟机存储配置文件来选择数据存储
我们讨论功能的原因是因为配置文件驱动存储帮助我们选择正确的数据存储群集,只有数据存储群集同虚拟机存储配置文件兼容才会出现在表中。但是,这样做有一个需求,在建立数据存储群集时接近类型的数据存储被选择。
不幸的是,今天不可能使用虚拟机存储配置文件来选择正确数据存储群集上的数据存储,但是系统兼容性(VASA)被显示在存储DRS“数据存储群集创建”工作流中,如图138
图138:数据存储群集创建期间系统兼容性视图
在很多环境中,这将导致减少管理工作量,当谈到虚拟机或者虚拟磁盘位置时,它还将减少人为犯错的机会。
基本设计原则
定义虚拟机存储配置文件来减少发布虚拟机和附属的虚拟磁盘,定义存储的层次是基于你的客户的SLA。
可能最容易被接受的存储层次模式是类似于“金,银,铜”,记住虚拟机存储配置文件不会限制这种方法,在很多场景中,每用户场景的方法能减轻发布的过程:而不是为层次(金)定义一个名字,为特定的数据存储使用(“WEB 服务器或者数据库服务器”),尽管传统的方法可能对许多vSphere管理员毫无意义,这些使用情况或者即使一个“业务线”方法能在大型的环境中有比较重要的意义,当不同的组发布完成。
配置文件本身是非常好的,但相对无用,当它不可能验证虚拟机的合规性和相关的磁盘,幸运的是,配置文件驱动存储还运行这些,图139描述了这个过程
图139:虚拟机存储配置文件合规性
正如之前提到的,配置文件驱动存储能通过VASA影响容量,如果,无论什么原因,你的存储尝试不会有VASA提供者,记住数据存储能手工提供关于存储容量的信息
虚拟机合规性状态
虚拟机存储配置文件开启,你能在单一界面验证虚拟机和附属磁盘的合规性(图140)但它还允许你基于每虚拟机查看,确保虚拟机管理员不必进入的不同层,能在虚拟机的摘要中验证合规性(图141)。
图140:单一界面查看合规性
图141:每虚拟机配置文件合规性
配置文件驱动存储将管理存储层次,发布,迁移,克隆虚拟机和调整虚拟机的位置,使得在vSphere发布更简单和更友好,更重要的是,关于这本书,它将让你基于每定义配置文件来创建数据存储群集,这将导致你的存储更有使用效率。
基本设计原则
在建立你的数据存储群集和发布过程中,使用提供的工具做出正确的决定,这将减少人为出错的机会和不能预计的麻烦。