为满足 “灵活加硬盘扩容 /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 桌面版)
- 启动安装,到 “安装类型” 选择 “其他选项”(手动分区)。
- 新建 GPT 分区表,创建 EFI 系统分区(约 512MB,fat32,flags 设 esp)。
- 创建 Btrfs 分区(剩余空间,挂载点为
/,并勾选 “使用 Btrfs”)。 - 在 Btrfs 选项中启用 压缩(建议 zstd),并创建子卷:
@→/(根目录)@home→/home(用户数据)@swap→ 交换(可选,或用 swapfile)
- 完成安装,重启进入系统。
核心能力实现
- 扩容 /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
- 扩展 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(叠放,适合多盘管理)
安装流程
- 在 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 - 格式化 LV 为 Btrfs 并启用压缩:
bash运行
sudo mkfs.btrfs -O compress=zstd /dev/vg0/lv_root sudo mkfs.btrfs -O compress=zstd /dev/vg0/lv_home - 安装向导中手动指定挂载点:
/dev/sda1→/boot/efi/dev/vg0/lv_root→//dev/vg0/lv_home→/home
- 完成安装后,进入系统补装
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
- 添加新硬盘到 VG,扩展 LV 并扩容 Btrfs:
- 创建快照:
- LVM 快照(需 VG 有空闲空间):
bash运行
sudo lvcreate -L 10G -s -n snap_home /dev/vg0/lv_home - 或 Btrfs 子卷快照(推荐,更轻量)。
- LVM 快照(需 VG 有空闲空间):
- 压缩与去重:同方案一,Btrfs 原生支持。
关键配置与优化
- 压缩算法选择:
- 优先使用
zstd(平衡压缩率与速度),其次lzo(更快但压缩率较低)。 - 安装时在 Btrfs 选项中设置,或安装后通过
fstab添加compress=zstd。
- 优先使用
- 去重注意事项:
- Btrfs 去重会消耗 CPU 与内存,建议定期手动执行,或使用
duperemove工具。 - 大文件去重前建议先做快照,避免数据丢失。
- Btrfs 去重会消耗 CPU 与内存,建议定期手动执行,或使用
- 快照管理:
- 定期清理旧快照,避免占用空间。
- Btrfs 子卷快照可通过
timeshift或snapper自动化管理。
总结与下一步
- 追求简单省心:选 Btrfs 子卷,安装向导直接启用,原生支持压缩、去重与快照,扩容便捷。
- 多盘管理或需精细控制:选 LVM + Btrfs,结合 LVM 的灵活扩容与 Btrfs 的高级特性。
需要我根据你的硬盘数量与大小、内存容量,给出具体的分区表、子卷布局与压缩 / 去重参数建议吗?
想要全流程尽可能可视化操作,安装时候可视化、扩容和打快照可视化,系统是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 子卷(推荐,最省心)
安装流程(全程可视化)
- 启动安装,到 “安装类型” 选择 “其他选项”(手动分区)。
- 新建 GPT 分区表,创建 EFI 系统分区(约 512MB,fat32,flags 设 esp)。
- 创建 Btrfs 分区(剩余空间,挂载点为
/,并勾选 “使用 Btrfs”)。 - 在 Btrfs 选项中启用 压缩(建议 zstd),并创建子卷:
@→/(根目录)@home→/home(用户数据)@swap→ 交换(可选,或用 swapfile)
- 完成安装,重启进入系统。
可视化扩容 /home
- 安装 GParted:
bash运行
sudo apt install gparted - 运行 GParted,扩展 Btrfs 分区到最大。
- 在线扩容文件系统:
bash运行
sudo btrfs filesystem resize max /(Btrfs 自动识别扩展空间,无需手动操作子卷)
可视化快照管理
- 安装 Timeshift:
bash运行
sudo apt install timeshift - 启动 Timeshift,选择 “Btrfs” 模式,设置快照位置(如
/mnt/snapshots)。 - 点击 “创建” 一键生成快照,恢复时选择快照并点击 “恢复”。
压缩与去重(安装时已启用,可选优化)
- 压缩:安装时已启用 zstd,可在
/etc/fstab中添加compress=zstd确保开机生效。 - 去重:安装
btrfs-progs后,定期手动执行:bash运行sudo btrfs filesystem deduplicate -r /home
方案二:LVM + Btrfs(多盘管理更灵活)
安装流程(全程可视化)
- 启动安装,到 “安装类型” 勾选 “使用 LVM”(自动模式)。
- 选择目标磁盘,安装程序自动创建 EFI 分区和 LVM 卷组(
ubuntu-vg),包含根目录和交换逻辑卷。 - 完成安装,重启进入系统。
- 安装 LVM 可视化工具:
bash运行
sudo apt install system-config-lvm
可视化扩容 /home
- 安装 GParted 并扩展物理分区(如
/dev/sda3)。 - 运行 system-config-lvm,将扩展后的空间添加到卷组
ubuntu-vg。 - 扩展
/home逻辑卷到最大:bash运行sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv_home - 在线扩容 Btrfs 文件系统:
bash运行
sudo btrfs filesystem resize max /home
可视化快照管理
- 安装 Timeshift 并选择 “LVM” 模式,或使用 system-config-lvm 创建快照。
- 启动 Timeshift,一键创建 / 恢复快照。
压缩与去重
- 格式化 LV 为 Btrfs 时启用压缩,后续操作同方案一。
关键可视化工具总结
| 工具 | 用途 | 特点 |
|---|---|---|
| GParted | 分区调整、扩展 | 图形化界面,支持无损调整分区大小 |
| Timeshift | 快照创建 / 恢复 | 一键操作,支持定时自动快照 |
| system-config-lvm | LVM 卷组 / 逻辑卷管理 | 可视化添加 PV、扩展 LV,适合多盘管理 |
总结与下一步
- 追求简单省心:选 Btrfs 子卷,安装向导直接启用,Timeshift 与 GParted 可视化管理。
- 多盘管理或需精细控制:选 LVM + Btrfs,结合 system-config-lvm 与 GParted 灵活扩容。
需要我根据你的硬盘数量与大小、内存容量,给出具体的分区表、子卷布局与压缩 / 去重参数建议吗?
需要
基于你的需求(可视化安装 / 扩容 / 快照、压缩、去重),以下为 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。
可视化操作步骤
- 安装:选择 “其他选项”→新建 GPT→创建 EFI 与 Btrfs 分区→启用压缩并创建子卷→完成安装。
- 扩容:用 GParted 扩展 Btrfs 分区→运行
sudo btrfs filesystem resize max /。 - 快照:安装 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 执行去重 。
可视化操作步骤
- 安装:勾选 “使用 LVM”→选择磁盘→自动创建 EFI 与 LVM→完成安装→补装 system-config-lvm 。
- 扩容:用 GParted 扩展 PV 分区→system-config-lvm 添加到 VG→扩展 LV→运行
sudo btrfs filesystem resize max /home。 - 快照:安装 Timeshift 并选择 “LVM” 模式,或用 system-config-lvm 创建快照 。
关键优化与注意事项
- 压缩算法:优先 zstd(速度与压缩率平衡),避免对已压缩文件(视频、ISO)启用压缩 。
- 去重:消耗 CPU / 内存,建议每周手动执行一次;大文件去重前先做快照 。
- 快照管理:用 Timeshift 设置保留策略(如保留 7 天),定期清理旧快照 。
- TRIM:SSD 需启用 TRIM,在 fstab 中添加
discard=async。
选择建议
- 单盘 / RAID 且追求极简:选 Btrfs 子卷,安装向导直接启用,Timeshift/GParted 可视化管理。
- 多盘聚合且需灵活调整:选 LVM + Btrfs,结合 system-config-lvm 与 GParted 实现可视化扩容。
需要我根据你的硬盘数量 / 大小、内存容量和是否需要 RAID,生成可直接复制的分区表、子卷创建命令与 fstab 配置吗?
作者: 高志远
高志远,24岁,男生 查看高志远的所有文章