我的 BTRFS 子卷在哪里?

Mou*_*inX 6 server filesystem btrfs system-installation 18.04

我刚刚使用 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]
Run Code Online (Sandbox Code Playgroud)

不产生任何结果:

btrfs su li /
Run Code Online (Sandbox Code Playgroud)

我接下来尝试了这个:

btrfs filesystem show | awk '/ path /{print $NF}'
/dev/vda2
Run Code Online (Sandbox Code Playgroud)

和:

# findmnt
TARGET    SOURCE     FSTYPE     OPTIONS
/         /dev/vda2  btrfs      rw,relatime,space_cache,subvolid=5,subvol=/
Run Code Online (Sandbox Code Playgroud)

如何在安装 18.04 服务器期间创建 BTRFS 子卷?

我想创建@(for /) 和@varlog(for /var/log) 以及其他人。

我想使用 Snapper 进行每小时快照。有没有推荐的方法来设置带有 BTRFS 和 Snapper 的 Ubuntu 服务器?

Pil*_*ot6 4

您可以/通过以下方式将您的子卷移动到子卷:

  1. 创建文件系统的快照。

     btrfs sub snap / /@
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将新的子卷挂载到/mnt.

     mount -o subvol=@ /dev/vda2 /mnt
    
    Run Code Online (Sandbox Code Playgroud)
  3. chroot 到子卷并更新 grub。

     cd /mnt
     mount -o bind /dev  dev
     mount -o bind /sys  sys
     mount -o bind /proc proc
     chroot /mnt
     update-grub
     exit
    
    Run Code Online (Sandbox Code Playgroud)
  4. 更新/mnt/etc/fstab将其添加subvol=@为选项。

  5. 重启。您将启动到子卷。确保情况属实

     mount | grep vda2
    
    Run Code Online (Sandbox Code Playgroud)

它应该显示类似的内容

   /dev/vda2 on / type btrfs (rw,relatime,space_cache,subvolid=257,subvol=/@) 
Run Code Online (Sandbox Code Playgroud)
  1. 现在您可以将顶部子卷安装到某处并删除其内容(除了 )/@