|
3楼
楼主 |
发表于 2011-9-15 16:23:48
|
只看该作者
同异步复制、内部全实现——卷复制技术解析
1 概述
1.1 产生背景
数据的丢失会导致企业正常的业务运作中断,带来巨大的经济损失、声誉损失、以及客户忠诚度下降等各种损失。而事实上,这样的事故是屡有发生,其后果也是非常惨痛的。IDC统计数字表明,美国在2000年以前的10年间发生过灾难的公司中,有55%当时倒闭。剩下的45%中,因为数据丢失,有29%也在两年之内倒闭,生存下来的仅占16%。如何保证大集中数据在各种灾难面前的安全性,以支撑业务的连续性运行就成为了一个现实的问题。
在容灾体系中,人们往往采用RPO(灾难时的数据保存点)和RTO(灾难后的业务恢复点)这两个指标来衡量容灾体系的应急能力和系统保护能力。一般而言,容灾系统确保RPO指标的基本要求(也就是仅仅考虑数据要保存到接近故障点)以及一些系统更高的RTO指标的要求,也就是灾难时要考虑业务的处理系统的快速恢复能力。
当采用备份技术时,通常每天进行一次数据备份,当灾难发生时,只能恢复到前一天的数据备份时间点,一次你RPO目标难以达到容灾的要求,另一方面,备份数据无法直接使用,需要还原成数据原有格式,因此随着随着数据量的增大,需要较长的恢复时间,通常2-3TB的数据,需要恢复一天左右。因此在PTO目标上也难以达到要求。
为了保证较低的RPO和RTO目标,复制技术常应用于各种容灾系统。
1.2 技术优势
数据备份系统,是指为防止系统出现操作失误或系统故障导致数据丢失,而将数据集合从应用系统中以备份格式存储到处于离线的存储介质的过程,在数据备份过程中,一般采用备份软件和磁带库的物理介质保存系统配合来进行。而常规的备份系统实际上采用的是粗放型的备份策略,如按照日月年等策略进行的各种全备份和增量备份,以及辅助进行的合成备份等(由于备份设备的制约和容量的限制,精细化的备份是不现实的)。
在一般的备份系统中,常见的是每天一次,也就是对于数据的实时性或近实时性并不提供保证,而且,备份出来的格式是专用的备份格式,并非应用系统中的数据原有格局,恢复时一定要通过格式转换进行导回操作,因此也并不保证恢复的快捷和精细化的时间点恢复。举例来说,一旦系统存放了1TB的数据,并且按照日增量进行备份,一旦当日中午11:00发生意外,需要全数据的恢复,那么我们只能恢复到上一个恢复点(如昨日23:00),而且,恢复的用时可能会在5小时以上,这还要取决于增量备份的份数。这样的恢复能力,远远满足不了用户越来越高的安全要求和服务要求,需要有一个契机和一个新的技术的诞生,来达到以用户为中心的数据安全和系统安全的要求。
复制技术则实现的是将原卷(卷复制)或原文件(文件复制)直接复制到目标卷或目标文件系统中。在当灾难发生时,如果采用的是同步复制技术,则RPO接近于0,如果采用的是异步复制技术,那么RPO取决于复制时间间隔。同时,在业务恢复时间上,由于目标卷数据为原始格式数据,直接可用,因此可以在较短的时间内恢复业务系统使用,从而具有较好的RTO目标。
2 技术介绍
2.1 基本概念
卷复制:基于LV(逻辑卷)的复制方式是基于block IO(块级数据),实现的是从源卷到目标卷的复制,通常应用于SAN架构。
文件复制:基于文件系统的复制方式是基于file IO(文件IO),实现的是从源文件复制到目标文件,是基于文件系统的复制,通常应用于NAS系统。
2.1.1 卷复制的几种类型
2.1.1.1 同步卷复制:
同步卷复制的实现方式是不同的,包括:
基于主机逻辑卷层的同步数据复制方式(软件复制方式)
基于存储系统I/O控制器的同步数据复制方式(硬件复制方式)
本文主要介绍基于磁盘系统I/O控制器的硬件复制方式。
基于磁盘系统的同步数据复制功能实现异地数据容灾,如 RG-iS3000系列的卷复制功能。这种实现方式运行的平台是存储系统,部署这样的系统必须要求在两端采用相同种类的存储系统。
实现原理如下图所示:
当主机发出一个I/O请求A之后,I/O进入磁盘控制器。该控制器在接到 I/O请求后,一方面会写入本地磁盘,同时利用另一个控制器(或称通道) ,通过专用通道(IP或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。
利用同步传输方式建立异地数据容灾,可以保证在本地系统出现灾难时,异地存在一份与本地数据完全一致的数据备份(具有完整的一致性) 。但利用同步传输方式建立这样一个系统,必须考虑“性能”这个因素。
采用同步数据传输方式时,从前面的描述来看,本地系统必须等到数据成功的写到异地系统,才能进行下一个I/O操作。一个 I/O通过远程链路写到异地系统,涉及到 3 个技术参数:带宽、距离和中间设备及协议转换的时延。
带宽
本地I/O的带宽是100MB/秒(假设) ,在 I/O流量很大的情况下,如果与远程的 I/O带宽相对“100MB/秒 == 800Mbit/秒”窄得多的话,如 E1:2Mbit/秒;E3:45Mbit/秒,将会明显拖慢生产系统的I/O,从而影响系统性能。
距离
光和电波在线路上传输的速度是 30万公里/秒,当距离很长时,这种线路上的延时将会变得很明显。例如:一个异地容灾系统的距离是1000KM,其数据库写盘的数据块大小是10KB(一次 I/O的数据量) ,那么:
本地I/O时(100 米距离内):
光电在线路上的延时 = 0.1km/300,000km*2 次/一个来回=0.67*10-6 秒
1 秒钟内允许 I/O次 = 1/(0.67 * 10-6 )= 1.5 * 10-6 次
1 秒钟允许的 I/O量 = 10KB * 1.5 * 10-6 = 15GB
此数字远远超过光纤通道带宽本身,也就是说,光电在 100 米距离的线路上的延时对性能的影响可以忽略不计。
异地I/O的(1000 公里) :
光电在线路上的延时 = 1000km/300,000km*2 次= 1/150 秒
1 秒钟内允许 I/O次 = 1/(1/150 )= 150 次
1 秒钟允许的 I/O量 = 10KB * 150 = 1.5MB
此数据表明,在 1000 公里距离上,允许的最大 I/O量在不存在带宽限制时,已经远远低于本地I/O的能力。 (注:上面分析还未考虑中间设备及协议转换的延时)。
因此同步数据容灾一般只能在较短距离内部署(10KM-100KM) ,大于这个距离,就没有实际应用价值了。因为即使在 1000KM距离上,4.5MB 的速率即使将数据复制到异地,每个I/O的响应时间也会超过 10ms,这种响应速度太慢。
2.1.1.2 异步卷复制
异步数据容灾是在“线路带宽和距离能保证完成数据复制过程,同时,异地数据复制不影响生产系统的性能”这样的要求下提出来的。考虑异步数据容灾,应该注意到以下几个技术条件和事实。
1. 带宽必须能保证将本地生产数据基本上完全复制到异地容灾端,还要考虑距离对传输能力的影响。
2. 异地容灾远端数据会比本地生产端数据落后一定时间,这个时间随采用的技术,带宽、距离、数据流特点的不同而不同。一般而言,软件方式的数据复制技术具有完整的数据包的排队和断点重发机制,在灾难情况下可以保证灾难时间点的数据一致性。
3. 异步容灾基本不影响本地系统性能
与同步传输方式相比,异步传输方式对带宽和距离的要求低很多,它只要求在某个时间段内能将数据全部复制到异地即可,同时异步传输方式也不会明显影响应用系统的性能。其缺点是在本地生产数据发生灾难时,异地系统上的数据可能会短暂损失(如果广域网速率较低,交易未完整发送的话) ,但不影响一致性(类似本地数据库主机的异常关机)。
异步复制原理如下图所示:
1. 本地主机系统发出第一个I/O请求A到逻辑卷;
2. 逻辑卷对本地磁盘系统发出 I/O请求;
3. 在往本地磁盘系统I/O的同时,逻辑卷向本地磁盘系统上的预留LOG空间发出相同的写请求;
4. 本地磁盘系统完成I/O操作;并通知逻辑卷“I/O完成” ;
5. 存储系统的复制功能模块 完成针对这个 I/O的远程操作,并通知逻辑卷;
6. 逻辑卷向主机确认“I/O完成”;
7. 在设定的复制规则满足后(基于时间、基于变化量等),由存储系统的复制功能模块将预留Log区中的数据复制到远程灾备盘柜中的指定空间中。
2.1.2 文件复制
文件复制的原理和效果与卷复制类似,实现的是将一个源文件复制到一个或者多个目标文件,使得目标文件和源文件形成同步或者异步的复制关系。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册通行证
x
|