我刚刚使用 Ubuntu 安装程序(来自已安装的 ISO 映像)在 VPS 上安装了 Ubuntu 18.04 服务器。在安装的手动分区阶段,我选择了 BTRFS 作为我的文件系统类型。
现在安装已经完成,我看不到@
或@home
不像我通常在非服务器安装上看到的那样。我不关心@home
这里的子卷,但我不希望顶级卷安装在/
.
lsblk:
vda 252:0 0 25G 0 disk
|-vda1 252:1 0 1M 0 part
|-vda2 252:2 0 20G 0 part /
`-vda3 252:3 0 5G 0 part [SWAP]
不产生任何结果:
btrfs su li /
我接下来尝试了这个:
btrfs filesystem show | awk '/ path /{print $NF}'
/dev/vda2
和:
# findmnt
TARGET SOURCE FSTYPE OPTIONS
/ /dev/vda2 btrfs rw,relatime,space_cache,subvolid=5,subvol=/
如何在安装 18.04 服务器期间创建 BTRFS 子卷?
我想创建@
(for /
) 和@varlog
(for /var/log
) ,也许还有其他人。
我想将 Snapper 用于每小时快照。有没有推荐的方法来设置带有 BTRFS 和 Snapper 的 Ubuntu 服务器?
您可以
/
通过以下方式将您的移动到子卷:创建文件系统的快照。
将新的子卷挂载到
/mnt
.Chroot 到子卷并更新 grub。
更新
/mnt/etc/fstab
添加subvol=@
作为选项。重启。您将引导至子卷。确保它是这样的
它应该显示类似
/@
.这是适用于 Ubuntu Server 20.04 的解决方案。
@
它在第一次启动之前创建子卷并从/
卷中删除所有文件。使用 BTRFS 根分区安装 Ubuntu 20.04,但系统安装后不要重新启动。
切换到终端 ( Alt+ F2)。
切换到root用户,卸载BTRFS分区以外的所有设备:
如果您有其他挂载点(即
/home
)也卸载它们。创建
@
子卷并将所有文件移入其中:卸载您的 BTRFS 分区并再次安装它,这次指向
@
子卷。这也是定义一些额外安装选项的好时机(在我的示例中,有一些推荐用于 SSD 设备的选项)。我假设 BTRFS 音量低于/dev/sda2
(根据需要调整)现在是时候通过安装所有必要的设备来完成系统了,然后切换到它
chroot
(我假设你的引导分区是/dev/sda1
)如果您创建了一些其他分区(即
/home
)也将它们安装在这里fstab
在编辑器中打开:并使用 BTRFS 分区更新该行,即:
最后,设置引导加载程序(我假设
/dev/sda
)返回您的安装程序 ( Alt+ F1) 并重新启动。Ubuntu 应该启动到您的
@
子卷。