随着移动互联网的兴起,以及企业用户迈入到云计算时代,软件定义存储(Software Defined Storage ,SDS)已经成为了用户针对数据存储的重要选择。不仅如此,SDS在业界的一直热度不减。
尽管如此,大家对于SDS还是存在一些概念上的小疑问,阿明在看到SNIA对于软件定义存储的管理方式明确道:“对来自服务器本地的闪存盘、机械盘,存储阵列、JBOD等存储资源,通过存储管理协议(如SMI-S等),进行特性描述和虚拟化,构建出存储资源池。”
但是在软件定义存储领域,最近又在发生什么Big News呢?
有诗云:
宝剑出鞘光芒照,
剑气横溢云闪耀。
谁与争锋豪情志,
胜败输赢尚且早。
又作:
宝剑出,光芒照。
神作牛,剑气耀。
万丈豪情,云上争锋,早早早。
基于对SDS的充分理解和技术积累,以及用户对当下SDS最为热情的需求特点,微软正式拔出了一个加强版的软件定义存储的利剑,人称S2D。
此乃何物也?
此乃微软大帝深藏不露的绝密武器也,当下,微软大帝已经憋足了劲头——“欲与天公试比高”。
微软大帝的宝剑不拔则已,一拔必光芒万丈。看剑!
要想深入了解这件大规模杀伤性武器的秘密,需要首先看看最近微软最新发布的Windows Server 2016 Technical Preview(Windows Server 2016TP), Storage Space Direct就是其中一个重要特性,业内人士亲切称之为S2D。
S2D并非新鲜事物,可能熟悉微软系统的朋友都知道,在这之前,Windows 8和Windows Server 2012都可以提供Storage Spaces功能。机房360网站编译的《Windows Server 2016新功能展望一览》一文说“S2D是类似RAID的功能,但却是在软件中。”
Windows Server 2016 TP的前世
对Windows Server 2016 Technical Preview的分析之前,大家需要首先了解一下Windows Server 2016 Technical Preview的“前世”:业界非常著名的服务器操作系统Windows Server 2012 R2。
三年磨一剑,
霜刃才将试。
今日把示君,
谁用谁心知?
微软大帝不愧为一个剑客高手,就在三年前,2013年11月左右正式发布的Windows Server 2012 R2已经具备了服务器操作系统利剑的原型。
“Windows Server 2012 R2增加了基于相同的存储空间和微软聚类技术建立一个高可用的存储集群的功能。对于这种高可用性集群的一大要求是能够通过一个外部JBOD阵列访问所有存储节点。其中JBOD阵列包含SAS驱动器的多启动支持。”
另外,还具备两项重要的企业级功能,一是数据保护的迁移功能,微软不仅提升了WS2012 R2中的Hyper-V动态迁移功能,同时也缓解了数据迁移过程中带来的系统压力,简化过程提升了数据保护的效率。二是重复数据删除功能的灵活实现。
不过,值得一提的是在Windows Server 2012 R2中还有一个重要的功能,针对采用VHDX文件格式, Windows Server 2012 R2结合Hyper-V实现了虚拟硬盘共享,同时结合Hyper-V 2012 R2实现存储集群。在Windows Server 2012 R2中, 可以使用单个VHDX文件作为构建故障转移集群所需的共享存储,而不是为集群中的虚拟机创建多个虚拟硬盘。管理员可以利用虚拟硬盘,实现从2TB增加到64TB的大小调整,同时还对文件格式数据做了很好优化。
因而,Windows Server 2012 R2在存储管理方面的功能还是非常丰富的:
改进了集群中的共享卷,Storage Spaces优化了更适合企业级用户的特点,Windows创建 1 GB的回写式高速缓存功能,在每次试用分层存储的VHD时就自动完成。
以及对于存储功能的自动重建,也是便于用户对于存储管理。
Windows Server 2012 R2中Hyper-V不仅集成了Windows Azure工具包,而且能够自动激活虚拟机 。
Windows Server 2016 TP的今生
Windows Server 2016 最新预览版不仅包括了之前版本的功能优势,并且在在之前服务器操作系统版本上,有了更新的升级,特别是针对存储方面的优化有了新的进展。
或许,微软也是面临整个企业级IT市场的激烈下,不得不采取的激进策略。毕竟企业级用户对于存储的需求已经有了新的挑战,私有云与公有云之间的数据存储,以及用户自身数据存储定位问题,都带来了新的契机。
“然而,在Windows Server 2016技术预览版中,简化了 SDS 系统的部署与管理。存储空间的功能更进了一步,能够在每个节点上只使用直接连接的磁盘建立一个高度可用的存储系统。弹性跨节点使用网络和SMB3协议。S2D解锁了新类别的磁盘设备,也充分利用了类似NVMe固态硬盘新硬件的优势,同时还支持基于SATA的磁盘设备。不过,有个先决条件要求,必须最少采取四个节点用来创建Storage Spaces Direct的集群。之前的微软服务器操作系统没有这项功能,无法构建Clustered Storage Spaces和共享磁盘。换句话说,就是之前版本的软件,做不了集群共享卷。”
国外博客作者将Storage Spaces定义为软件定义的混合集群存储,这应该是企业级用户当前环境下对于混合集群存储的一个比较有意义的选择了吧。同时,Storage Spaces也结合了微软分布式文件系统,那么这就顺便带出了比较有意思的话题,软件定义的分布式架构。
S2D基本特性
耀眼的总会比金子更有价值
据微软Windows Server官方资料显示,基于一个节点的S2D构建方式中,我们可以看到Failover cluster故障转移功能 。这个功能如上文所提到的,在Windows Server 2012 R2上就已经有了。
S2D可以管理到单盘,显然是实现了物理层面的数据保护。具备Simple精简功能、Mirror镜像功能、Parity奇偶校验位功能等,支持三重镜像和Dual Parity、纠删码等保护功能。“Dual Parity允许磁盘阵列群组可以在同一个时间发生两个硬盘故障,避免某颗硬盘故障就使整个SATA硬盘系统无法作用。”
如上图FIGURE2,这是S2D的JBOD构建方式,四个节点构建一个集群。每个节点由一台服务器通过SAS线连接也可以采用SAS交换机连接到JBOD扩展柜。据资料显示,如果JBOD增加到4个,可以将服务器到每个JBOD机箱之间的SAS连接减少到1条以降低复杂度。
S2D直接利用 SMB3 为所有节点进行连接通信,包括SMB Direct和SMB Multichannel,以及低延迟高吞吐量的存储。
从上图FIGURE3的S2D堆栈架构来看,在网络硬件方面,Storage Spaces直接依赖于网络主机之间的通信,但对于生产部署时,必须要有具备远程直接内存存取(RDMA)功能的NIC(或一对 NIC端口)。
在存储硬件方面,包含至少有四个存储节点与本地存储的存储系统。每个存储节点得有internal disks内置盘,或在采用SAS 连接的外部JBOD 存储模块。磁盘设备可以是 SATA 盘、 NVMe 盘或 SAS 盘。
在软件存储总线方面,Software Storage Bus是跨越所有存储节点和汇集了本地存储区中每个节点,在Storage Spaces上面所有磁盘都可见。
存储池跨越了从本地节点到所有节点。Storage Spaces (又称虚拟磁盘) ,它在不同的存储节点上,提供磁盘或节点故障中的恢复数据的副本存储。
微软已经通过在Windows Server 2016 TP2中使弹性文件系统(ReFS)成为Hyper-V工作负载的首选文件系统,大大提升了ReFS的实用性和重要性。
实际上, ReFS也是从Windows 8和Windows Server 2012开始推出的重要功能,“从其设计之初,就比其前任版本更具弹性,ReFS为NTFS在磁盘格式化方面所带来了许多优势。”
企业级用户如果想借助S2D来配置HA存储,可以通过每个集群里有效的磁盘和连接到服务器的JBOD单元来构建。不仅可以减少创建SAS磁盘阵列所带来的费用和复杂度,而且可以使用非易失存储设备来提高存储性能,使用SATA磁盘来实现价格优惠的大容量存储。因而S2D 为HA级别的存储和SDS应用提供了可能性。
并且,服务器可以通过连续可用的SMB3文件共享协议访问集群存储池和Storage Spaces的虚拟盘,以及集群共享卷等。
另外这个是一个超融合堆栈架构,用户可以使用 PowerShell直接来部署和管理S2D。但不能使用Server Manager 或Failover Cluster Manager来直接管理S2D。
软件定义的分布式架构
潇洒自若,闲庭信步
不过,业内专业人士在与阿明讨论中认为,分布式存储必须具备三个关键要素,并且缺一不可,那么才能真正提供完善的软件定义的分布式架构。
第一必须有文件系统,微软对HDFS分布式文件系统有着很好的积累。ReFS弹性文件系统也有非常好的天然构建,ReFS针对超大规模应用进行优化,使用普遍适用的可扩展结构,支持超大规模的卷、文件和目录,跨计算机共享存储池,以提供额外的容错性和负载平衡。客户端只要使用任何操作系统中可访问现有 NTFS 卷的文件级访问的 API,就可以访问以 ReFS 存储的数据。ReFS现在成为微软S2D的主存文件系统。
第二,微软善于通过操作系统对硬件管理,贴近存储发挥硬件性能;
第三要具备针对存储硬件的良好兼容性,微软影响力和行业伙伴合作非常广泛 。
因而分布式存储架构需要具备硬件管理能力、文件系统、云操作系统的支持功能,以及具备对网络资源的数据传送能力,比如面向存储和网络的协议SMB3.0也就能发挥出很好的优势。微软SMB3.0面向存储的网络协议,比传统存储协议更有优势。SMB 3.0,Server Message Block,即CIFS文件共享协议,包括的高级特性有多通道、透明切换和利用RDMA传输的Direct,以及Scale-Out文件服务。业内预测:SMB3.0将开启存储网络协议新时代。
微软下一步
猜想联翩,不如直接试剑
软件定义存储对于微软来说,不是一门新学问,而是一门新生意。有了这样更为强大的特性,微软后面的图谋应该不仅仅是提供一个软件模块了吧。按照微软现阶段的发展节奏,不继续进一步深入一下,那就实在可惜了!
阿明估计微软下一步应该有些大动作:
一是,借助微软自身强大的WINDOWS生态系统,最大范伟扩展合作伙伴对于Windows Server 2016的Storage Spaces Direct的理解与应用推广,将S2D无缝接入到微软的强大体系中;
二是,借助软件定义存储的策略和技术积累,Storage Spaces Direct既然都出台了,那么微软下一步为何不可以推出超融合的参考架构呢?当然微软自身不可能做具体的超融合产品,完全有理由借助Intel、HPE、戴尔、浪潮、联想、曙光等等厂商,强力出击超融合领域,在计算、存储、网络同时有所优化与融合的方案已经成为企业级用户新数据中心部署的重要参考了。时不我待,奋力直追,机不可失,时不再来。
因而,可以猜测出,微软必然将和合作伙伴提出一些参考架构,并且推出一些最佳配置和建议配置的解决方案。
三是,微软在针对Windows Server 2016的S2D软件技术上,可以和微软Azure 对接。同时阿明的朋友,业内大拿Eric_sun前些天在自己的朋友圈也提到:“玩云还是有些门槛的,只有极少人拥有几十万台服务器的体量,只有极少人具备几十个数据中心运维能力的,只有极少人能完整提供IaaS、PaaS和SaaS,只有极少人能推出真正的混合云解决方案。”他认为,“大概只有微软全面具备上述所有能力……”这也说明了,微软处处将围绕自身在云领域的各种优势,势必会将S2D技术与Azure进行深入组合,提供给用户更全面的云存储与自有分布式存储架构的整体方案。
有词云:
万里拔云见日,梦回千山奇幻 。
惊雷遍地。
十万余能人高士,四十年大名声。
能多少美金。
富能敌国裸捐,穷则悟道思变。
了却微帝云中事,赢得生前身后名。
可叹王者心!
为此,微软要在软件定义存储上走得更远更彻底的话,这些事情应该不得不做,要知道存储虚拟化、Server SAN、超融合架构(HCI)都属于SDS的范畴,相信微软也会逐渐完善所有SDS相关的形态和技术。
不过这里不得不指出一个核心点:软件定义存储,实际上,要求存储软件比如S2D对存储硬件享有充分完善的管理,其中软件兼容硬件的驱动也需要优化,并非所有的软件定义存储的软件都可以适应所有的存储硬件。
业界对于SDS的讨论实在太多,可能许多朋友都误认为只要谈软件定义存储,那就意味着存储软件可以对接所有存储硬件。然而,很值得考虑的一点是:针对存储管理软件操作系统的硬件驱动是一个必不可少的桥梁,这座桥如果搭建得好,并能逐步完善,势必会促进SDS架构方案在企业级用户具体应用中的效果。
可见,想要成为一个王者,必须也得拥有他人少有的细节。硬件驱动方面,微软应该是业界做得最为丰富的,不管你承认不承认,毕竟WINDOWS的影响力就摆在那里。
因而,S2D在windows领域具有天然契合的基因,对Hyper-V也天然适应,表明完全可以构建超融合架构的新一代云。毕竟微软具备了SDS领域在操作系统、软硬件驱动与兼容性、方案组合、参考架构多样化等等方面的优势,只是下一步得看微软到底如何作为了?是继续隔岸观火,喊个吆喝,还是真的宝剑出鞘,大试锋芒?
另外,据可靠消息透露,现有的 Windows Server 2016 Technical Preview4很快就会有新版本出来了,未来Windows Server 2016 Technical Preview5的面市是否会带来针对S2D的新特性,未免不可能呀?如果现在只是一个对SDS的初探,那么未来好戏可能会连台上演?最终能否为用户带来更多选择、更大潜力与更广阔想象空间?我们拭目以待。
原文发布时间为:2016年03月23日
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。