今天说说滚动备份。滚动备份的提出也是蛮新鲜的一件事,用户面对千年一面的定时备份已有审美疲劳。在用户现场交流时,产品厂商的售前和销售工程师都倾向将滚动备份等同实时备份。原因在于,实时备份和定时备份的逼格差距太大。
那到底滚动备份是不是实时备份呢?
滚动备份的配置界面上通常会有这样的字眼:滚动间隔设置为上次备份任务结束XX小时YY分钟后执行,每天执行不超过ZZ次。
然后售前和销售工程师就会给领导解释,只要配置成0小时0分钟后执行,备份任务就一直不停,随时都有备份任务,就是实时备份。领导一听也对,随时都在备份,嗯,不错,性能不错,价格比实时备份便宜多了,就买这个。
然而,事实真的是这样吗。
假设售前和销售的话都对,为了达到实时备份的效果,每次备份时间只有在尽可能短的时间内结束,比如1秒或更短,须在每次写操作之后,下次写操作之前完成备份任务。这在实际上几乎不可能。
使用滚动备份策略的通常是文件备份和数据库备份,备份对象的数据量达到GB级已属常态。让我们看一个例子。现有文件40GB需要备份,增量判定扫描时间为10秒,每分钟变化量大约20MB,备份带宽10Mb,那么每次备份所消耗的时间为:30秒,即30 = 10 + 20 * 10 / 10 。(考虑到单位换算和传输协议消耗带宽)。此时,备份间隔设置为0,那么两次备份任务之间的实际差异为30秒,而不是实时。
此外,设置滚动备份间隔为0这种策略,对生产系统的性能有较大影响;同时,还带来另一个不确定因素,即下次备份任务和上次备份任务之间有强关联性,一旦上次备份任务故障,下次备份任务也将受到严重影响。
因此,把滚动备份看作事件触发类策略可能要合适一些。
欢迎探讨备份/恢复、容灾、虚拟化相关的各种技术、产品、方案。加QQ群:185466074
或扫描二维码加入。