论文部分内容阅读
摘 要:随着存储技术的快速发展,连续数据保护(CDP)功能已成为现代存储系统重要的数据保护和恢复手段,根据当前不同CDP实现机制的优缺点,提出了一种基于I/O颗粒度的持续数据保护机制I/O-CDP。传统的CDP技术都是以磁盘卷为单位,如果多个磁盘卷之间有数据一致性要求,很难保证多个磁盘卷之间始终有正确的写I/0速度,而I/O-CDP技术可以把这些磁盘卷设置成一致性组(Consistent Group)。一致性组使得在灾难发生后,持续数据保护卷可以正常的接管应用或者直接回复到生产卷中正常运行。
关键字:存储技术;连续数据保护;颗粒度;日志卷
中图分类号:TP301 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.010
本文著录格式:[1]潘佰林,汪炎平,李寒曦,等.一种基于I/O颗粒度的持续数据保护机制[J].软件,2013,34(8):31-33
0 引言
随着全球化信息时代的到来,数据的重要性已经不言而喻。据不完全统一,国内烟草行业每年新采购的磁盘空间总容量已经达到了PB(1PB=1024TB=1024*1024GB)级别。然而数据的存储载体很容易受到软硬件失效、自然灾害、人为过失、病毒入侵等威胁而导致数据损坏或丢失。当前的副本、镜像文件等技术能够有效地防止存储系统硬件失效的问题,但无法有效防止人为过失、软件失效和病毒入侵给数据带来的危险。因此现代存储系统的重要需求就是能提供连续数据保护功能。即在不影响正常数据业务流程的情况下,实时记录或跟踪所有数据的修改,并且能将数据恢复到任意指定时刻的状态。
目前CDP技术分为多种技术流派,有基于磁盘卷的CDP技术,有基于数据块的CDP技术,同时还有一些类似于基于镜像文件的CDP技术。但是,上述传统的CDP技术在使用过程中,如果多个磁盘卷之间(事件卷、日志卷、操作卷、备份卷、镜像卷等)有数据一致性要求,由于磁盘卷与磁盘卷之间缺乏正确的写I/0速度,就会造成多个磁盘卷数据的不一致性,从而给数据恢复工作带来了不便。本文提出了一种基于I/O颗粒度的持续数据保护机制I/O-CDP,能很好的解决上述问题。
1 I/O-CDP设计方法
1.1 SAN环境下的I/O行为分析
在一个典型的SAN网络存储环境中一般有主机、SAN交换机、磁盘阵列组成;如图1所示:
在 SAN环境中,主机一般通过逻辑卷程序管理磁盘设备,在主机(HOST)的上的组件有:应用程序(APP),操作系统(Operating System),数据库管理系统(DBMS),其他管理组件(Mgmt Utilities),文件系统(File System),卷管理(Volume Management),多路径管理软件(Multi-Pathing Software),设备驱动程序(Device Drivers),主机总线适配卡(HBA)。其结构如图2所示:
在这样的结构下,应用程序的写请求,通过操作系统的存储管理机制进行解释后最终通过多路径管理软件管理的设备进入存储系统中。
1.2 SAN环境下的持续数据保护设计
通过上述分析,我们可以看出应用程序的I/O请求,通过一系列组件的参与,最终转化为协议包,通过HBA卡传递到SAN网络及磁盘阵列中。要实现基于I/O颗粒度的持续数据保护的关键就是要能够捕获每一个写入I/O的变化来记录数据的变化过程。
从图1可以看出,在SAN环境下,可以通过在主机、网络、磁盘阵列三者其中任意位置进行写I/O捕获(加入I/O拆分功能),就能够达到基于I/O颗粒度的持续数据保护。
主机
从图2可以看出,基于主机的捕获I/O需要在卷管理一级加入I/O捕获软件
SAN交换机
磁盘阵列
简单对比一下基于不同设备的I/O拆分功能的优缺点:
加入I/O拆分功能后,通过专门的持续数据保护软硬件解决方案,即可实现在SAN环境下的持续数据保护方案,其设计图如图3所示:
2 I/O-CDP实现方法
2.1 I/O-CDP装置功能分析
通过上节分析可以知道,在I/O拆分功能的帮助下,持续数据保护装置接收到从主机写下来的全部写I/O,持续数据保护装置对这些I/O进行分析和记录后,写入到持续数据保护卷。
通过对业界主流的持续数据保护装置进行分析,我们可以发现持续数据保护装置的功能如下:持续数据保护装置表现为一组智能的服务器集群,集群中各个服务器提供负载均衡能力和故障切换能力;可以根据SAN网络的I/O流量来选择集群中设备的数量。持续数据保护装置接收I/O拆分器发送过来的I/O,装置可以根据预先设定的策略决定是把I/O保存在本地的持续数据保护卷还是异地的持续数据保护卷。持续数据保护装置具备FC端口可以和SAN网络互连以接收I/O和发送I/O;网络端口可以通过IP端口和异地的持续数据保护装置互连以达到异地持续数据保护的目的;管理端口提供管理功能。
2.2 I/O-CDP详细实现
2.2.1一致性组概念
一般而言,持续数据保护都是以磁盘卷为单位,如果多个磁盘卷之间有数据一致性要求,则可以把这些磁盘卷设置成一致性组(Consistent Group),一致性组的功能是确保组内的磁盘卷始终有正确的写I/O速度从而保持一致性。如果两个生产卷彼此之间互有依靠性(如数据库应用的表空间卷和日志卷),则必须被放到同一个一致性组中。一致性组使得在灾难发生后,持续数据保护卷可以正常的接管应用或者直接回复到生产卷中正常运行。
2.2.2日志
日志是实现持续数据保护的核心功能组件,正是通过日志卷对每一个I/O的记录,使得数据复制卷可以根据日志卷记录的内容进行回溯,达到任意时间点回溯的功能。日志一般有一组日志卷组成,日志的内容包括数据复制过程的image,包括已经app分发到复制卷和等待分发的。日志卷中容量的大小决定日志卷中存放的image的多少,image以时间序列排序,已经分发的并且时间上最旧的image将会被删除以给新的image提供空间,First-in First-out。根据最佳时间,日志卷大小可以通过如下公式计算: 日志卷最小空间=1.05×[ (数据变化量(Mb/s)×数据在日志卷中保留的时间(秒)÷(1–访问日志时的预留空间比例)]+(时间标记空间)。
举例:数据变化量=10Mb/s;数据在日志卷中保留时间=24 Hours=86400秒;访问日志时预留空间比例=0.2;时间标记空间=5GB
那么日志卷最小空间=1.05*(10*86400)/(1-0.2)+5GB
=1134000Mb+5GB=144GB
2.2.3数据流
持续数据保护分为3个阶段数据流分别如下:
一、I/O拆分阶段
①I/O拆分装置把服务器的写I/O分发一份到持续数据保护装置;
②持续数据保护装置返回一个确认(ACK)给I/O拆分装置;
③I/O拆分装置把写I/O继续写入到生产卷所在存储;
④生产卷所在存储接收到写I/O后返回一个确认(ACK)给I/O拆分装置;
⑤I/O拆分装置返回给服务器I/O写入完成;
二、数据传送阶段
数据传送阶段主要是指在异地持续数据保护解决方案过程中,源端站点持续数据保护装置把数据传送到目标站点的持续数据保护装置的过程;
三、数据分发过程
①主机写下的I/O通过I/O拆分送到持续数据保护装置,持续数据保护装置把此I/O送到日志卷中等待分发队列顶端;
②持续数据保护装置把等待分发队列底部最旧的数据读出来;
③持续数据保护装置从复制卷中把当前数据读出来;
④持续数据保护装置把复制卷中读出的当前数据写入到已分发队列的顶端,这样复制卷的当前数据是可以被回滚的(灾难发生后,此队列的数据是可以被拉起做灾难恢复;
⑤持续数据保护装置把新数据写入到复制卷;
数据分发过程如图4所示:
3 I/O-CDP评价
对于数据保护等灾备技术而言,一般的评价目标为RPO(Recovery Time Objective,它是指灾难发生后,从 IT 系统宕机导致业务停顿之时开始,到 IT 系统恢复至可以支持各部门运作、恢复运营之时,此两点之间的时间段称为 RTO)和RTO(Recovery Point Objective,是指从系统和应用数据而言,要实现能够恢复至可以支持各部门业务运作,系统及生产数据应恢复到怎样的更新程度);在基于FC SAN环境下的持续数据保护技术,因为光纤传输的快速及稳定性,I/O-CDP技术可以达到RPO=0;RTO绝大程度上取决于应用环境的灾难恢复计划制定成功与否,但是I/O-CDP一般有良好的图形化界面,可以通过图形化界面及鼠标点击操作迅速的对数据保护卷进行访问操作,避免敲入大量命令的繁琐过程。
I/O-CDP技术和其他传统的CDP技术相比的最大区别在于其可以恢复到日志窗口保存周期内的任意时间点,这给IT管理人员对历史数据回溯要求访问提供了极大的帮助。
4 结束语
基于I/O颗粒度的持续数据保护技术作为一种集多种功能为一身的一体化灾备技术,将多种灾备功能集于一身,可以使得构造高等级、复杂灾备系统变得相对简单,也使得运维工作简化,从而最终降低企业在灾备系统上的整体投资以及面对意外风险的成本支出。
参考文献
[1]《数字烟草发展纲要》.2005年10月
[2]王庆波,金涬,何乐,等.虚拟化与云计算[M].北京:电子工业出版社,2009年
[3]魏洪等著.云计算应用落地探索[M].北京:邮电出版社.2011年
[4]刘林,熊琦,吴世忠.连续数据保护中的数据一致性保障技术研究综述[J].计算机科学,2011,(10):124-127
[5]王欢,李战怀,张晓.支持连续数据保护的云备份系统架构设计[J].计算机工程与应用,2012,(1):90-93
关键字:存储技术;连续数据保护;颗粒度;日志卷
中图分类号:TP301 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.010
本文著录格式:[1]潘佰林,汪炎平,李寒曦,等.一种基于I/O颗粒度的持续数据保护机制[J].软件,2013,34(8):31-33
0 引言
随着全球化信息时代的到来,数据的重要性已经不言而喻。据不完全统一,国内烟草行业每年新采购的磁盘空间总容量已经达到了PB(1PB=1024TB=1024*1024GB)级别。然而数据的存储载体很容易受到软硬件失效、自然灾害、人为过失、病毒入侵等威胁而导致数据损坏或丢失。当前的副本、镜像文件等技术能够有效地防止存储系统硬件失效的问题,但无法有效防止人为过失、软件失效和病毒入侵给数据带来的危险。因此现代存储系统的重要需求就是能提供连续数据保护功能。即在不影响正常数据业务流程的情况下,实时记录或跟踪所有数据的修改,并且能将数据恢复到任意指定时刻的状态。
目前CDP技术分为多种技术流派,有基于磁盘卷的CDP技术,有基于数据块的CDP技术,同时还有一些类似于基于镜像文件的CDP技术。但是,上述传统的CDP技术在使用过程中,如果多个磁盘卷之间(事件卷、日志卷、操作卷、备份卷、镜像卷等)有数据一致性要求,由于磁盘卷与磁盘卷之间缺乏正确的写I/0速度,就会造成多个磁盘卷数据的不一致性,从而给数据恢复工作带来了不便。本文提出了一种基于I/O颗粒度的持续数据保护机制I/O-CDP,能很好的解决上述问题。
1 I/O-CDP设计方法
1.1 SAN环境下的I/O行为分析
在一个典型的SAN网络存储环境中一般有主机、SAN交换机、磁盘阵列组成;如图1所示:
在 SAN环境中,主机一般通过逻辑卷程序管理磁盘设备,在主机(HOST)的上的组件有:应用程序(APP),操作系统(Operating System),数据库管理系统(DBMS),其他管理组件(Mgmt Utilities),文件系统(File System),卷管理(Volume Management),多路径管理软件(Multi-Pathing Software),设备驱动程序(Device Drivers),主机总线适配卡(HBA)。其结构如图2所示:
在这样的结构下,应用程序的写请求,通过操作系统的存储管理机制进行解释后最终通过多路径管理软件管理的设备进入存储系统中。
1.2 SAN环境下的持续数据保护设计
通过上述分析,我们可以看出应用程序的I/O请求,通过一系列组件的参与,最终转化为协议包,通过HBA卡传递到SAN网络及磁盘阵列中。要实现基于I/O颗粒度的持续数据保护的关键就是要能够捕获每一个写入I/O的变化来记录数据的变化过程。
从图1可以看出,在SAN环境下,可以通过在主机、网络、磁盘阵列三者其中任意位置进行写I/O捕获(加入I/O拆分功能),就能够达到基于I/O颗粒度的持续数据保护。
主机
从图2可以看出,基于主机的捕获I/O需要在卷管理一级加入I/O捕获软件
SAN交换机
磁盘阵列
简单对比一下基于不同设备的I/O拆分功能的优缺点:
加入I/O拆分功能后,通过专门的持续数据保护软硬件解决方案,即可实现在SAN环境下的持续数据保护方案,其设计图如图3所示:
2 I/O-CDP实现方法
2.1 I/O-CDP装置功能分析
通过上节分析可以知道,在I/O拆分功能的帮助下,持续数据保护装置接收到从主机写下来的全部写I/O,持续数据保护装置对这些I/O进行分析和记录后,写入到持续数据保护卷。
通过对业界主流的持续数据保护装置进行分析,我们可以发现持续数据保护装置的功能如下:持续数据保护装置表现为一组智能的服务器集群,集群中各个服务器提供负载均衡能力和故障切换能力;可以根据SAN网络的I/O流量来选择集群中设备的数量。持续数据保护装置接收I/O拆分器发送过来的I/O,装置可以根据预先设定的策略决定是把I/O保存在本地的持续数据保护卷还是异地的持续数据保护卷。持续数据保护装置具备FC端口可以和SAN网络互连以接收I/O和发送I/O;网络端口可以通过IP端口和异地的持续数据保护装置互连以达到异地持续数据保护的目的;管理端口提供管理功能。
2.2 I/O-CDP详细实现
2.2.1一致性组概念
一般而言,持续数据保护都是以磁盘卷为单位,如果多个磁盘卷之间有数据一致性要求,则可以把这些磁盘卷设置成一致性组(Consistent Group),一致性组的功能是确保组内的磁盘卷始终有正确的写I/O速度从而保持一致性。如果两个生产卷彼此之间互有依靠性(如数据库应用的表空间卷和日志卷),则必须被放到同一个一致性组中。一致性组使得在灾难发生后,持续数据保护卷可以正常的接管应用或者直接回复到生产卷中正常运行。
2.2.2日志
日志是实现持续数据保护的核心功能组件,正是通过日志卷对每一个I/O的记录,使得数据复制卷可以根据日志卷记录的内容进行回溯,达到任意时间点回溯的功能。日志一般有一组日志卷组成,日志的内容包括数据复制过程的image,包括已经app分发到复制卷和等待分发的。日志卷中容量的大小决定日志卷中存放的image的多少,image以时间序列排序,已经分发的并且时间上最旧的image将会被删除以给新的image提供空间,First-in First-out。根据最佳时间,日志卷大小可以通过如下公式计算: 日志卷最小空间=1.05×[ (数据变化量(Mb/s)×数据在日志卷中保留的时间(秒)÷(1–访问日志时的预留空间比例)]+(时间标记空间)。
举例:数据变化量=10Mb/s;数据在日志卷中保留时间=24 Hours=86400秒;访问日志时预留空间比例=0.2;时间标记空间=5GB
那么日志卷最小空间=1.05*(10*86400)/(1-0.2)+5GB
=1134000Mb+5GB=144GB
2.2.3数据流
持续数据保护分为3个阶段数据流分别如下:
一、I/O拆分阶段
①I/O拆分装置把服务器的写I/O分发一份到持续数据保护装置;
②持续数据保护装置返回一个确认(ACK)给I/O拆分装置;
③I/O拆分装置把写I/O继续写入到生产卷所在存储;
④生产卷所在存储接收到写I/O后返回一个确认(ACK)给I/O拆分装置;
⑤I/O拆分装置返回给服务器I/O写入完成;
二、数据传送阶段
数据传送阶段主要是指在异地持续数据保护解决方案过程中,源端站点持续数据保护装置把数据传送到目标站点的持续数据保护装置的过程;
三、数据分发过程
①主机写下的I/O通过I/O拆分送到持续数据保护装置,持续数据保护装置把此I/O送到日志卷中等待分发队列顶端;
②持续数据保护装置把等待分发队列底部最旧的数据读出来;
③持续数据保护装置从复制卷中把当前数据读出来;
④持续数据保护装置把复制卷中读出的当前数据写入到已分发队列的顶端,这样复制卷的当前数据是可以被回滚的(灾难发生后,此队列的数据是可以被拉起做灾难恢复;
⑤持续数据保护装置把新数据写入到复制卷;
数据分发过程如图4所示:
3 I/O-CDP评价
对于数据保护等灾备技术而言,一般的评价目标为RPO(Recovery Time Objective,它是指灾难发生后,从 IT 系统宕机导致业务停顿之时开始,到 IT 系统恢复至可以支持各部门运作、恢复运营之时,此两点之间的时间段称为 RTO)和RTO(Recovery Point Objective,是指从系统和应用数据而言,要实现能够恢复至可以支持各部门业务运作,系统及生产数据应恢复到怎样的更新程度);在基于FC SAN环境下的持续数据保护技术,因为光纤传输的快速及稳定性,I/O-CDP技术可以达到RPO=0;RTO绝大程度上取决于应用环境的灾难恢复计划制定成功与否,但是I/O-CDP一般有良好的图形化界面,可以通过图形化界面及鼠标点击操作迅速的对数据保护卷进行访问操作,避免敲入大量命令的繁琐过程。
I/O-CDP技术和其他传统的CDP技术相比的最大区别在于其可以恢复到日志窗口保存周期内的任意时间点,这给IT管理人员对历史数据回溯要求访问提供了极大的帮助。
4 结束语
基于I/O颗粒度的持续数据保护技术作为一种集多种功能为一身的一体化灾备技术,将多种灾备功能集于一身,可以使得构造高等级、复杂灾备系统变得相对简单,也使得运维工作简化,从而最终降低企业在灾备系统上的整体投资以及面对意外风险的成本支出。
参考文献
[1]《数字烟草发展纲要》.2005年10月
[2]王庆波,金涬,何乐,等.虚拟化与云计算[M].北京:电子工业出版社,2009年
[3]魏洪等著.云计算应用落地探索[M].北京:邮电出版社.2011年
[4]刘林,熊琦,吴世忠.连续数据保护中的数据一致性保障技术研究综述[J].计算机科学,2011,(10):124-127
[5]王欢,李战怀,张晓.支持连续数据保护的云备份系统架构设计[J].计算机工程与应用,2012,(1):90-93