Linux 文件系统快速备份
目录
LVM(Logical Volume Manager) 快照机制
快照指的是在创建完快照后,快照里的数据不再发生改变。就算原始数据发生变化,读取快照的数据仍然是创建快照的时间点的数据。
创建快照的时候,仅创建了指向实际数据的 inode 的硬连接,所以速度很快。
快照是一个逻辑卷(类似于硬盘),需要挂载后使用。
现在我们有两个卷。一个是原始卷,存储了原始数据。另一个是快照卷。
那么要更新原始卷的数据的时候是怎么处理的?
数据最终会更新到原始卷里面。为了保持读取快照数据的时候不发生变化,系统会在更新原始卷之前,将原始卷将要改变的数据块复制到快照卷的存储空间里面,然后修改原始卷的数据块。
创建快照的时候申请了一个存储空间。如果存储空间满了,则快照失效。因为原始卷如果继续更新数据,系统无法把原始数据块复制到快照卷的存储空间,读取快照的时候就没法读取到修改前的数据。
https://www.cnblogs.com/sparkdev/p/10232567.html
原始数据卷还原到快照状态的方式有两种:
- 全量备份快照的数据,删除原始卷,把快照的备份数据还原到原始卷
- 使用 lvconvert –merge 合并快照卷
全量备份快照的数据的时候,会从原始卷中复制没有被修改的块,以及从快照卷中复制备份的数据块。
使用快照创建测试环境。即把快照作为可读写卷。如果把数据直接写入到快照,目标数据块会被标记为使用,不会从原始数据卷中复制这个数据块的内容。
即使仅修改数据块的一小部分,也会因读写单位是数据块而从原始数据卷中读取整个数据块,并在写入快照时写入整个数据块,所以没必要再从原始数据卷中复制。
https://www.linuxidc.com/Linux/2016-09/135484.html
快照针对的是整个磁盘,不是文件系统中的某个文件夹。