|
7.2.3 异步数据复制方式
从前面的分析来看,同步数据容灾一般只能在较短距离内部署(10KM-100KM),大于这个距离,就没有实际应用价值了。因为即使在1000KM 距离上,4.5MB 的速率即使将数据复制到异地,每个I/O 的响应时间也会超过10ms,这种响应速度太慢。
异步数据容灾是在“线路带宽和距离能保证完成数据复制过程,同时,异地数据复制不影响生产系统的性能”这样的要求下提出来的。考虑异步数据容灾,应该注意到以下几个技术条件和事实。
- 带宽必须能保证将本地生产数据基本上完全复制到异地容灾端,还要考虑距离对传输能力的影响。
- 按照前面的估算:在1000 公里范围内,一条带宽足够的线路能支持的I/O 流量最大为(数据块大小10KM ):1.4MB×3600 秒×24 小时=120GB/天
- 异地容灾远端数据会比本地生产端数据落后一定时间,这个时间随采用的技术,带宽、距离、数据流特点的不同而不同。一般而言,软件方式的数据复制技术具有完整的数据包的排队和断点重发机制,在灾难情况下可以保证灾难时间点的数据一致性。
- 异步容灾基本不影响本地系统性能。
与同步传输方式相比,异步传输方式对带宽和距离的要求低很多,它只要求在某个时间段内能将数据全部复制到异地即可,同时异步传输方式也不会明显影响应用系统的性能。其缺点是在本地生产数据发生灾难时,异地系统上的数据可能会短暂损失(如果广域网速率较低,交易未完整发送的话),但不影响一致性(类似本地数据库主机的异常关机)。
通过异步传输模式进行异地数据复制的技术,包括:
- 基于主机逻辑卷的数据复制方式
- 基于磁盘系统I/O 控制器的数据复制方式
基于主机逻辑卷(Volume)的数据复制方式
首先申明:针对这种方式,这以VERITAS VVR 为例,但并不表示所有基于主机进行复制的其它软件采用同样方式,也不保证其它软件是有应用价值的。
VERITAS VVR (Volume Replicator)通过基于Volume 和Log 的复制技术,保证在任何时刻本地系统发生自然灾难时,在异地的数据仍是可用的。
VERITAS VVR 在异步模式下采用了Log 技术来跟踪未及时复制的数据块,这个Log 是一个先到先服务的堆栈,每一笔I/O 处理都会首先被放进这个Log,并按到达先后顺序被复制到异地服务器系统。
下图是其工作的结构原理。
图7-4 基于逻辑卷的异步数据复制
从上图,存储工程师可以看到整个I/O 和复制的过程如下:
- 本地主机系统发出第一个I/O 请求A 到逻辑卷;
- 逻辑卷对本地磁盘系统发出I/O 请求;
- 在往本地磁盘系统I/O 的同时,逻辑卷向本地磁盘系统上的VVR Log 发出相同的写请求;
- 本地磁盘系统完成I/O 操作;并通知逻辑卷“I/O 完成”;
- VVR 完成针对这个I/O 的远程操作,并通知逻辑卷;
- 逻辑卷向主机确认“I/O 完成”。
服务器的另一个进程:VVR 的进程,负责将Log 队列中的I/O 复制到异地服务器。这个过程和上面的I/O 过程在时间上无关。如上图中的标记:“I”和“II”。
I: 本地VVR 进程从Log 队列中取出最先到达的I/O,复制到异地服务器
II: 异地服务器接收到本地服务器VVR 发出的I/O 请求,将相应数据写到异地磁盘系统,然后,通知本地系统VVR 进程,要求下一个I/O。
上一篇:(连载)网络存储导论第七章:用SAN实现远程容灾
下一篇:(连载)网络存储导论第六章:实现数据迁移(2)
|