EMC上一代存储双活方案是通过vPlex网关产品实现,具备异构其他厂商存储的能力,将各厂商存储虚拟化为统一的存储池,为上层服务器提供存储资源。从2010年vPlex发布以来其的硬件已经更新了VS1、VS2和VS6三代。2016年推出的VS6硬件引擎间通过40Gb IB互联(替代FC),在性能上相比VS2硬件提升了2倍、时延下降1/3,并支持更多卷数量。vPlex6.0 (VS6硬件) 也升级OS至GeoSynchrony6.0针对闪存做了优化。
其双活特性就是通过vPlex Metro的Distributed Device(分布式镜像卷)功能实现,并提供跨站点的双活应用。vPlex Metro由两套vPlex集群构成,每个站点的vPlex设备都有自己专属的本地存储阵列。通过创建分布式镜像卷为跨设备的镜像卷,可提供双活访问。两个站点的vPlex集群各有一个卷,两个卷的ID一样。
在组网上,主机同时连接到两站点的vPlex,两站点的vPlex之间通过FC或10Ge连接,后端阵列只与本地的vPlex连接;vPlex之间和vPlex Witness之间均需要IP网络连接。vPlex Management Console 是 VPLEX 机柜中的 1U 服务器。此服务器向vPlex提供GUI管理界面,在双引擎和四引擎配置中,此服务器由UPS 提供备用电源。
接下来,看看vPlex如何接管外部设备的,外部(包含异构存储)存储把LUN映射给vPlex后,在vPlex上呈现为Storage vol,基于Storage Vol在生产Extents,它可以是Storage Vol的部分或全部(每个Storage Vol最多128个),Extents不能跨Storage Vol,再以Raid的形式组织Extents成Dev(Raid支持0,1和拼接);没有被其他Dev组织的Dev称为Top Level Device,在Top Level Device上创建Virtual volumes提供给主机,并支持在线扩展。最后由主机接口和Virtual Volume组成Storage Views,可以直接映射给主机访问。
从vPlex5.0(VS2硬件)开始,在vPlex产品系列vPlex Local和vPlex Metro中添加了vPlex Geo,从而扩展并增强了vPlex 4.0(VS1硬件)虚拟存储的功能。vPlex Geo 扩展了vPlex Access Anywhere 存储的覆盖范围,能通过异步通信支持多达 50 ms 的往返时间(RTT)站点间延迟。vPlex通过 Access Anywhere支持长距离共享、访问和重新定位数据拷贝。
vPlex系统可以包含一个或两个vPlex 群集。vPlex Local系统包含一个群集,vPlex Metro和vPlex Geo包含两个群集系统组成。这些群集可提供vPlex Access Anywhere功能。每个vPlex 群集均包含vPlex Management Console,一个、两个、四个或八个引擎,每个引擎包含一个备用电源。
vPlex Local用于使用单个vPlex 群集管理数据中心内的数据移动和访问。支持单、双或四配置(分别包含一个、两个或四个引擎),本地vPlex组成local集群(4引擎8控制器),两站点local集群再组成Metro远程集群(最大8引擎,16控制器),16节点AA集群。
vPlex Metro使用两个vPlex群集且包括独特功能,支持使用直写缓存方式在两个群集之间镜像数据。vPlex Metro部署中的群集不要求有相同数量的引擎。例如,vPlex Metro系统可能由一个带两个引擎的群集和另一个带四个引擎的群集组成。
vPlex Geo用于两个异步远距离节点之间使用 Access Anywhere进行访问。vPlex Geo分布式卷使用回写缓存支持 Access Anywhere分布式镜像。如同 vPlex Metro,vPlex Geo系统也包含两个群集,这些群集无需具有相同数量的引擎。
vPlex Metro 和 vPlex Geo系统可根据需要包括 Witness。Witness 作为虚拟机部署,且只支持VMware,部署在与两个vPlex群集不同的故障域中(第三方站点)。在两个vPlex 群集之间进行仲裁,发生站点故障和群集间通信中断时,Witness 用于改善应用程序可用性。
Witness与vPlex Metro(RTO和RPO为0) 和 vPlex Geo(RTO=0,群集间最大50毫秒的延迟,RPO接近0)配合使用,协调无缝故障切换(区分站点故障或连接故障)作为 ESX 主机中的虚拟机运行,驻留在两个vPlex群集以外的域中。通过IP连接到vPlex。
vPlex的关键能力AccessAnywhere是通过分布式一致性缓存技术(Distributed Cache Coherenece)来实现,在集群内及跨区域的另一集群间完成缓存数据的一致性;实现跨主机、跨集群、跨数据中心的访问和在节点之间同步镜像。vPlex通过把控制器的单个内存系统进行合并以形成分布式缓存。分布式设计可以跨 vPlex Metro 和Geo系统进行扩展,以提供全局系统的缓存连贯性和一致性。
分布式一致性缓存技术在实现上面,并没有强求所有的Cache都保持统一,而是基于目录形式来跟踪细小的内存块通过锁的粒度来加强扩展能力。 每个引擎的cache分为本地Cache (Cache local)和全局Cache (Cache global);每引擎的本地Cache 只有26GB,其余为全局Cache 。
读的时候先读Local Cache ,如命中直接读取;如在Global中命中,则从对应的引擎Cache中将其读取到Local Cache,再反馈主机;如没有命中,则从本地后端的存储中读取到Local中,并同时修改Local和Global Cache中的信息与索引信息。
写如数据时,vPlex Metro会通过透写方式写到两个站点,待数据写入两地的磁盘阵列后,才会向主机回应写完成。数据写入后,Cache一致性机制会随即通知Cache页面的变化,并在所有引擎上共享该信息,达到各引擎系统的共享。
由于不同站点的主机可同时读写访问同一个卷,分布式缓存一致性技术保证不同站点的主机访问数据的一致性,这确保了主机访问分布式卷时将始终收到该卷最新的一致数据。
写的时候先判断是否在Local、Global Cache中有对应的旧数据,如没有直接写入Local cache;如有旧数据,先废除旧数据再写入Local;再写入后端存储;然后反馈完成,同时Global Cache中的索引做相应修改。在vPlex Metro、local中数据写入两个集群下方硬盘即反馈完成;在vPlex GEO中数据写入本地集群的存储、远端内存,即反馈完成。
vPlex Local和Metro都使用直写缓存模式。在直写缓存中,在虚拟卷收到主机的写请求时,数据将写入到映射卷的后端存储卷。阵列确认该数据后,vPlex会将确认发送回主机,指示写入成功。此缓存模式不适用于 vPlex Geo 系统,在该系统中 vPlex群集支持更大RTT 间隔部署。对于此距离,大多数应用程序不能接受同步直写操作的延迟。
相反vPlex Geo使用回写缓存实现无需同步操作的数据持久性。在此缓存模式中,vPlex接受主机写入缓存并将镜像数据复制到另一个本地控制器的内存中,然后向主机确认数据。最后再将数据异步转储到后端存储阵列。出现电源故障时,vPlex中的缓存保险存储逻辑会将任何未写入的缓存数据存储到本地SSD存储上。
vPlex只提供存储异构虚拟化和镜像两项功能,快照,复制等特性需要添加RecoverPoint实现,所以vPlex的组网方式常常会考虑配合RecoverPoint一起使用。
采用vPlex实现站点间的双活;vPlex接受到主机写IO之后,同时写入两个数据中心的存储。此外vPlex内部集成IO分流软件,vPlex将每个主机写IO同步复制到RecoverPoint。RecoverPoint将每个IO记录下来,采用CDP实现任意时间点恢复。
实现3DC方案;站点2的RecoverPoint通过异步复制将IO复制到站点3部署的RecoverPoint设备。 本地和异地的RecoverPoint都将每个IO记录下来,实现任意时间点恢复。
vPlex Metro集群支持最大8引擎16控制器;支持读Cache,联合RecoverPoint实现支持CDP方案。
简单总结下,vPlex的分布式Cache针对读IO可以加速、提高性能;但是写IO会增加延时。在IO写入时,vPlex接收主机IO后,需要查询远程vPlex节点是否有读缓存(旧数据),通知该缓存失效,远程vPlex返回确认后,才可写入镜像卷。
RecoverPoint推荐的日志卷配置需要考虑额外容量记录日志,日志卷记录生产卷每个变化IO,配置容量时要考虑到日志的变化量,网络带宽和稳定性,存储的性能等复杂问题。
在配合RecoverPoint的CDP方案中,主机写操作下来以后,灾备端阵列产生会出现严重IO放大操作。由于这些原因和网关双活的成本等其他因素,EMC在2015年也推出了基于VMax存储的SRDF/Metro双活功能。
温馨提示:
请搜索“ICT_Architect”或“扫一扫”下面二维码关注公众号,获取更多精彩内容。
听说点赞和分享的朋友都已走上人生巅峰