所谓备份,即将当前时间点上的系统或数据进行备份,如果原始数据损坏或丢失,可通过备份进行恢复。而备份涉及的技术手段也很多,今天我们就详细了解下备份所涉及的相关技术概念和技术原理。
一、备份涉及的模式有哪些?
备份涉及的模式总体分为三种,分别是全量备份、差异备份和增量备份。
①全量备份:如字面意思,对原数据进行全部备份
备份策略:每次都执行全量备份
优点:备份的数据更全面,更有保障。如需恢复数据时,恢复时间更短。
缺点:占据备份空间大,备份成本高,且备份时间需要更长。
②差异备份:除了首次全量备份外,后续备份与全量数据的差异部分
备份策略:设置特定时间执行全量备份,后续备份与全量备份的差异部分
优点:数据备份量相对全面,数据相对保障,恢复时间相对较短
缺点:数据空间相对占用较大,备份时间相对较长
③增量备份:除了首次全量备份外,后续备份与上次备份的差异部分
备份策略:设置特定时间执行全量备份,后续备份与上次备份的差异部分
优点:空间占用最小,成本最低。备份时间最短
缺点:数据相对没有那么高保障,如一段增量确实,整体数据恢复会受到影响。且恢复速度相对最慢
二、备份常见的方式
1、通过硬盘或其它备份介质,直接复制粘贴原数据
2、备份软件备份数据到存储设备
3、快照工具执行快照
4、镜像工具执行镜像
三、备份常见的底层技术原理
Ⅰ 快照
定义:
快照是特定数据集在某个时间点上的一个数据拷贝,快照可以是数据再现的一个副本或者复制。常用在给系统做镜像快照或者云硬盘快照,适用于虚机数据丢失或损坏时,快速回滚虚机系统或硬盘到某个时间点的状态。
快照分为全量快照和差分快照两种,如字面意思,全量快照是原数据的某个时刻的全量记录,而差分快照则是原数据的差异数据的记录。而查分快照则分为COW和ROW两种。COW和ROW区别如下:
COW:
写时拷贝,当一个新的写操作执行时:
首先读出写操作将要覆盖地址的当前数据
将读出数据保存至专用空间并建立索引
新的写操作执行(写入目标地址)
特点:读基本无影响,首次写有影响,一次读两次写
ROW:
写时重定前向,读写操作步骤:
到源盘的新的写操作被存入日志(并索引)
读源卷时,先检索日志
读快照时,源卷需要引用
当快照取消时,写日志必须全部执行以与源卷保证数据状态同步更新
特点:写操作基本无影响,读操作潜在影响(可能出比较严重的数据碎片化)
Ⅱ 云主机备份的CBT技术
定义:
CBT(Changing Block Tracing),改变块追踪技术,基于虚拟机快照的一个技术,它将虚拟机在快照后变化的数据块记录到CBT文件中。
能力:
①跟踪对虚拟机所做的更改,仅备份变更的数据块
②可将CBT 用于恢复,仅恢复变更的数据块
特点:
①备份时间最短:只发送真正唯一的变更数据,从而使网络流量和备份时段均降至最低
②恢复时间最短:恢复到原虚拟机时,仅恢复自目标恢复点备份以来发生变更的数据块,显著减少恢复时间
原理:
CBT三个原理关键词:内存位图、CBT文件、CBT版本号。
内存位图:虚拟机首次启动CBT备份时,系统在主机上创建的内存区,用以对虚拟机的每一个数据块变更进行记录。每个数据块采用1bit进行数据变更记录,0表示该数据块数据未发生变更,1表示该数据块数据发生了变更。
CBT文件:虚拟机首次启动CBT备份时,系统在虚拟机磁盘所在存储空间中创建的文件,用以记录虚拟机的每一个数据块变更的状态。与内存位图的记录不同的是,CBT文件记录了不同备份点上的数据块变更情况,并同时与备份文件上传到eBackup服务器上进行备份。每一个备份点会生成一个与备份文件对应的静态CBT文件,同时会复制一份CBT文件,用于记录此次备份到下次备份期间的数据变更情况。不同时间点上的CBT文件通过CBT文件的版本号区分。
CBT版本号:CBT文件中用以记录每个数据块变更情况的序号。每个数据块的CBT版本号采用4Byte进行记录,跟随CBT文件号进行变更。CBT版本号的引入,使CBT备份可支持累积增量式备份和差异增量式备份,使备份和恢复更加灵活。
CBT文件1记录原始磁盘Disk1的有效数据块,有数据的数据块记录CBT版本号为1,无数据的数据块记录CBT版本号为0。