如何确保qemu-img resize不会丢失数据?

我试图了解如何qemu-img resize缩小虚拟磁盘。 假设qemu-img info显示虚拟大小是20G,磁盘大小只有1G。 现在我想把磁盘从20G缩小到5G。 从这里的qemu-img文档: http : //linux.die.net/man/1/qemu-img 。 看来我应该这样做:

 qemu-img resize filename -15G 

但是,我怎样才能确保只有磁盘的空白部分将收缩,我的数据将不会被截断?

如果磁盘被分区,如您所示,步骤应该是(按此顺序):

  1. 收缩文件系统,使用操作系统工具;
  2. 将分区缩小到文件系统的大小,您可能需要删除它并使用相同的起始扇区重新创build;
  3. 将图像缩小到分区的大小。

以上假设只有一个分区,如果有更多的事情可能会更复杂。 另一个可能的问题是非原始格式的图像,因为主机上的物理大小可能与VM中的虚拟磁盘大小不同。

显然,在图像副本上testing上述过程不会有什么影响。 🙂