A常见做法是使用非预分配虚拟磁盘。
自从它们只在需要时生长,这使得它们非常适合快速备份,过度分配和创作速度。
由于文件系统通常基于物理磁盘他们有倾向使用整个可用区域1为了提高速度2或可靠性3。
我正在寻找一个文件系统完全相反: 尝试触摸最小块需要积极的块重用。
我很乐意用一些性能来换取空间。
已经有了类似的问题,但它相当笼统。我有非常具体的目标:空间效率。
1. 类似页面缓存使用所有空闲的物理内存
2. 典型例子:在线碎片整理
3.典型例子:快照
答案1
如果您不介意处于边缘,您可以使用新的 btrfs 文件系统来实现这一点。备份目标设备占用的空间不会超过复制数据所用的空间。
https://btrfs.wiki.kernel.org/index.php/Main_Page
- 创建分区(使用 LVM 逻辑卷或常规)
- 格式:mkfs -t btrfs
- 挂载: mount -t btrfs /mnt/btrfs
- 创建 brts 子卷:btrfsctl -S home_template /mnt/btrfs
- 卸载 /mnt/btrfs 并挂载子卷:mount -t btrfs -o subvol=home_template /mnt/template
- 如果备份目标需要,用文件/文件夹填充 /mnt/template
- 为每个用户创建 home_template 子卷的快照。在挂载和写入之前,它占用 0 个空间。btrfsctl -s /mnt/joeblow /mnt/template 8 根据需要挂载快照并开始备份:mount -t btrfs -o subvol=joeblow /mnt/backup
答案2
您还可以使用 LVM 卷,根据需要向 VG 添加 PV 以扩大其规模,并使用 lvextend 扩大专用于 VM 的 LV