1 / 24
文档名称:

数据备份技术方案.docx

格式:docx   大小:119KB   页数:24页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据备份技术方案.docx

上传人:sunhongz2 2022/7/25 文件大小:119 KB

下载得到文件列表

数据备份技术方案.docx

文档介绍

文档介绍:学口色
数据备份技术方案
0T
I白鸽学吧
目录
前言 3
系统保存一份文件和其对应簇号的映射链。因为映射链本身和簇位图也是文件, 有自己的映射链,所以针对重要的元数据,有一个固定的入口 : root inode
写入新数据
查找簇位图,找位值为 0的簇号
计算所需空间, 分配簇号给文件
将数据写入簇,再去文件一一簇号映射图更新
将对应的簇映射关系记录下来,到簇位图将对应位置改为 1。
白鸽学吧
删除数据
直接在簇号映射链中抹掉
簇位图对应簇改为 00
可以看出删除数据实际上不会抹掉实际的数据。所以,最重要的不是数据,而是文件 簇号映射链和位图等元数据。
bitmap
i
查找bit ej p
| 文件系统二写霰霜号分配空闿
I幡改映射表 修改bitmap
直接在映射坡中抹去
■删除数据〜
bitmap 废为。
也就是说我们要做备份,只需要把某时刻的文件系统中的映射图表保存下来。但是必须保
证卷上的数据不被 IO写入了,同时又要不应用还不能中断。既然原来的空间不能再写了,我 们可以写到其他的空闲区域。
白龌学吧
思路一:Copy on First Write (CoFW) ,在覆盖数据块之前,需要将被覆盖的数据块内
容复制出来,放到空闲的空间。
系统中将有两套元数据链,原来的元数据指向当前,快照的元数据链指向历史。原来的
存储空间永远是最新的数据,历史数据会逐渐搬出到空闲空间里面。
康餐之前把数据袋削出来
C 口 FW 原来G 指向当前
I E吸引
快照
(指向宣制后的毅据―
ni wr ■
思路二:Redirect on First Write (RoFW) 。先复制元数据,然后将针对源文件的更改 都重定向到空余空间,同时更新元数据。
与CoFW 不同的是,原来的数据块不会被覆盖。同样的,系统也有两套元数据,一套 是快照保存下来的,永远不更新,一套是源文件系统的,不断的更新。
其实只有首次覆盖的时候,才重定向,因为重定向以后的数据块,哪怕被覆盖了,也不影 响之前快照保存的数据了。
白鸽坐吧
到这一步,看上去挺完美,实际上存在一个问题 :如果元数据 特别大怎么办?对于海量庞
大的文件系统,元数据量可能到 GB级别。如果复制的话,时间上仍然太多。
我们可以回头想想,实际上元数据可以看做指针,指向具体存储的位置。我们复制到元数
据,相当于复制了一堆指针。 现在元数据太多了, 我们能不能把这个元数据链的指针给复制了?
当然可以,元数据有个根入口块,或者称为 Super Block ,这个块是固定不变的,里面存放有
指向下一级元数据链块的指针。
那么操作系统每次载入元数据的时候,都需要从这个地址读入 Super Block ,从而一层
层的遍历。
基于物理卷的快照
基于物理卷的快照比文件系统快照要简单得多。因为 LUN 一般在底层磁盘上是恒定的,
不像文件系统一样可以随机细粒度的分布。所以可以认为 LUN的元数据就是在底层磁盘的起
始和结束地址。这样在快照的时候,需要复制的元数据就更少了,但是完成了以后,需要按照 一定粒度来做 CoFW或者RoFW ,还需要记录更多数据映射指针,就比较难受了。
10
白鸽坐吧
对于实现了块级虚拟化的系统如 NetApp、XIV、3PAR等,它们的LUN在底层位置是不
固定的,LUN就相当于一个文件,存在元数据链来进行映射管理的维护,所以这些系统实现快 照的原理与文件系统快照类似。
基于物理卷的快照, 相当于给物理卷增加了 “卷扇区映射管理系统” 。在底层卷实现快照,
可以减轻文件系统的负担。
卷扇区方都是用 LBA来编号的,实现快照的时候,程序首先保留一张初始 LBA表,每当
有新的写入请求的时候,重定向到另一个地方,并在初始的 LBA表中做好记录,比如 :
原始LBA :卷A的10000 号,映射到 LBA :卷 B的100号。
值得说明的是,文件系统无法感知重定向,文件系统在它的映射图里面还是记录了原始的
LBA地址。此时如果来了新的写 IO ,有两种方式一种是 Write Redirect ,另外一种是 Copy on
Write 。
所谓 Write Redirect 就是将文件系统的读写请求,重定向到卷 B,这样每次IO其实都会
查找快照映射表,降低了性能。所以引入了 Copy on Write 。
11
白鸽坐吧
所谓Copy on write ,