您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

vSAN 6.6 双活新特性和 vSAN 双活用户的演讲视频

2017-07-28 15:37:55   作者:   来源:CTI论坛   评论:0  点击:


  【VMware 中国】 在 2017-07-20 发布了一篇好文:《为何选择 HCI 以及为何要立即开始使用》。随后,有一位销售同事(没看错,是销售,厉害吧)做了言简意赅的总结。基于他的总结,我做了一下扩展,选择超融合架构时,需要关心的问题:
  • 是不是开放式架构呢?硬件是否有更广泛的兼容性?用户不愿被硬件锁定;
  • 是否能轻易的过度到双活架构?并具备成熟的备份、容灾方案?
  • 是不是能和软件定义存储的控制平面无缝集成,为私有云奠定存储自动化的基础;
  • 是不是真正做到了计算、存储和网络三个关键组件的融合?基于 vSAN 的 VMware Cloud Foundation(VCF) 就能做到三者融合,使得用户购买的 vSAN 成为未来就绪的超融合架构;
  • 是不是更长远的延展性,形成私有云乃至混合云的基础架构?不久后 VMware 和 AWS 基于 VCF 的方案将推出,使有状态的业务负载在私有云和公有云之间在线漂移成为可能;
  • 厂商是不是业内所认可的?技术是不是具有前瞻性?生态是不是成熟?这关系到数据能否长期、安全地存放;也关系到万一出问题是否有足够的专业人员来解决?
  言归正传,下面介绍 vSAN 双活(也即 Virtual SAN Stretched Cluster)。自从 vSAN 双活推出了,国内已经陆陆续续不少用户使用了,甚至有些用户在上面运行 Oracle、ERP 等关键应用。
  下面的介绍分成三个部分:
  1. 通过青岛农业大学案例客观地介绍 vSAN 双活,乃至整个 VMware SDDC(还包含了 NSX )的优劣;
  2. vSAN 6.6 双活新特性;
  3.  vSAN 双活的基本介绍,包含最小带宽的计算公式;
  青岛农业大学 vSAN 双活案例视频
  这个存储双活的项目,其实 VMware 介入的比较晚,此前已经有存储硬件双活的方案推荐给用户了。得益于当地的 VMware 同事的推荐,用户从成本、管理等方面进行综合考虑,最终选择了存储软件双活也即 VMware vSAN 延伸集群。
  青岛农业大学的老师在 vFORUM 2016 中国大会上亲自演讲:
  vSAN 6.6 双活新特性
  vSAN 6.6 新增的 23 个特性中,最亮眼的几个之一,一定包含双活新特性。在此之前,大家知道,VMware 只支持 FTT=1,两副本分别存放在数据中心的两个不同站点。这样确实有不方便的地方,举个例子,A 站点的 H11 出了故障,虚机就必须利用 vSphere HA 在 B 站点的 H21 上启动。如果在 A 站点本地还有冗余数据,就不用那么费神了。vSAN 6.6 在双活上新的增强就解决了这个问题,不仅如此,还有更出色的表现。
  在 vSAN 6.6 支持 Failure Tolerance Method (缩写为 FTM ) 配置:
  • 混合阵列和全闪存阵列都支持的是:跨站点做 RAID 1 , 每个站点内做 RAID 1;
  • 仅全闪存支持:跨站点做 RAID 1 , 每个站点内做 RAID 5 或 RAID 6。
  跨站点的冗余特性,对应的存储策略是 Primary Failures to Tolerate (缩写为 PFTT) ,它的值可以设置为 1,或者为 0。设置为 1 时,表示跨站点做镜像;设置为 0 时,表示只在一个站点上有副本,其使用场景后面会介绍。
  站点内的冗余特性,对应的存储策略是 Secondary Failures to Tolerate (缩写为 SFTT ),它的值可以设置为 0 到 3 。

   vSAN 6.6 双活 之 PFTT 和 SFTT

  vSAN 6.6 双活 双重数据保护
  这样,即使发生站点级故障时,剩余站点仍具本地的数据冗余,提高了可用性。以跨站点的 RAID 1+本地的 RAID 1,也即 SFTT=1 且 PFTT=1 为例,虽然一份数据共有 4 份副本,存储利用率只有 25%。但针对关键业务应用,牺牲一些存储利用率,换取更高的可用性是非常值得的。而且,这个冗余特性是可以在 vmdk 这个级别来设置的,也就是说,一个虚机里,可以根据不同的业务特性,为不同的 vmdk 设置不同的冗余度。有不少其他 HCI 产品,副本个数必须在整个集群设置,就过于粗糙了,这样它只适用于单一的业务场景。
  前面提到,PFTT 还可以设置为 0 时,表示只在一个站点上有副本。它的使用场景包括,例如开发测试数据可能不需要在两个站点上都有副本;或者,已经使用应用冗余(Exchange DAG、SQL AlwaysOn 等)的解决方案。需要注意的是,Oracle RAC 不太一样,RAC 使用的是共享存储,如果要全部层级高可用则需要在存储这一级做双活,vSAN 做为分布式的共享存储,其双活技术是可以支持 Oracle RAC。白皮书《Oracle Real Application Clusters on VMware Virtual SAN - REFERENCE ARCHITECTURE》上有更多细节。
  微软 Exchange DAG 和 SQL AlwaysOn,更像是服务器 +JBOD 存储,在虚拟化环境里也即虚机+vmdk 的方式,两个 JBOD 存储之间做镜像。也就是说,在应用层,就实现了两份副本,这样就不需要存储层来跨站点做两份副本了。所以,针对这种场景,需将PFTT设置为 0。SFTT 设置为多少,看用户希望在本地站点得到怎样的冗余度。
  在 vSAN 双活上部署 DAG 或 AlwaysOn 的时候,还需要注意 Affinity 的设置。有两个不同层次的 Affinity,计算资源池对应的是 vSphere DRS Affinity,而存储资源池对应的是由 SPBM 设置的,决定存储组件存放位置的,与 vSAN 双活特性相关的 Affinity。
  白皮书《Microsoft Exchange Server on VMware vSphere》,里面清楚地提到,为了防止两个 DAG 的虚机运行在同一个 ESXi Host,也即防止单点故障,建议设置为 DRS anti-affinity 或者 guest-to-host affinity。原文如下:
  Allowing two nodes from the same DAG to run on the same ESXi host for an extended period is not recommended when using symmetrical mailbox database distribution. This condition will create a single-point-of-failure scenario if the two nodes have the only copies of one or more mailbox data bases. DRS anti-affinity or guest-to-host affinity rules should be used to mitigate the risk of running active and passive mailbox databases on the same ESXi host.
  在 vSAN 6.6 双活的配置过程中,是在配置 SPBM,也即存储策略时进行选择的。Affinity 可选择的值有三个:None,Preferred Fault Domain(首选故障域),Secondary Fault Domain ,如下图。
  vSAN site Affinity
  其实,Preferred 和 Secondary Fault Domain 在 vSAN 6.1(也即首次推出双活技术的 vSAN 版本)时出现过。
  vSAN 双活 首选故障域
  设计的原则是,Exchange VM #1 的 DRS affinity 规则和 vSAN 双活站点的 affinity 规则设置成,让虚机和存储(也即 vmdk 对象)都在同一站点,如站点 A 上;Exchange VM #2 的 DRS affinity 规则和 vSAN 双活站点的 affinity 规则设置成,让虚机和存储(也即 vmdk 对象)都在另外的同一站点上,如站点 B。这两个虚机属于一个 DAG,两个 vmdk 对象是同步的。
  vSAN 延伸集群(Stretched Cluster)基础知识
  以下描述围绕着 vSAN 6.1 版来展开。
  在业界为数不多的存储双活方案中,VMware 在原有成本较高的存储硬件厂商提供的双活方案之外,提供了具有高可靠、低成本、更细颗粒度、操作更简单的软件双活方案– vSAN 延伸集群。
  vSAN 延伸集群相当于一个 vSAN 集群横跨两个不同的站点,每个站点是一个故障域。和其他存储硬件的双活方案类似,两个数据站点之间的往返延时少于 5 毫秒(距离一般在 100 公里以内),另外还需要一个充当仲裁的见证(Witness)存放在不同于两个数据站点之外的第三个站点上。Witness 不一定是物理服务器的 ESXi 主机上,也可以运行在第三个站点的虚机上,或者可以运行在公有云上,如国内的天翼混合云,或者 AWS、Azure、阿里云等。如下图所示,Witness 所在站点与数据站点之间的网络要求较为宽松,往返延时在 200 毫秒以内,带宽超过 100Mb/s 即可。
  vSAN 6.1 支持软件双活,也即延伸集群 (Stretched  Cluster)
  用 X+Y+Z 的形式表示延伸集群的主机情况,XYZ 分别代表 ABC 站点的主机数,A 和 B 都是数据站点,C 站点放置见证主机。当前情况下,vSAN 延伸集群可支持最小 1+1+1 个主机,最大 15+15+1 个主机。
  而两个数据中心站点之间的带宽,在 VMware 网站和博客里建议的是 10Gb/s,但实际上,只需要满足业务需求即可,这个需求就是:
  • Bandwidth(B) >  Write bandwidth(Wb) * Data Multiplier(md)*Resynchronization Multiplier(mr)
  其中,Data mutiplier 指数据倍数,包含了 VSAN 传输及其他相关操作的元数据开销。VMware 建议设为 1.4。Resynchronization 指重同步倍数,将可能的重同步的事件考虑在内。VMware 建议规划带宽的时候,在最大带宽基础之上,额外预留 25%,用于偶尔可能发生的重同步需求。也即,这个值建议为 1.25。举例来说:
  假设 VSAN 上工作负载为每秒 10000 个写操作,写 IO 大小为 4KB,这就意味着写带宽为 40MB/s,或者 320Mb/s。这样网络带宽要求为:
  • B = 40MB/s * 1.4 * 1.25 = 70MB/s 或者 560 Mb/s
  VSAN 延伸集群结合 vSphereReplication(VR)、SRM 可以实现自动化更高、成本较低的两地三中心的高级容灾。同城之间,利用VSAN延伸集群提供数据的同步复制,异地之间,利用 VR 提供数据的异步复制。
  vSAN 延伸集群结合 VR、SRM 实现两地三中心高级容灾
  VMware 建议 vSAN 延伸集群在二层上部署组播,这样比较简单。如果部署在三层,有 NSX(VMware 的软件定义网络)的支持,会如虎添翼,通过 NSX 实现跨站点的网络虚拟化,包括跨三层的二层网络延伸,全分布式网关,以及安全策略延伸,无需昂贵的私有的硬件交换机,即可实现 L2 Extension,如 OTV,VPLS,EVI 等。
  不过需要注意的是,vSAN 与 NSX 本身是相互独立的,没有相互依赖的关系。
   vSAN 延伸集群结合 NSX

专题