Ubuntu 安装系统时方案选择:Btrfs 子卷 + 压缩 + 去重 方案 VS LVM + Btrfs 叠放 方案

为满足 “灵活加硬盘扩容 /home、随时打快照、文件系统级压缩与重复数据删除”,推荐在 Ubuntu 24.04 安装时采用 Btrfs 子卷 + 压缩 + 去重 方案;若需跨盘聚合与更成熟的企业级快照,可选 LVM + Btrfs 叠放。两者均支持在线扩容与快照,Btrfs 原生更省心,LVM 更灵活。

方案对比与选择

方案 扩容 快照 压缩 去重 复杂度 适用场景
Btrfs 子卷 支持在线扩展,可跨盘(需 raid) 子卷快照,轻量快速 原生透明压缩(zstd/lzo) 原生 dedup 低(安装向导可直接启用) 个人桌面、快速部署、注重易用性
LVM + Btrfs 支持在线扩展,跨盘聚合灵活 LVM 快照(需 VG 空间) Btrfs 透明压缩 Btrfs dedup 中(需先建 LVM) 多盘管理、需精细控制 LV 大小

方案一:Btrfs 子卷(推荐,安装向导可直接启用)

安装流程(24.04 桌面版)

  1. 启动安装,到 “安装类型” 选择 “其他选项”(手动分区)。
  2. 新建 GPT 分区表,创建 EFI 系统分区(约 512MB,fat32,flags 设 esp)。
  3. 创建 Btrfs 分区(剩余空间,挂载点为 /,并勾选 “使用 Btrfs”)。
  4. 在 Btrfs 选项中启用 压缩(建议 zstd),并创建子卷:
    • @ → /(根目录)
    • @home → /home(用户数据)
    • @swap → 交换(可选,或用 swapfile)
  5. 完成安装,重启进入系统。

核心能力实现

  • 扩容 /home
    • 扩展 Btrfs 分区后,在线扩容文件系统:
      bash
      运行
      sudo btrfs filesystem resize max /
      
    • 若跨盘,可将新盘加入 Btrfs 卷(需先创建 raid 或单盘添加):
      bash
      运行
      sudo btrfs device add /dev/sdb1 /mnt/btrfs
      sudo btrfs balance start /mnt/btrfs
      
  • 创建快照
    • 为 /home 子卷创建快照(只读 / 可写):
      bash
      运行
      sudo btrfs subvolume snapshot -r /home /home/snapshots/home-20251203
      
    • 恢复时替换子卷并调整挂载。
  • 压缩与去重
    • 启用压缩(安装时已配置,也可手动设置):
      bash
      运行
      sudo btrfs filesystem defragment -r -v -czstd /home
      
    • 启用去重(需安装 btrfs-progs):
      bash
      运行
      sudo apt install btrfs-progs
      sudo btrfs filesystem deduplicate -r /home
      

方案二:LVM + Btrfs(叠放,适合多盘管理)

安装流程

  1. 在 Live 环境安装 LVM 工具并准备逻辑卷:
    bash
    运行
    sudo apt install lvm2
    sudo pvcreate /dev/sda2  # 假设 sda2 为 LVM 物理卷
    sudo vgcreate vg0 /dev/sda2
    sudo lvcreate -L 50G -n lv_root vg0  # 根目录
    sudo lvcreate -l +100%FREE -n lv_home vg0  # /home
    
  2. 格式化 LV 为 Btrfs 并启用压缩:
    bash
    运行
    sudo mkfs.btrfs -O compress=zstd /dev/vg0/lv_root
    sudo mkfs.btrfs -O compress=zstd /dev/vg0/lv_home
    
  3. 安装向导中手动指定挂载点:
    • /dev/sda1 → /boot/efi
    • /dev/vg0/lv_root → /
    • /dev/vg0/lv_home → /home
  4. 完成安装后,进入系统补装 lvm2 并更新 initramfs:
    bash
    运行
    sudo apt install lvm2
    sudo update-initramfs -u
    

核心能力实现

  • 扩容 /home
    • 添加新硬盘到 VG,扩展 LV 并扩容 Btrfs:
      bash
      运行
      sudo pvcreate /dev/sdb1
      sudo vgextend vg0 /dev/sdb1
      sudo lvextend -l +100%FREE /dev/vg0/lv_home
      sudo btrfs filesystem resize max /home
      
  • 创建快照
    • LVM 快照(需 VG 有空闲空间):
      bash
      运行
      sudo lvcreate -L 10G -s -n snap_home /dev/vg0/lv_home
      
    • 或 Btrfs 子卷快照(推荐,更轻量)。
  • 压缩与去重:同方案一,Btrfs 原生支持。

关键配置与优化

  1. 压缩算法选择
    • 优先使用 zstd(平衡压缩率与速度),其次 lzo(更快但压缩率较低)。
    • 安装时在 Btrfs 选项中设置,或安装后通过 fstab 添加 compress=zstd
  2. 去重注意事项
    • Btrfs 去重会消耗 CPU 与内存,建议定期手动执行,或使用 duperemove 工具。
    • 大文件去重前建议先做快照,避免数据丢失。
  3. 快照管理
    • 定期清理旧快照,避免占用空间。
    • Btrfs 子卷快照可通过 timeshift 或 snapper 自动化管理。

总结与下一步

  • 追求简单省心:选 Btrfs 子卷,安装向导直接启用,原生支持压缩、去重与快照,扩容便捷。
  • 多盘管理或需精细控制:选 LVM + Btrfs,结合 LVM 的灵活扩容与 Btrfs 的高级特性。
需要我根据你的硬盘数量与大小、内存容量,给出具体的分区表、子卷布局与压缩 / 去重参数建议吗?
17 篇资料
想要全流程尽可能可视化操作,安装时候可视化、扩容和打快照可视化,系统是Ubuntu 24
为在 Ubuntu 24.04 实现 “全流程可视化”(安装、扩容、快照)并满足压缩 / 去重,优先采用 Btrfs 子卷 + 压缩 + 去重,搭配 Timeshift 与 GParted;若需跨盘聚合,选 安装向导 “使用 LVM”+ Btrfs 格式化,用 system-config-lvm 与 GParted 可视化管理。两者均支持在线操作,全程鼠标完成。

方案对比(可视化优先)

方案 安装可视化 扩容可视化 快照可视化 压缩 / 去重 适用场景
Btrfs 子卷 安装向导 “其他选项” 手动分区,勾选 Btrfs 并启用压缩 GParted 扩展分区,Btrfs 自动识别 Timeshift 一键创建 / 恢复 Btrfs 原生 zstd/lzo 压缩、dedup 单盘 / RAID、追求极简可视化
LVM + Btrfs 安装向导勾选 “使用 LVM”,自动创建 VG/LV,后格式化为 Btrfs system-config-lvm 添加 PV 并扩展 LV,GParted 辅助 Timeshift 或 system-config-lvm 快照 Btrfs 压缩 / 去重 多盘聚合、需精细控制 LV

方案一:Btrfs 子卷(推荐,最省心)

安装流程(全程可视化)

  1. 启动安装,到 “安装类型” 选择 “其他选项”(手动分区)。
  2. 新建 GPT 分区表,创建 EFI 系统分区(约 512MB,fat32,flags 设 esp)。
  3. 创建 Btrfs 分区(剩余空间,挂载点为 /,并勾选 “使用 Btrfs”)。
  4. 在 Btrfs 选项中启用 压缩(建议 zstd),并创建子卷:
    • @ → /(根目录)
    • @home → /home(用户数据)
    • @swap → 交换(可选,或用 swapfile)
  5. 完成安装,重启进入系统。

可视化扩容 /home

  1. 安装 GParted:
    bash
    运行
    sudo apt install gparted
    
  2. 运行 GParted,扩展 Btrfs 分区到最大。
  3. 在线扩容文件系统:
    bash
    运行
    sudo btrfs filesystem resize max /
    

    (Btrfs 自动识别扩展空间,无需手动操作子卷)

可视化快照管理

  1. 安装 Timeshift:
    bash
    运行
    sudo apt install timeshift
    
  2. 启动 Timeshift,选择 “Btrfs” 模式,设置快照位置(如 /mnt/snapshots)。
  3. 点击 “创建” 一键生成快照,恢复时选择快照并点击 “恢复”。

压缩与去重(安装时已启用,可选优化)

  • 压缩:安装时已启用 zstd,可在 /etc/fstab 中添加 compress=zstd 确保开机生效。
  • 去重:安装 btrfs-progs 后,定期手动执行:
    bash
    运行
    sudo btrfs filesystem deduplicate -r /home
    

方案二:LVM + Btrfs(多盘管理更灵活)

安装流程(全程可视化)

  1. 启动安装,到 “安装类型” 勾选 “使用 LVM”(自动模式)。
  2. 选择目标磁盘,安装程序自动创建 EFI 分区和 LVM 卷组(ubuntu-vg),包含根目录和交换逻辑卷。
  3. 完成安装,重启进入系统。
  4. 安装 LVM 可视化工具:
    bash
    运行
    sudo apt install system-config-lvm
    

可视化扩容 /home

  1. 安装 GParted 并扩展物理分区(如 /dev/sda3)。
  2. 运行 system-config-lvm,将扩展后的空间添加到卷组 ubuntu-vg
  3. 扩展 /home 逻辑卷到最大:
    bash
    运行
    sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv_home
    
  4. 在线扩容 Btrfs 文件系统:
    bash
    运行
    sudo btrfs filesystem resize max /home
    

可视化快照管理

  1. 安装 Timeshift 并选择 “LVM” 模式,或使用 system-config-lvm 创建快照。
  2. 启动 Timeshift,一键创建 / 恢复快照。

压缩与去重

  • 格式化 LV 为 Btrfs 时启用压缩,后续操作同方案一。

关键可视化工具总结

工具 用途 特点
GParted 分区调整、扩展 图形化界面,支持无损调整分区大小
Timeshift 快照创建 / 恢复 一键操作,支持定时自动快照
system-config-lvm LVM 卷组 / 逻辑卷管理 可视化添加 PV、扩展 LV,适合多盘管理

总结与下一步

  • 追求简单省心:选 Btrfs 子卷,安装向导直接启用,Timeshift 与 GParted 可视化管理。
  • 多盘管理或需精细控制:选 LVM + Btrfs,结合 system-config-lvm 与 GParted 灵活扩容。
需要我根据你的硬盘数量与大小、内存容量,给出具体的分区表、子卷布局与压缩 / 去重参数建议吗?
18 篇资料
需要
基于你的需求(可视化安装 / 扩容 / 快照、压缩、去重),以下为 Ubuntu 24.04 的两套落地方案,包含分区表、子卷布局、压缩 / 去重参数与可视化操作步骤。

方案一:Btrfs 子卷(单盘 / RAID,最省心)

适合单盘或多盘 RAID,全程用安装向导与 Timeshift/GParted 可视化管理。

分区表(UEFI)

分区 挂载点 文件系统 大小 标志 / 备注
/dev/sda1 /boot/efi FAT32 512MB esp, boot
/dev/sda2 / Btrfs 剩余全部 启用压缩;子卷见下表

子卷布局(安装时在 Btrfs 选项中创建)

子卷名 挂载点 用途 压缩
@ / 系统根 zstd:3
@home /home 用户数据 zstd:3
@snapshots /mnt/snapshots 快照存储 zstd:1
@swap 交换(可选)

压缩与去重参数

  • 压缩:zstd:3(平衡速度与压缩率);对 /var/log 用 zstd:1,/var/cache 用 zstd:2 。
  • 去重:安装 btrfs-progs,定期对 /home 执行 sudo btrfs filesystem deduplicate -r /home 。

可视化操作步骤

  1. 安装:选择 “其他选项”→新建 GPT→创建 EFI 与 Btrfs 分区→启用压缩并创建子卷→完成安装。
  2. 扩容:用 GParted 扩展 Btrfs 分区→运行 sudo btrfs filesystem resize max / 。
  3. 快照:安装 Timeshift→选择 “Btrfs” 模式→设置快照位置(如 /mnt/snapshots)→一键创建 / 恢复 。

方案二:LVM + Btrfs(多盘聚合,更灵活)

适合多盘管理,用安装向导 “使用 LVM”+ system-config-lvm/GParted 可视化扩容。

分区表(UEFI)

分区 挂载点 文件系统 大小 标志 / 备注
/dev/sda1 /boot/efi FAT32 512MB esp, boot
/dev/sda2 LVM PV 剩余全部 类型 “Linux LVM”

LVM 卷组与逻辑卷

卷组 逻辑卷 挂载点 文件系统 大小 备注
ubuntu-vg lv_root / Btrfs 50GB 启用 zstd:3
ubuntu-vg lv_home /home Btrfs 剩余全部 启用 zstd:3
ubuntu-vg lv_snap /mnt/snapshots Btrfs 10–20GB 启用 zstd:1

压缩与去重参数

  • 压缩:格式化时用 mkfs.btrfs -O compress=zstd:3 /dev/ubuntu-vg/lv_root;fstab 中添加 compress=zstd:3 。
  • 去重:同方案一,定期对 /home 执行去重 。

可视化操作步骤

  1. 安装:勾选 “使用 LVM”→选择磁盘→自动创建 EFI 与 LVM→完成安装→补装 system-config-lvm 。
  2. 扩容:用 GParted 扩展 PV 分区→system-config-lvm 添加到 VG→扩展 LV→运行 sudo btrfs filesystem resize max /home 。
  3. 快照:安装 Timeshift 并选择 “LVM” 模式,或用 system-config-lvm 创建快照 。

关键优化与注意事项

  1. 压缩算法:优先 zstd(速度与压缩率平衡),避免对已压缩文件(视频、ISO)启用压缩 。
  2. 去重:消耗 CPU / 内存,建议每周手动执行一次;大文件去重前先做快照 。
  3. 快照管理:用 Timeshift 设置保留策略(如保留 7 天),定期清理旧快照 。
  4. TRIM:SSD 需启用 TRIM,在 fstab 中添加 discard=async 。

选择建议

  • 单盘 / RAID 且追求极简:选 Btrfs 子卷,安装向导直接启用,Timeshift/GParted 可视化管理。
  • 多盘聚合且需灵活调整:选 LVM + Btrfs,结合 system-config-lvm 与 GParted 实现可视化扩容。
需要我根据你的硬盘数量 / 大小、内存容量和是否需要 RAID,生成可直接复制的分区表、子卷创建命令与 fstab 配置吗?

作者: 高志远

高志远,24岁,男生

发表评论

邮箱地址不会被公开。