查看原文
其他

微软WS2016原生分布式存储:还在追赶VSAN?

2016-06-22 唐僧 企业存储技术
点击上方“企业存储技术”可以订阅哦

 

随着Windows Server 2016(以下简称:WS2016)正式发布的日期临近,微软已经开始了一些技术方面的宣传。本次在WS2012(R2)之后再次迎来大版本,Storage Spaces存储功能上有些亮点。正好结合我之前学习的关于VSAN和传统企业存储方面有限的知识,跟大家简单聊聊。


本文主要议题如下:

1、  Windows Server 2016的软件定义存储&超融合

2、  延伸集群是同步复制还是双活?

3、  重复数据删除增强:仍基于文件系统

4、  分层存储、RDMA网卡要求和数据保护机制


个人感觉,在云计算/虚拟化的时代,微软服务器操作系统处于两面受敌的状况,一方面企业级市场在互联网行业的影响下越来越多地接受开源Linux;另一方面Hyper-V虚拟机平台还要面对强大的对手VMware。不过这也不完全是坏事,逆水行舟不进则退。

 

为什么本文使用了“追赶VSAN”的标题呢?因为在4年前我整理过一篇内容《Hyper-V 3.0新增存储特性:挑战vSphere》,有同行朋友说换成追赶这个词比挑战更合适,那么到今天这种状况有没有改变呢?

 


如上图,WS2016加入了Storage Spaces Direct(简称S2D)和Storage Replica(简称SR)存储复制这两个新功能。另外增强集群(站点感知的集群、滚动OS更新)功能,让我感觉是在底层提供了一个“双活”存储?其具体实现程度我们会在下文中介绍。

 

根据微软的License政策,只有Datacenter版本Server 2016才提供Storage Spaces DirectStorage Replica(应该是免费),Standard及以下的版本没有这些高级存储特性。

 

WindowsServer 2016的软件定义存储&超融合

 


上面左边的Scale out文件服务器集群节点在WS2012Storage Spaces中就支持,由于后端需要共享连接的SAS JBOD其扩展规模受限,通常2节点HA的配置最常见。另外,它还支持双校验盘保护(相当于软RAID 6)。

 

记得我在《另类分布式存储:ZFS+SAS交换已经有人在搞?》一文中曾经介绍过利用SAS交换机来增强扩展能力的方案。不过实际上由于SAS Switch在这种用法中还不够成熟,所以没有看到微软和NexentaZFS)对此类技术正式宣传。

 

右边的Storage Spaces Direct就是WS2016新加入的Shared-nothing、全分布式存储。每个集群节点只需要DAS本地存储连接,就可以简单扩展并组成一个存储池。目前能够支持SATA硬盘、SSDNVMe SSD,当然SAS驱动器也是可以的,只是在这里用不到双端口功能。

 

很显然,VMware VSAN属于右边这一类,关于数据保护方式、SSD/HDD混合存储等方面的对比,我会在后面陆续讨论。

 


Storage Spaces Direct的部署选择——超融合、融合(分解,这里指计算/存储)的英文和示意图我想大家都不陌生了。这里只想说一个微软的特点,存储网络Fabric协议为SMB3,这样基本上就限制在WindowsHyper-V应用环境了。

 

相比之下,VSAN的网络连接也是私有协议,即无论是否超融合部署,只能跑VMware自己的ESXi虚拟机。好在vSphere的市场占有率大,这也是VMware一直宣传的对VSAN推广有利之处。

 


如上图,非超融合的部署方式就是Scale-Out文件服务器,或可称为集群NAS了。文件系统方面,CSVFS(集群共享卷)上的ReFS弹性文件系统已经替代NTFS成为主要选择。

 

相比之下,VSAN被人们看作是VMFS的一种扩展,官方将其称为“对象存储”是针对上面的虚拟机磁盘文件而言。而我更习惯将VSAN看成块设备,架构简单是它的一大特点,也包括层次上的简单。

 

延伸集群是同步复制还是双活?

 


根据这里的资料,微软Storage QoS的策略针对每VHDVM、服务或者租户级别,可定义最小和最大IOPS

 

我在今年2月撰写的《全闪存专享:VSAN 6.2重复数据删除、纠删码浅析》一文中也提到了QoS,传统存储在这方面也不甘落后,比如戴尔最近推出的SCOS 7阵列软件版本,也加入了对QoS的支持。大家都提到了可避免“吵闹的邻居(noise neighbour)”问题。

 


Stretch Cluster(延伸集群)这个词VSAN也已经提出了有一段时间。如上图示例,在ManhattanJersey City的两个数据中心之间隔着一条Hudson River,从节点12向节点34做基于SMB3的同步复制。再加上自动切换的描述,我理解这个可能还不是真正的双活?记得Veritas资深架构师黄海峰在《ServerSAN的数据保护和容灾》中所讲,VSANStretched Cluster是真双活,而Nutanix在这方面要差一点。

 


延伸阅读:《存储极客:大话“双十一”与经济适用型双活

 


在网络链路上的要求,微软与其他厂商都差不多。尽管理论上光速在5ms之内能跑1500km往返,但由于光纤介质、交换机、路由器、防火墙这些,再加上财力限制等,最终结果是绝大多数用户的同步复制都选择了30-50km

 

关于日志卷,推荐放在闪存上,可以理解为复制的缓冲区。当线路出现中断或者抖动时,较大的log允许复制的快速恢复。这还让我想起了戴尔SCCompellent)的Semi-sync replication

 


如上图,作为企业级双控阵列,Dell SC除了传统的同步和异步复制之外,还支持Semi-sync(半同步,也可叫实时)复制。该功能应该不需要快照来触发,每一个写入IO提交到源端存储即可ack返回,同时会镜像每一个写入IO到目标端存储。在其他品牌上我也看到过类似的技术,Dell SC能够支持同步/异步复制的在线切换应该也是有赖于此。

 

重复数据删除增强:仍基于文件系统

 


再来看看重复数据删除。在WS2012 R2版本中,支持的Dedupe卷不超过8-10TB,针对每个卷都是单任务,也就是限制单CPUCore)和单一I/O队列,根据微软资料该版本的处理速度为50MB/s。重删的原理是将文件分割成大小可以改变 (32-128 KB) 的小区块、确定重复的区块。

 

可变长度重复数据删除的性能开销通常要大一些,多用于备份场景。与之相比,VSAN6.2Dell SCOS 7.0中的重删/压缩都是4KB块级定长,适用于主存储和全闪存配置

 


如上图,WS2016会将每个卷上的重复数据删除处理改为多任务、I/O队列并发,性能估计会比之前有提高。而Dell SCOS 7.0从开始加入重删就是支持多核/多线程的。

 


在这个界面中我们看出,Windows重复数据删除是后处理方式,有选项定义超过多少天(不活跃)的文件做去重;并且可以排除指定的文件类型(扩展名),因此该功能在WS2012中还要依赖于NTFS文件系统

 

我以前曾经写过:“VSAN6.2中的数据缩减特性,和戴尔SC阵列的增强型压缩有些类似,都是通过与自动分层存储(Tier/缓存分层(Cache)机制相结合,其重删/压缩动作成为定期执行的后台任务,从而有效避免了数据写入高性能分层时的性能影响。

 

关于全闪存阵列的重复数据删除这个话题后续有机会再单独讨论。

 

分层存储、RDMA网卡要求和数据保护机制

 

最后我们再来补充几点微软关于新版本Storage Spaces的技术细节。

 


首先是混合存储池的处理机制。在微软WS2012Storage Spaces架构中,SSD+HDD用于冷热数据的分层,同时SSD还划分少量空间兼做Write-Back Caching(写回式缓存),这种设计与VSAN中高速SSD兼做读/写缓存的机制不太一样,与DellSC的自动分层存储永远写入最快分层的机制也有所不同。

 

传统的自动分层存储,其可用容量为不同分层之和(利用率比SSD缓存要高),但是对短时间内出现的“数据热点”响应要差一些Dell SC的分层技术属于“特别”一些的。

 

扩展阅读:《存储极客|自动分层存储PK. SSD缓存

 

而新的Storage Spaces Direct支持下列3种硬盘/SSD配置方式:

 

1.      NVMe+ SASSATA SSD

2.      NVMe+ SASSATA HDD

3.      SASSATA SSD +SASSATA HDD

 

既然为NVMe考虑了,听说有的用户测试性能还不错。单看组成形式和VSAN比较接近,具体实现从下图中或许能够先了解一点。

 


如上图,SSD可能还是兼顾从HDD中定期移动来的“热数据”,以及写“日志”(Write-Back Cache)。

 

据了解Storage Spaces Direct对网卡的要求是:“每台集群节点,最少应配置 1 Port 10GbE 网卡,并且必须支持 RDMA 特色功能(RoCEiWARP,目前支持的网卡厂商有MellanoxCX3-Pro)、ChelsioT5)、Avago/EmulexSkyhawk...等。”

 

RDMA可以保证较好的性能,但也对限制了端到端硬件的选择范围VSANScaleIOCeph等都没有这个限制,用普通的万兆就可以。不知OSRDMA这两点会不会影响Storage Spaces Direct的应用普及?

 


目前我还没看到微软讲Storage Spaces Direct的数据保护机制,从上图来看镜像——至少2副本是肯定支持的

 

至于VSAN,应该是一开始就支持1-4个副本6.2版本有加入了容量利用率更高的纠删码(只针对全闪存配置,我以前解释过这样设计的原因)。

 

还有集群节点数支持,目前的预览版(Windows Server 2016 TP4)的Storage SpacesDirect支持4-16个节点。在TP2版本时最多支持12 台集群节点。

 

VSAN单集群的扩展能力已经达到了64节点,ScaleIOCeph理论支持的数量更多,实际应用中几十个节点的效率还是不错的。

 

更多具体技术规格,请大家以WS2016正式版本发布的信息为准。

 


:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流技术,可以加我的QQ/微信:490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)

 

欢迎转发链接分享,请在本公众号发布2天后,才能转载本文。尊重知识,请必须全文转载,并包括本行及如下二维码。

 

感谢您的阅读和支持!《企业存储技术》微信公众号:huangliang_storage


长按二维码可直接识别关注


点击下方“阅读原文”,查看更多历史文章↓↓↓

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存