有關(guān)同步數(shù)據(jù)容災(zāi),在傳統(tǒng)意義上講,就是通過容災(zāi)軟件(可以含在硬件系統(tǒng)內(nèi)),將本地生產(chǎn)數(shù)據(jù)通過某種機(jī)制復(fù)制到異地。從廣義上講,同步數(shù)據(jù)容災(zāi)是指在異地建立起一套與本地?cái)?shù)據(jù)實(shí)時(shí)同步的異地?cái)?shù)據(jù)。
從圖7-1可以看出,采用同步傳輸方式進(jìn)行異地?cái)?shù)據(jù)容災(zāi)的過程包括:
1. 本地主機(jī)系統(tǒng)發(fā)出第一個(gè)I/O 請(qǐng)求A;
2. 主機(jī)會(huì)對(duì)本地磁盤系統(tǒng)發(fā)出I/O 請(qǐng)求;
3. 本地磁盤系統(tǒng)完成I/O 操作,并通知本地主機(jī)“I/O 完成”;
4. 在往本地I/O 的同時(shí),本地系統(tǒng)(主機(jī)或磁盤系統(tǒng))會(huì)向異地系統(tǒng)發(fā)出I/O 請(qǐng)求A;
5. 異地系統(tǒng)完全I(xiàn)/O 操作,并通知本地系統(tǒng)“I/O 完成”
6. 本地主機(jī)系統(tǒng)得到“I/O 完成”的確認(rèn),然后,發(fā)出第二個(gè)I/O 請(qǐng)求B。
圖 7-1 同步數(shù)據(jù)的一個(gè)實(shí)例
不同的異地?cái)?shù)據(jù)復(fù)制技術(shù)的實(shí)現(xiàn)方式是不同的,包括:
基于主機(jī)邏輯卷層的同步數(shù)據(jù)復(fù)制方式(軟件復(fù)制方式);
基于磁盤系統(tǒng)I/O 控制器的同步數(shù)據(jù)復(fù)制方式(硬件復(fù)制方式);
首先,描述基于主機(jī)邏輯卷的同步數(shù)據(jù)復(fù)制方式。
基于主機(jī)邏輯卷的同步數(shù)據(jù)復(fù)制方式以VERITAS Volume Replicator(VVR)為代表,VVR是集成于VERITAS Volume Manager(邏輯卷管理)的遠(yuǎn)程數(shù)據(jù)復(fù)制軟件,它可以運(yùn)行于同步模式和異步模式。在同步模式下,其實(shí)現(xiàn)原理如下圖:
圖7-2 基于邏輯卷的數(shù)據(jù)復(fù)制實(shí)例
當(dāng)主機(jī)發(fā)起一個(gè)I/O 請(qǐng)求A 之后,必然通過邏輯卷層,邏輯卷管理層在向本地硬盤發(fā)出I/O請(qǐng)求的同時(shí),將同時(shí)通過TCP/IP 網(wǎng)絡(luò)向異地系統(tǒng)發(fā)出I/O 請(qǐng)求。其實(shí)現(xiàn)過程如下:
1. 本地主機(jī)系統(tǒng)發(fā)出第一個(gè)I/O 請(qǐng)求A;
2. 主機(jī)邏輯卷層會(huì)對(duì)本地磁盤系統(tǒng)發(fā)出I/O 請(qǐng)求;
3. 本地磁盤系統(tǒng)完成I/O 操作,并通知本地邏輯卷“I/O 完成”;
4. 在往本地磁盤系統(tǒng)I/O 的同時(shí),本地主機(jī)系統(tǒng)邏輯卷會(huì)向異地系統(tǒng)發(fā)出I/O 請(qǐng)求A;
5. 異地系統(tǒng)完成I/O 操作,并通知本地主機(jī)系統(tǒng)“I/O 完成”
6. 本地主機(jī)系統(tǒng)得到“I/O 完成”的確認(rèn),然后,發(fā)出第二個(gè)I/O 請(qǐng)求B。
其次,考察基于磁盤系統(tǒng)的同步數(shù)據(jù)復(fù)制功能
基于磁盤系統(tǒng)的同步數(shù)據(jù)復(fù)制功能實(shí)現(xiàn)異地?cái)?shù)據(jù)容災(zāi),如SRDF 和PPRC。這兩個(gè)軟件運(yùn)行的平臺(tái)是磁盤系統(tǒng),部署這樣的系統(tǒng)必須要求在兩端采用相同種類的磁盤系統(tǒng)。
其同步數(shù)據(jù)復(fù)制的實(shí)現(xiàn)原理如下圖:
當(dāng)主機(jī)發(fā)出一個(gè)I/O 請(qǐng)求A 之后,I/O 進(jìn)入磁盤控制器。該控制器在接到I/O 請(qǐng)求后,一方面會(huì)寫入本地磁盤,同時(shí)利用另一個(gè)控制器(或稱通道),通過專用通道(如:ESCON)、FC光纖通道(IP over FC)或者租用線路,將數(shù)據(jù)從本地磁盤系統(tǒng)同步的復(fù)制到異地磁盤系統(tǒng)。其實(shí)現(xiàn)過程如下:
1. 本地主機(jī)系統(tǒng)發(fā)出第一個(gè)I/O 請(qǐng)求A;
2. 主機(jī)對(duì)本地磁盤系統(tǒng)發(fā)出I/O 請(qǐng)求;
3. 在往本地磁盤系統(tǒng)I/O 的同時(shí),本地磁盤系統(tǒng)會(huì)向異地磁盤系統(tǒng)發(fā)出I/O 請(qǐng)求A;
4. 本地磁盤系統(tǒng)完成I/O 操作;
5. 異地系統(tǒng)完成I/O 操作,并通知本地磁盤系統(tǒng)“I/O 完成”
6. 本地次盤系統(tǒng)向主機(jī)確認(rèn)“I/O 完成”,然后,主機(jī)系統(tǒng)發(fā)出第二個(gè)I/O 請(qǐng)求B。