快照 简介

快照广泛应用在数据库、文件系统和块存储领域。使用快照的目的,恢复被删除或者被损坏的文件。目前实现快照的方式有两种写时复制和写时重定向。

写时重定向 VS 写时复制

两种实现的时间复杂度都是o(1),两者最重要的区别在于如何处理(存储)对前一个版本的修改。

写时复制会将原先的版本在被覆盖写之前,拷贝到其他位置。这是会产生一次读两次写操作。对于读操作如果没有修改将会读取原先的版本,如果已经产生了修改则将由快照管理系统返回特定版本的数据。对于每一个数据块进行这样的判断过程增加了计算开销。

写时重定向仅仅在写时将数据指针指向新的块。快照系统管理数据块的指针。如果打算获取特定的快照内容只要访问具体的指针即可。在读取时的为判断产生的开销将不会产生,只产生了1/3的IO操作。

随着快照数量的增加性能区别将会很明显。写时复制只适合零时文件以及那些不长期维护的文件。如果打算长期使用一个系统并且定期产生快照,建议使用写时重定向的快照方式。

快照 VS 备份

快照和备份的不同。备份是实实在在的文件,而快照是虚拟的副本,一个具体的表现是删除之后可能并不会释放很多空间,原因就在于快照实现只是一个标记。

文件系统快照

EMC的Isilon OneFS提供文件/目录级别的快照。

Btrfs和OCFS2支持为文件创建快照。

你可能感兴趣的:(快照 简介)