



N
公司动态
news
NVRAM的写日志至站点A。MCC通过这种方式实现两个站点存储的双活,MCC集群节点也是双活,但对于某一应用主机来说,实则只在一个站点活动。
性能方面,MCC的读性能和单存储类似,写性能存在1倍的RTT。
(4)SVC Vplex Metro
Vplex Metro和其他三种方式都不一样,是一种分布式的存储双活/多活架构。Vplex没有写缓存,有了分布式缓存,标榜为access anywhere
没有写缓存就意味了,主机对VPLEX的写是透写模式,主机的写IO只是经过VPLEX的虚拟化直接落入到底层存储,并在分布式缓存目录表中记录这个写IO是通过哪个VPLEX引擎写入的。当需要对该数据块进行读操作时,先是在分布式缓存目录中查找数据块是通过哪个VPLEX引擎写入的,然后再通过本地的VPLEX引擎转发该读请求至上一次写入该数据块的VPLEX引擎,通过它来读取它后端的存储,*终原路返回。另外,对于写入的IO,透穿过VPLEX写底层存储时,还将同步一份IO副本至另一VPLEX引擎的底层存储。
所以可以看到,对于某数据中心VPLEX的读操作来说,如果刚好上次该数据块的写操作时也是发在该VPLEX中,那么读是本地读,亲和性好。如果刚好上次该数据块的的写操作不是在该VPLEX,那么就需要跨站点进行读操作,亲和性弱,存在1倍的跨站点RTT;对于写,都是本地写,只不过需要将该写IO同步至另一站点的底层存储,也存在1倍的跨站点RTT。
好了,写了这么多,将几种主流的存储双活架构的读写操作流程写清楚了。简单对比如下:
由这张图可以看到:
读性能:
SVC ESC、HDS GAD和NETAPP MCC都是本地读,性能*好,而SVC HYPERSWAP和SVC VPLEX METRO的本地读不“稳定”,某些情况下,存在跨站点读的问题,增加了读响应时间。
写性能:
基本上所有的存储双活方案都存在写往返延迟的问题,*少为1倍的RTT,其中SVC ESC、HDS GAD、NETAPP MCC、SVC VPLEX METRO都存在1倍RTT,这是无法避免的,可以说是存储双活的必然问题,而SVC HYPERSWAP某些情况下,存在2倍RTT的问题,写性能影响更严重。
当然评价一个存储双活方案的好坏,不能仅从性能影响去看,更应该看重其综合能力,这里不再赘述。