haizdl
作者haizdl2017-03-13 12:07
技术经理, 大连

VMware虚拟化实施过程中的最佳实践点探讨 - 如何配置存储策略及细节参数

字数 3398阅读 3594评论 1赞 3

<活动简介>

在虚拟化的存储架构设计以及存储配置方面,也同样会有很多细节的实践点是值得我们去关注。不同的业务环境对于虚拟化架构中所用到的存储,从存储架构上会因为性能成本等需求的平衡产生NFS架构、ISCSI架构、SAN架构等。对于不同的架构,那么为了达到性能或者高可用的相对平衡,那么又会有很多策略或者是参数需要来调整和优化。本期活动就Vmware的虚拟化架构当中的存储设计及配置进行深入探讨。

<问题内容>

问题主要集中在以下几个方面:

  1. 存储集群。
  2. 容量规划。
  3. NFS、ISCSI、SAN、SDS。
  4. 存储监控。
  5. 存储迁移。
  6. 虚拟环境备份。
  7. 分布式存储。
  8. 存储配置参数。

<精彩回答>

一、关于存储集群?

观点一、实际上就是把若干LUN绑到一起作为一个逻辑上的大存储,虚拟机具体分布的时候尽量按照几个LUN平均使用的原则进行空间分配。但是由于虚拟机的VMDK文件不可拆分,那实际上很难达到一个较好的平衡。高可用上来讲,它无法实现像计算集群那样的高可用。
VMWARE存储集群,在存储空间利用上并不是实现多个LUN的平衡利用,因为VMDK文件打不散,没法儿做。从高可用上来讲,一个LUN坏掉了,上面的VMDK文件并不能向计算资源一样切换。这个意义上来讲,它没有实现集群应该具备的功能。
观点二、存储集群如果是指vSAN一类的分布式存储集群,目前看来还不是非常必要的。接触的客户中大多数还属于尝试阶段。看起来可以降低存储的购买成本和SAN网络的管理成本,但是同样需要引入固态盘和万兆网,成本也不低,同时会带来存储集群的设计和管理成本。综合起来看,并没有绝对的优势,只是可以作为集中式存储的补充。

二、如何做虚拟化平台的容量规划?

说起容量规划来,我觉得不仅仅包括存储容量、而且还有计算容量的规划。对于存储容量来讲,一个是每一个LUN上究竟要跑多少个虚拟机,每一个虚拟机的容量规划,存储模式选择。生产环境建议不要超过15个虚拟机,每一个虚拟机容量占比要记得考虑SWAP空间占有的比率,建议重要应用做成厚置备模式。对于计算容量来讲,很重要的一个事情就是要计算冗余资源是否可以支撑集群故障时刻要做的HA切换。这里会有两种算法:一个是按照允许的故障主机数目,另外一个是切换空间容量保留的群集资源的百分比。简单点说一个原则,就是当集群中运行资源最多的主机发生故障时,其他主机上的有效剩余资源能保障主机HA切换。或者以优先级方式保证一部分重要资源切换。当然这个剩余资源是有效资源,也就是说CPU、内存、存储之间取最小满足条件者为参照。

三、如何看待各类存储架构?尤其是分布式存储在虚拟化环境当中的应用?存储的发展方向?

从灵活性上来讲,还是NFS最灵活,存储只要将NFS文件系统映射出去。只要网络可达、权限OK、端口OK,那么任何客户端都可以共享这个文件系统。尤其是对于ESXI来讲,相当便利。要说ISCSi,它比SAN要灵活和便利,但是不如NFS,因为它同样要在主机侧和存储侧配置相应的主机组等信息,还是需要用iqn来识别存储映射。但是方便的地方在于是网络协议。但是它的性能要比NFS好。SAN存储无疑是性能最好的存储,但是相对比较复杂,不够灵活。因为它是通过SAN网络来传输的。存储需要识别主机组、光纤交换机需要打通ZONE、主机需要识别到存储的LUN等等。这三类存储、从灵活性角度来考虑,是下降。从性能角度来讲,是上升。

说到分布式存储产品
观点一、现有有很多。几乎每一家存储厂商都会有。从传统NAS的双节点到现在的多节点,吞吐量线性增长。从传统的AP或者AA模式集中式SAN存储,到现在基于X86改造机头的多节点负载均衡模式SAN存储,性能高可用等都得到质的飞越。从实验室小众化Hadoop算法衍生出来的一系列软件定义存储产品也纷纷面世,并且应用到一些生产场合。总而言之,分布式的架构无论从吞吐量、性能、高可用等哪一方面来讲都要优于过去的集中式存储。当然很多产品也是从集中式存储衍生过渡出来的,大家都在进步。
观点二、虚拟化环境中,其实直接用HDFS,ceph等还是很少的。这种方案还是解决用分布式的节点来虚拟成一个逻辑上的存储,本质架构 没有改变;超融合架构可以比较好从架构上解决些问题,计算与存储节点于一体,既公布式架构,数据又有本地化。关键省掉节点数据分布的时延开销,性能高。
观点三、存储发展的方向:性能、容量、可靠性。大部分企业应用环境和需求普通存储都能够满足,普通存储未来方向是存储虚拟化,由软件公司提供存储OS长期使用,硬件方面可以自由采购标准化的服务器、磁盘柜、硬盘来搭配,性能不够时可以升级相应的硬件,软件不用再次采购。分布式存储目前的成本非常高,因为没有广泛的应用需求,所以没有对应成熟的商业化产品,只有搭建开源平台,设备采购省了,专业的运行维护的人工开支只会花费更多。

四、关于虚拟化平台中的存储参数?

观点一、有几个方面。Storage IO Control : 生产环境建议关闭,因为后台的IO控制完全靠Vmware的策略来执行,显然有些片面。多链路切换策略:生产环境建议ROBIN,保证链路负载及高吞吐。假设用存储集群,建议迁出策略选择为手动模式,并且避免参数配置过于激进,以免策略激进导致免出现负载过于集中的事情。假设配置ISCSI存储适配器的话,基于灵活性考虑建议配置动态发现,基于安全性考虑配置静态发现。
观点二、项目经验:配置存储和存储集群,存储的分配/回收策略,数据存储冗余度,快照和内存文件的预留空间等是需要重视的。在需要设计系统容灾的情况下(尤其是站点级容灾),存储同步复制组需要做好设计。
观点三、队列用提高存储并发性的,一般设到32到64就差不多了,如果存储本身的硬盘少,性能问题,设置的意义不大。

五、关于存储监控?

个人认为,可以监控的指标有很多,但是重要的分类会有以下几种:

  1. 从性能上来讲,最主要的几个指标就是存储平均IO队列长度、IOPS、读写延时。队列和延时可以辅助判断链路情况以及我们架构的深度是否合理,纵向上的节点是否有问题。IOPS直接决定着我们的配置是否足够。
  2. 从高可用上来讲,要观察所有存储链路的状态是否正常。
  3. 从安全角度来讲,要观察Thin模式存储的实际使用情况,以避免制备存储超过实际存储带来的写入风险。

六、关于备份?

观点一、VMWARE的VDP,通过VC将整个虚拟机打包成一个文件,支持增量备份,我曾经用它备份过邮件服务器,支持数据删重,压缩比还不错。
观点二、假设我们能把虚拟机存储和数据存储分开的话,结合负载均衡架构,个人认为这个备份就显得不是那么重要了。要是备的话还是要以虚拟机整机备份方式来做,用VDP来做。不建议在虚拟化环境中做很多快照,会留下性能的坑。
观点三、1、如果是数据传统方式即可备份。2、如果备份虚拟机则可以采用vmware vdp,nbu、tsm、networker等,软件支持消重最佳

七、关于存储迁移?

【实际场景】
准备把物理机Win2003系统迁移至虚拟机Win2008系统,能否直接挂载原Win2003系统的存储Lun?
原架构:物理机x86服务器,Win2003系统,主机名host1;
想实现的架构:准备升级至Win2008系统并迁移至vSphere虚拟化平台,主机名host2。

问题1:能否这样操作——原来挂载到Win2003系统的存储Lun从host1取消挂载之后,直接挂载到vCenter虚拟化平台,然后给分配给host2独立使用?

问题2:存储Lun中的数据会不会丢失?

问题3:由于存储Lun和host2之间多增加了一层vCenter,会不会增加存储Lun的性能开销?导致host2访问存储Lun缓慢?

问题4:对于类似的系统升级及p2v,有没有比较好的方法、方案?

解答:
首先这是一个P2V的问题,而且是一个伴随操作系统升级的P2V,据我所知目前支持的是同操作系统的P2V。关于LUN的数据,肯定不会丢失,但是在LUN在从物理环境中转化为虚拟化环境之后,挂载的方式有两种,一种是VMFS,肯定不能用。另外一种是RDM方式,当时这种方式映射之后,2008的操作系统是否能识别到2003的磁盘格式化盘头信息,这个是个风险点,必须经过充分的测试。关于性能问题,性能的开销在于LUN和不同文件系统格式的映射开销,跟Vcenter没有关系。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

3

添加新评论1 条评论

aixkevinaixkevin存储工程师, 某公司
2017-08-04 14:24
谢谢分享。。。。。
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广