Filesystems BTRFS和ZFS快照如何工作?

Filesystems BTRFS和ZFS快照如何工作?,filesystems,snapshot,zfs,btrfs,Filesystems,Snapshot,Zfs,Btrfs,更具体地说,他们如何查看整个子卷并记住它的所有内容(文件、文件大小、文件夹结构),同时将其放入如此少量的数据中。假设我有一个名称列表: Joe Bob Fred 你让我记住这张单子。所以我走了,好的: Joe Bob Fred (as of 06/01/15) 第二天,你告诉我在名单的末尾加上“约翰”这个名字。然后,我复制列表以获得: Joe Bob Fred (as of 06/01/15) Joe Bob Fred John (current) 这是快照工作原理的超级简单的描述。文件

更具体地说,他们如何查看整个子卷并记住它的所有内容(文件、文件大小、文件夹结构),同时将其放入如此少量的数据中。

假设我有一个名称列表:

Joe
Bob
Fred
你让我记住这张单子。所以我走了,好的:

Joe
Bob
Fred
(as of 06/01/15)
第二天,你告诉我在名单的末尾加上“约翰”这个名字。然后,我复制列表以获得:

Joe
Bob
Fred
(as of 06/01/15)

Joe
Bob
Fred
John
(current)
这是快照工作原理的超级简单的描述。文件系统会为自己留下快照发生的时间记录,然后在进行更改时,它会从快照中创建一个新的副本,并改为写入快照

当然,快照是按需提供的。将仅复制您写入的文件的部分。从高层次的角度来看,BTRFS的净效果是“冻结”文件,然后根据冻结的数据将未来的更改记录为增量。当然,三角洲可以堆叠和分支等


要回答您的问题,说“自我提醒:不要碰这些文件!”的动作根本不需要花太多时间。

merkle trees,共享nodes@sehe你能详细说明一下吗?我相信在一般情况下,关于这些概念(仅仅是维基百科的Merkle树、COW、ZFS甚至Git)的文档比任何人在这里为你写的临时文档都要好。如果你想要辅导,我相信也有这样的网站。