![如何使我当前的文件系统成为 BTRFS 中的第一个根文件系统](https://linux22.com/image/182022/%E5%A6%82%E4%BD%95%E4%BD%BF%E6%88%91%E5%BD%93%E5%89%8D%E7%9A%84%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E6%88%90%E4%B8%BA%20BTRFS%20%E4%B8%AD%E7%9A%84%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%A0%B9%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F.png)
如果我理解正确的话,btrfs 快照仅存储相对于称为“第一根文件系统”的基本文件系统的更改。我的第一个根文件系统是在 2017 年创建的,因此快照非常大,因为从那时起发生了很多变化。是否可以使我当前的文件系统成为“第一个根文件系统”,以便快照不那么重?
答案1
BTRFS 快照引用拍摄快照时的数据。当您尝试更改该数据时,它首先会被复制,从而使原始数据保持不变。如果您保留许多快照,那么它们肯定会占用大量存储空间,但单个快照本身的大小不会增加。听起来您有引用不再使用的旧数据的快照。要释放空间,只需删除不需要的快照即可。
解释
简单来说,快照就是及时冻结的数据;不涉及任何差异,其实现方式也与 LVM 快照不同。这是一个简单的实验来证明这一点:
- 创建子卷。
- 更改其中的数据。
- 快照它。
- 重复,比如说……几次来模拟记录各种变化。
- 删除一些中间快照。
您会注意到其余快照不受影响。如果使用差异,则不允许删除中间快照,因为它们会破坏文件系统。