



N
公司动态
news
相比单存储直接提供读写来说,存储双活一定会增加读写响应时间,更别说存储还是跨两个不同数据中心的,随着距离的增加,理论上每增加100KM,会增加1ms的RTT(往返延迟时间),我们先来分析不同厂商的存储双活方案带来的性能影响:
(1)IBM SVC Enhanced Stretch Cluster(ESC)和HDS GAD等
IBM SVC ESC和HDS GAD的读写方式都很类似,这里就放在一起来看。
读:ESC和GAD在两个存储拉开到两个数据中心,形成AA模式的架构,对于读来说,是两个数据中心分别对各自中心的存储本地读,这样读来说不存在跨站点的RTT,读性能跟单存储是一样的。
写:某数据中心的写操作会先写到本地控制节点缓存,然后再跨站点同步至另一控制节点缓存中,并原路返回,告诉主机写操作完成,等到缓存达到一定的水位时,再刷入各自底层存储当中,这时的写操作存在1倍的跨站点RTT。当两个数据中心都要对某一数据块写操作时,会先在缓存表对应的数据块中加锁,并同步锁信息至对端缓存表,实现双活存储的写并发。所以写也是本地写的方式,性能跟单存储比是降低的。
(2)SVC HyperSwap
SVC HyperSwap的HyperSwap卷有master和aux之分,读写复杂度也高很多,master卷所在站点的主机读写是本地读本地写,而aux卷所在站点的主机读写方式是转发模式。
假设初始化后,Site1的卷为Master卷,Site2的卷为Aux卷
读:
Site1读I/O
1.主机向SVC I/O Group1的任意一个节点发送读请求
2.SVC I/O Group1将该请求传至Storage Pool1
3.Storage Pool1响应请求,并将数据传至SVC I/O Group1
4.SVC I/O Group1将数据结果传至主机
Site2读I/O
1.主机向SVC I/O Group2的任意一个节点发送读请求
2.SVC I/O Group2将该请求转发至SVC I/O Group1
3.SVC I/O Group1将请求传至Storage Pool1