2008年(8065)
分类: 服务器与存储
2008-09-19 14:49:26
在容灾数据复制的应用种,能否保持数据的一致性是决定容灾效果的关键。我们从上文的介绍中可以看出:使用同步技术要停顿应用,如示意图。这样是以牺牲应用资源为代价的,所以绝大多数用户都会选择采用异步方式来进行应用。
异步方式异步操作为了保证远程拷贝的数据能够保持数据的完整性, 必须在每个远程拷贝的I/O内考虑传输过程中可能出现的失败而重传,都加上了时间标签( Time Stamp ),当生产磁盘控制器收到来自主机的一个写更新时,立即返回一个I/O完成的应答,数据被放置到控制器CACHE里的一个文件(sidefile)中。应用软件定期地或在磁盘控制器达到某个临界状态时收集来自所有控制器的更新数据,根据更新记录上的时间戳(Time Stamp),将更新记录组成能够保证数据和顺序更新完整性的一组记录,称为CONSISTENCY GROUP(数据分组号),然后一次性地用这组记录去更新备份磁盘。这个数据一致组保证备份磁盘系统的更新与生产磁盘系统有完全相同的顺序即顺序的完整性。下图表示了异步远程拷贝的实现流程。
由于异步远程更新的执行,应用程序不必等待远程更新的完成,因此远程数据备份的性能的影响通常较小,并且备份磁盘的距离和生产磁盘间的距离理论上没有限制。然而,当传送中的数据在生产磁盘控制器或在应用中还没有形成数据一致组时生产中心发生灾难,这些数据就会丢失。因此在系统和应用程序重新启动之前,需要额外的数据恢复。所花费的时间和造成的影响取决于客户的环境,例如应用程序和设备配置的复杂性,更新的完整性等等。
数据容灾以恢复实时应用为目标,必须尽可能地保持数据的一致性,以便能够在灾害发生时有效的保存即时数据,从而对原有应用进行恢复。时间戳技术的使用使数据在传输过程种因网络环境等等意外因素而收到影响的可能性大大降低,有效地保护了数据的一致性。与其他同类技术相比,具有显著的优势。
当然,在应用设备上采用的任何技术,都不能完全避免因网络环境等等意外因素对数据传输造成的影响。一旦这种影响发生,势必造成数据传输的等待。如何克服数据等待的问题,目前主要有两种技术,一是磁盘阵列或者主机本地硬盘上使用预留空间待网络环境良好时进行传输。但这样做会占用主机或磁盘阵列的资源,而且等待数据量超过预留空间会破坏数据的一致性。
另一种最新的技术是智能磁盘阵列在原数据保存的LUN上生成一个位图表(Bit Map),用于指示每一个数据字节(Bit)的变化和传输与否。当位图表形成后,覆盖中国用于保存原数据的LUN上,因此它占用的空间很小而且不再变化。但能够全部记录下需要传输的数据包的状态,使数据等待的数据得到优化,节约了磁盘阵列的空间资源。同时完全保证了向远端发送一致的数据。就目前技术水平而言,数据戳和位图表技术的结合使用,是在容灾数据备份应用中的最佳方式。