SDS(Server SAN)领域,特别商业产品,存在三种流派:
1、操作系统内核层实现,代表产品就是Microsoft Windows 2016的Storage Spaces Direct(S2D);
2、Hypervisor内核层实现,代表产品就是VMware vSAN;
3、用户态层实现,这样的产品很多,今天拿EMC的ScaleIO来做代表。
今天,打算拿这三个典型产品最新版本的对比,来看看不同的架构的不同产品的目前实现水平,以便大家选型时参考。
三种流派各有特点,都有自己侧重的市场策略。和三大手机操作系统类比,我觉得S2D就像微软的windows phone,虽然软件比较封闭,但硬件相对开放(支持windows 2016的服务器都可以用),除了微软,其他手机厂商也可以用;而vSAN比较像苹果,最封闭,只支持认证的硬件,而且主推一体机,因为这样体验就像iPhone一样好;而ScaleIO嘛,最为开放,更像Android,对硬件基本没有特别的要求,而且也开源了。
不过,vSAN和ScaleIO我前面介绍过很多,相信读者都非常熟悉了,但这个S2D,我以前基本没有介绍过,还需要预热一下。
S2D是windows 2016的新特性,是从windows 2012的storage spaces演变而来的,多了一个direct,就表示可以直接用服务器的磁盘,而不需要共享磁盘,这是现在所有SERVER SAN的主流形态。
部署方式要比vSAN灵活,支持超融合部署,也支持分离部署。
网络需要支持RDMA功能,最大支持16个节点。采用最新的文件系统ReFS v2,而不是NTFS。
支持SSD或者NVMe做Cache。
数据保护支持2副本或者3副本,也支持类似RAID 5/6的校验码方式,关键还可以混用。
这种灵活的数据保护方式,可以实现性能和容量的均衡。
ReFS是windows 2012引入的新一代文件系统,在windows 2016上进一步完善,未来要全面取代NTFS。S2D需要ReFS支持,ReFS有更丰富的元数据,容错能力更强,而且有实时的分层能力。
可以支持3层配置,相同的介质不同的数据保护方式也可以分成不同的层。
故障容忍方面,和其他SERVER SAN产品一样,支持磁盘,节点甚至机柜的故障下不间断运行。
部署最少需要2个节点,最大支持16个节点。
节点间采用SMB 3.0协议进行通信。如果是HCI部署,Hyper-V采用集群共享卷直接使用ReFS文件系统,如果是分离部署,其他的Windows服务器通过SMB 3.0访问存储资源。
好,初步了解了S2D,下面我们来看看这三个产品的对比。首先,我还是推荐whatmatrix网站的对比,比较详尽。
首先,我们来看一下该网站的总的评分情况。vSAN得分149,Scaleio得分122,而S2D得分是115。
vSAN在架构、数据可用性、数据服务和管理是方面都得分最高。
下面我们逐一展开看看具体的对比。
先看一下总体情况。我们看到,S2D才1.0版本,因此,得分比较低也正常,因为后两者都已经有5个版本以上的历史了。
下面看一下架构的对比。我们看到,由于S2D和vSAN都集成在内核中,因此,自动化程度更高。部署方式上,vSAN只支持超融合部署,而其他都支持2层部署。而且,我们看到三家都支持物理机访问,S2D采用SMB3协议,只能支持windows SQL server负载,而vSAN采用iSCSI协议,支持大多数的负载,包括oracle RAC,而ScaleIO通过私有协议(需要安装客户端)支持windows和Linux负载。他们都不对外提供通用文件服务,但可以依赖上层软件或者第三方软件实现。底层的数据布局,只有vSAN采用对象存储文件系统,而其他两个都是块池。扩展性上,ScaleIO支持1K个节点,而vSAN只有64,但S2D只有16个。大家都支持全闪存形态和混合形态,只有ScaleIO支持纯磁盘形态。
然后,我们来看看数据可用性。磁盘保护方面,S2D和vSAN都支持多副本或者RAID方式,而ScaleIO只支持2副本方式。S2D目前还不能提供快照支持,只能利用Hyper-V和Windows自己的快照机制。备份方面,大家都没有提供,都依赖上层的操作系统或者VM的备份能力。远程复制能力,S2D支持同步和异步,vSAN支持双活,而ScaleIO不支持远程复制(可以增加RecoverPoint来实现)。
我们再来看看数据服务的对比。重删和压缩,目前只有vSAN支持,但需要全闪存形态。QoS方面,大家都支持,但只有S2D可以设置最低阈值,即可以保障关键业务的性能(参见不是所有的QoS都可以确保关键业务的性能)。
最后我们看看管理性。大家都支持GUI,但是S2D有些功能还需要命令行来做。S2D和vSAN由于集成进内核里,因此支持VM策略部署,而ScaleIO由于还不支持vVol特性,因此还无法支持策略部署。
我们看到,这三种形态的SDS,功能都比较完善,都可以满足一般客户的需求。但是,如果你想要更多的自动化,集成内核的形态会更好一些,如果你想要更开放,更多的扩展性,则用户态的SDS是一个比较好的选择。
Microsoft S2D虽然在总体评价得分最低,但是它有很多优点:
1、License费用低。因为包含在windows 2016数据中心版本里,你可以免费使用,成本更低。
2、硬件选择广泛。几乎支持所有的硬件,只要windows 2016支持。你想想,现在市场上的服务器和各种配件,肯定都会想办法兼容windows的,否则卖不动啊。因此,S2D的硬件兼容性其实是最好的。
3、部署灵活。支持两种部署方式,支持超融合和分离部署,而且集成进hypervisor和OS的内核,可以利用windows和hyper-v的很多功能。
因此,选择的时候,不能看得分,还需要看你的应用场景。
至于未来,我觉得S2D前景也非常乐观。未来一定是一个混合云的时代,而SDS都需要具备接入公有云的能力。现在虽然AWS份额最高,但Azure增速却高得吓人。S2D和Azure的无缝连接,随着Azure Stack的流行,这个紧耦合的协作优势可能会胜过AWS和VMware的松耦合优势。
也就是,以后S2D完整集成进Hyper-V,Windows,Azure,甚至SQL Server,Exchange负载等,微软是唯一可以提供端到端软件堆栈的混合云厂商,在自动化和协作上必然具有其他厂商无法逾越的优势。
目前最大的问题就是S2D才刚刚是1.0版本,从经验来看,要做得比较成熟,一般需要迭代三个版本以上,但S2D也必须跟OS一块发布,也就是可能要到windows 2022(假设3年一个版本)才会相对成熟起来,时间窗有点长。不过,这都不是问题,单独发布S2D也不是不可以,就看微软对S2D的态度了。
联系客服