AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1204802
Accepted
MountainX
MountainX
Asked: 2020-01-22 21:31:37 +0800 CST2020-01-22 21:31:37 +0800 CST 2020-01-22 21:31:37 +0800 CST

我的 BTRFS 子卷在哪里?

  • 772

我刚刚使用 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 服务器?

system-installation btrfs filesystem server 18.04
  • 2 2 个回答
  • 3831 Views

2 个回答

  • Voted
  1. Best Answer
    Pilot6
    2020-01-23T09:38:24+08:002020-01-23T09:38:24+08:00

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

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

       btrfs sub snap / /@
      
    2. 将新的子卷挂载到/mnt.

       mount -o subvol=@ /dev/vda2 /mnt
      
    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
      
    4. 更新/mnt/etc/fstab添加subvol=@作为选项。

    5. 重启。您将引导至子卷。确保它是这样的

       mount | grep vda2
      

    它应该显示类似

       /dev/vda2 on / type btrfs (rw,relatime,space_cache,subvolid=257,subvol=/@) 
    
    1. 现在您可以将顶部子卷挂载到某处并删除其内容,除了/@.
    • 4
  2. ytropek
    2020-05-15T16:14:42+08:002020-05-15T16:14:42+08:00

    这是适用于 Ubuntu Server 20.04 的解决方案。@它在第一次启动之前创建子卷并从/卷中删除所有文件。

    1. 使用 BTRFS 根分区安装 Ubuntu 20.04,但系统安装后不要重新启动。

    2. 切换到终端 ( Alt+ F2)。

    3. 切换到root用户,卸载BTRFS分区以外的所有设备:

      sudo -i
      umount /target/boot/efi
      umount -l /target/run
      umount /target/cdrom
      

      如果您有其他挂载点(即/home)也卸载它们。

    4. 创建@子卷并将所有文件移入其中:

      cd /target
      btrfs subvolume create @
      ls | grep -v @ | xargs mv -t @
      
    5. 卸载您的 BTRFS 分区并再次安装它,这次指向@子卷。这也是定义一些额外安装选项的好时机(在我的示例中,有一些推荐用于 SSD 设备的选项)。我假设 BTRFS 音量低于/dev/sda2(根据需要调整)

      cd /
      umount /target
      mount -o subvol=@,ssd,noatime,space_cache,commit=120,compress=zstd:2 /dev/sda2 /target 
      
    6. 现在是时候通过安装所有必要的设备来完成系统了,然后切换到它chroot(我假设你的引导分区是/dev/sda1)

      mount /dev/sda1 /target/boot/efi
      mount --bind /proc /target/proc
      mount --bind /dev /target/dev
      mount --bind /sys /target/sys
      chroot /target
      

      如果您创建了一些其他分区(即/home)也将它们安装在这里

    7. fstab在编辑器中打开:

      vi /etc/fstab
      

      并使用 BTRFS 分区更新该行,即:

      UUID=xxx / btrfs default,subvol=@,ssd,noatime,space_cache,commit=120,compress=zstd:2  0 0
      
    8. 最后,设置引导加载程序(我假设/dev/sda)

      update-initramfs -u -k all
      grub-install --recheck /dev/sda
      update-grub 
      exit
      
    9. 返回您的安装程序 ( Alt+ F1) 并重新启动。Ubuntu 应该启动到您的@子卷。

    • 4

相关问题

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve