(连载)网络存储导论第七章:同步传输数据复制

    7.2.1 同步传输的数据复制

    有关同步数据容灾,在传统意义上讲,就是通过容灾软件(可以含在硬件系统内),将本地生产数据通过某种机制复制到异地。从广义上讲,同步数据容灾是指在异地建立起一套与本地数据实时同步的异地数据。  

    从图7-1可以看出,采用同步传输方式进行异地数据容灾的过程包括:

    1. 本地主机系统发出第一个I/O 请求A;

    2. 主机会对本地磁盘系统发出I/O 请求;

    3. 本地磁盘系统完成I/O 操作,并通知本地主机“I/O 完成”;

    4. 在往本地I/O 的同时,本地系统(主机或磁盘系统)会向异地系统发出I/O 请求A;

    5. 异地系统完全I/O 操作,并通知本地系统“I/O 完成”

    6. 本地主机系统得到“I/O 完成”的确认,然后,发出第二个I/O 请求B。


图 7-1 同步数据的一个实例


    不同的异地数据复制技术的实现方式是不同的,包括:

      基于主机逻辑卷层的同步数据复制方式(软件复制方式);

      基于磁盘系统I/O 控制器的同步数据复制方式(硬件复制方式);

    首先,描述基于主机逻辑卷的同步数据复制方式。


    基于主机逻辑卷的同步数据复制方式以VERITAS Volume Replicator(VVR)为代表,VVR是集成于VERITAS Volume Manager(逻辑卷管理)的远程数据复制软件,它可以运行于同步模式和异步模式。在同步模式下,其实现原理如下图:


图7-2 基于逻辑卷的数据复制实例


    当主机发起一个I/O 请求A 之后,必然通过逻辑卷层,逻辑卷管理层在向本地硬盘发出I/O请求的同时,将同时通过TCP/IP 网络向异地系统发出I/O 请求。其实现过程如下:

    1. 本地主机系统发出第一个I/O 请求A;

    2. 主机逻辑卷层会对本地磁盘系统发出I/O 请求;

    3. 本地磁盘系统完成I/O 操作,并通知本地逻辑卷“I/O 完成”;

    4. 在往本地磁盘系统I/O 的同时,本地主机系统逻辑卷会向异地系统发出I/O 请求A;

    5. 异地系统完成I/O 操作,并通知本地主机系统“I/O 完成”

    6. 本地主机系统得到“I/O 完成”的确认,然后,发出第二个I/O 请求B。

    其次,考察基于磁盘系统的同步数据复制功能

    基于磁盘系统的同步数据复制功能实现异地数据容灾,如SRDF 和PPRC。这两个软件运行的平台是磁盘系统,部署这样的系统必须要求在两端采用相同种类的磁盘系统。


    其同步数据复制的实现原理如下图:


    当主机发出一个I/O 请求A 之后,I/O 进入磁盘控制器。该控制器在接到I/O 请求后,一方面会写入本地磁盘,同时利用另一个控制器(或称通道),通过专用通道(如:ESCON)、FC光纤通道(IP over FC)或者租用线路,将数据从本地磁盘系统同步的复制到异地磁盘系统。其实现过程如下:

    1. 本地主机系统发出第一个I/O 请求A;

    2. 主机对本地磁盘系统发出I/O 请求;

    3. 在往本地磁盘系统I/O 的同时,本地磁盘系统会向异地磁盘系统发出I/O 请求A;

    4. 本地磁盘系统完成I/O 操作;

    5. 异地系统完成I/O 操作,并通知本地磁盘系统“I/O 完成”

    6. 本地次盘系统向主机确认“I/O 完成”,然后,主机系统发出第二个I/O 请求B。