VSAN 6.5详解:传统存储特性附体,未来野心更大

本文内容非商业用途可无需授权转载,请务必注明作者及本微信公众号、微博ID:唐僧_huangliang,以便更好地与读者互动。

VMware VSAN 6.5已经正式发布,像iSCSI Access、2-Node Direct Connect、512e存储扇区支持等新特性也出现在新闻和最新版的datasheet里,而国内我暂时还没有看到详细一些的技术评论。正好赶上这两天北京召开一年一度的vFourm 2016大会,现场已经有VSAN6.5的demo,是时候写点东西了。

这里面中文如有翻译不准确的见谅

早在2012年的vFourm期间,我就撰写过《_VMware__的存储野心(__上)__:软件定义、分布式DAS__支持_》、《_VMware__的存储野心(__下)__:虚拟卷和闪存缓存_》,当时还没有公布VSAN的正式名称,随后的2013年才发布。

本文标题里用了“详解”,只能算是相对而言吧。毕竟笔者只是看到公开的资料,尚未亲自动手操作,不敢谈深入。

双节点直连:VSAN不是第一个想省掉交换机

大家应该知道,VSAN之前的版本已经发布过双节点方案,针对小型环境主要是分支机构。简单说就是2副本高可用+外部仲裁。本次的双节点直连原理上很相似,变化在于省去了2个节点之间的交换机,一般来说就是2条万兆直连线。此外有个独立的外部witness(见证/仲裁)VM,可以部署在远程站点,并且应该可以是千兆或者更低的带宽。

为了保证VSAN集群的数据流量与vMotion等管理流量尽量不冲突,VMware建议对二者的网络主备(Active/Standby)按照上图中所示来设置。

记得去年有朋友咨询我VSAN、Ceph等分布式存储的成本,与传统双控阵列对比的情况。当时我建议他不要忽略分布式存储对网络成本的增加。正常情况下每节点2个万兆是免不了的,也会占据交换机对应的端口。

其实对于传统双控存储来说,也是一个2节点集群,之间也有网络心跳,但好处是后端磁盘/SSD驱动器是共享的(目前主要是双端口SAS)。在一个机箱里定制硬件可以用PCIe来做缓存镜像,而且有共享磁盘就可以做仲裁而避免脑裂。

相比之下,分布式存储也就算2节点能省掉交换机了,副本还是要走网络写入,所以网卡省不掉吧。数据中心内部,基本上不会有像支付宝故障被挖断光纤那样,2条直连线同时断的可能性。但还有一点,就是双万兆网口是否来自同一块网卡(或者板载的同一颗控制芯片)?这个单点也可能会造成无法判断是否脑裂,所以Shared Nothing比较靠谱的还是外部仲裁吧。

就在前几天,刘爱贵博士创建的大道云行发表过一篇《_TaoCloud SSAN__高可用双机技术方案_》,讲了2节点ServerSAN实现的一些技术细节。

其实在本次VSAN宣布双节点直连方案之前,国内的分布式存储厂商达沃时代就另辟蹊径提出过一个三节点直连的“小金刚”方案。如上图,其目的也是为了节省交换机的成本,但我觉得不能说完全没有代价。比如每2个节点之间只有一条万兆连接,从技术上讲它们之间出现网络中断的概率会增加一些,有可能出现A-B节点断开但A-C仍连接的情况。当然雷迎春博士和他的同事们比我专业,肯定早考虑过这一点怎么处理(我猜测可能还是会踢掉一个节点)。

“迟来”的iSCSI块存储

在去年我就听说过VSAN将要添加支持iSCSI这个特性。与其他通用分布式存储相比,VSAN与ESXi结合紧密的这个优点,也造就了之前不能应用于vSphere集群之外的限制。

VSAN 6.5对iSCSI的支持,仍然保持了使用简单的特点,相比之前的VSAN datastore,大致就是增加了iSCSI Target、Initiator、LUN这些传统存储需要操作的环节。上图中写每集群最多提供128个Target,每个Target最大支持256个LUN,两个数字不可以直接相乘哦:)

还是这张英文的图更清晰。我们看到外部主机访问的iSCSI LUN,就是位于VSAN Datastore上特定的Object对象。为此VMware还特别强调支持“块存储”了,其实以前听人说VSAN是对象存储时我一直觉得好笑,因为那些所谓的对象文件对虚拟机来说不是都作为块设备来访问吗?

上图中还提到一些限制,比如每集群最大1024个LUN、128个Target,每节点最大128个会话连接。最大LUN大小的62TB限制应该与传统VSAN对象是一致的。

加入iSCSI,也使VSAN与传统存储具有更多一点的共性和竞争,不知大家是否看过我写的《存储极客:为什么说VSAN__与Dell SC__渐行渐近?》一文。

支持异构,PK微软S2D等分布式存储

本次VMware特地说明VSAN iSCSI支持微软MSCS集群,我还看到有外媒这样写“_VSAN 6.5 can now exportiSCSI targets, but VMware recommends using these for specific use cases, suchas MSCS, and does not recommend it as a replacement for a standalone iSCSI server_…”

也就是说暂时推荐特定用例,例如MSCS,而不推荐替代单独的iSCSI服务器(阵列)。我今天向VMware工程师确认过,VSAN 6.5的iSCSI LUN就是标准的共享SCSI块设备,估计是还未经过大范围的详细测试。

而这位工程师朋友也表示,未来VSAN还要进一步开放,支持各种外部虚拟化Hypervisor。毕竟MSCS集群有些是跑在Hyper-V环境,有国外网站已经提到6.5对这方面的支持。这让我想起微软在Windows Server 2016中加入的Storage Spaces Direct(S2D)分布式存储支持。

上图引用自《微软WS2016__原生分布式存储:还在追赶VSAN__?

上图中右边的架构就是微软S2D,虽说比VSAN第一个版本晚了几年,但是据了解S2D在WS 2016 DataCenter版上免费提供。主要的一点限制就是,微软Storage Spaces仍然主要支持Windows/Hyper-V环境,并且S2D应该是限于SMB 3.0协议。

所以从这一点上来看,VSAN 6.5的iSCSI异构支持就比较有意义了。

物理+虚拟机环境的共享存储集群

上图是vForum大会现场播放的VSAN 6.5 iSCSI配置视频。

刚听说VSAN iSCSI支持正式发布时,我曾经想过LUN是否可以同时给集群中的VMware虚拟机访问?其实说来也简单,就是VM上也对等地用iSCSI连接LUN好了。此时相当于连接了RDM,会对虚拟机vMotion等有一些限制,我为什么会想起这种用法呢?

回想起可能是第一次参加vForum的时候(记不清具体哪一年了),VMware曾讲过虚拟机的一种用法,就是主备集群。一种是2台物理机上各运行2个虚机,然后分别跑两套双机在里面互为备份。还有一种,就是一个ESXi上装多个虚机,分别作为多台物理机的备机。因为从理论上来说,这几台物理机不会同时故障。

除此之外,为了节点级别的高可用,VSAN iSCSI的多路径也是很重要的。据了解正式版本都会有这些支持。

512e扇区:等待vSphere 6.5、7.0将支持4Kn

最后再来谈谈VSAN 6.5对512e扇区硬盘/SSD驱动器的支持。

相关知识背景参见拙作《存储极客:4KB__扇区硬盘来了,RAID__、VMware__兼容不?》,里面有比较详细的讨论。简单说512e就是4KB物理扇区的硬盘,模拟出8个512byte逻辑扇区以兼容传统软件。

如果用原生4K__扇区硬盘,ESXi 6.0__会直接拒绝安装;512e__其实可以凑合用,但是性能有影响。上面就是扇区对齐问题的示意图。

当时我是这样写,之前的“_ESXi 6.0__和VSAN__版本还是无法感知512e__和4Kn__,其中512e__硬盘由于潜在性能问题而不被VMware__官方支持。_”

进一步查询VMware KB可以发现,VSAN从6.0就开始优化了4K对齐I/O操作,但需要等待vSphere 6.5发布才能解决这个问题(我理解是因为VMFS的版本)。

后续的就是4Kn的支持了,听说下一个大版本vSphere 7会加入的。

最后再给大家推荐几篇我以前写的东西:

另类VSAN__选型、下一代3DXPoint__分层架构》,里面提到了ESXi6.5的存储性能提升和VSAN Roadmap。

全闪存专享:VSAN6.2__重复数据删除、纠删码浅析

vForum__随笔:全闪存VSAN__和Nimble CASL__的创新》,去年大会讲的VSAN6.0等。

推荐阅读

本文转载自企业存储技术微信公众号,[原文链接点这里]。
注:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。 进一步交流技术可以加我的微信/QQ:490834312。
尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage,也欢迎关注企业存储技术极术专栏,定期更新。
42.jpg
3 阅读 39
推荐阅读
0 条评论
关注数
18
内容数
48
关注存储、服务器、图形工作站、AI硬件等方面技术。WeChat:490834312
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
Arm中国学堂公众号
关注Arm中国学堂
实时获取免费 Arm 教学资源信息
Arm中国招聘公众号
关注Arm中国招聘
实时获取 Arm 中国职位信息