如果我理解正确的话,btrfs 快照仅存储相对于称为“第一根文件系统”的基本文件系统的更改。我的第一个根文件系统是在 2017 年创建的,因此快照非常大,因为从那时起发生了很多变化。是否可以使我当前的文件系统成为“第一个根文件系统”,以便快照不那么重?
答案1
BTRFS 快照引用拍摄快照时的数据。当您尝试更改该数据时,它首先会被复制,从而使原始数据保持不变。如果您保留许多快照,那么它们肯定会占用大量存储空间,但单个快照本身的大小不会增加。听起来您有引用不再使用的旧数据的快照。要释放空间,只需删除不需要的快照即可。
解释
简单来说,快照就是及时冻结的数据;不涉及任何差异,其实现方式也与 LVM 快照不同。这是一个简单的实验来证明这一点:
- 创建子卷。
- 更改其中的数据。
- 快照它。
- 重复,比如说……几次来模拟记录各种变化。
- 删除一些中间快照。
您会注意到其余快照不受影响。如果使用差异,则不允许删除中间快照,因为它们会破坏文件系统。