使用 btrfs 进行分区和 subvol 策略

Joh*_*nst 12 linux filesystems partitioning btrfs

我是 btrfs 的新手,我想要一些关于分区和子卷策略的建议。该系统是一个轻型网络服务器,假设它只有一个磁盘。

对于 ext 文件系统,我总是为 /、/var、swap(可能还有 /boot 和 /home)创建单独的分区。对我来说,/var 总是包含所有有价值的 Web 服务器数据(例如 MySQL 数据库),而不包含任何代码。这使我可以轻松地将数据移动到不同的系统(移动或复制 /var)或重新安装操作系统,而不会中断数据(重新格式化 /)等。

使用 btrfs,我可以做同样的事情,使用相同的分区方案,并在每个分区上有一个单独的 btrfs 文件系统。或者,我可以有一个分区,并为 /、/var 等使用 btrfs 子卷。这样做的利弊是什么?

在我看来,拥有 /-only 和 /var-only 快照可能有一些优势,例如(“将所有数据恢复到以前的检查点”与“恢复所有代码”与“恢复两者”)。是这样吗,还是仅以这种方式出现?

额外问题:在 btrfs 文件系统下使用 lvm 是否有优势?

附加问题 2:如果系统有两个相同大小的磁盘,您的建议会如何变化?

任何指向“这就是我所做的以及它如何为我工作”文章的指针也将不胜感激。我可以找到很多关于我能做什么的材料,但我没有找到很多说“这是我尝试过的,这就是它有效或无效的原因”。

小智 8

如果您没有特定需求,请像使用其他文件系统一样使用 btrfs。分离 /home 是一个很好的做法。

就个人而言,在家庭服务器上,我唯一的子卷是 /etc,因此我可以制作配置的快照。这可以使用 snapper 等工具自动化。

通常,因为还需要恢复 /lib/stuff,所以没有兴趣只恢复以前版本的 /var。这是一种全有或全无的情况。

/home 的快照可能非常大,因此磁盘大小管理很快就会成为问题。它可以毫无问题地完成,但要注意剩余空间。此外,由于快照只能在同一个磁盘上制作,因此它们不是磁盘故障时备份的解决方案。将它们视为“哎呀,我两个小时前删除了这个文件,但我仍然需要它”这样的情况。

奖励 1:无。事实上,btrfs 是为了简化堆栈 mdadm+lvm+fs 而设计的。所以最好避免它。

奖励 2:不,但是做一个 RAID 1!简单高效,您的数据会爱上您:)

Ninja 奖励:您可能真的很想好好看看btrfs wiki