适用于按需增长的虚拟磁盘的节省空间的客户文件系统?

适用于按需增长的虚拟磁盘的节省空间的客户文件系统?

A常见做法是使用非预分配虚拟磁盘。

自从它们只在需要时生长,这使得它们非常适合快速备份过度分配创作速度

由于文件系统通常基于物理磁盘他们有倾向使用整个可用区域1为了提高速度2或可靠性3

我正在寻找一个文件系统完全相反: 尝试触摸最小块需要积极的块重用。

我很乐意用一些性能来换取空间。

已经有了类似的问题,但它相当笼统。我有非常具体的目标:空间效率

1. 类似页面缓存使用所有空闲的物理内存
2. 典型例子:在线碎片整理
3.典型例子:快照

答案1

如果您不介意处于边缘,您可以使用新的 btrfs 文件系统来实现这一点。备份目标设备占用的空间不会超过复制数据所用的空间。

https://btrfs.wiki.kernel.org/index.php/Main_Page

  1. 创建分区(使用 LVM 逻辑卷或常规)
  2. 格式:mkfs -t btrfs
  3. 挂载: mount -t btrfs /mnt/btrfs
  4. 创建 brts 子卷:btrfsctl -S home_template /mnt/btrfs
  5. 卸载 /mnt/btrfs 并挂载子卷:mount -t btrfs -o subvol=home_template /mnt/template
  6. 如果备份目标需要,用文件/文件夹填充 /mnt/template
  7. 为每个用户创建 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

相关内容