Назад | Перейти на главную страницу

Как убедиться, что qemu-img resize не теряет данные?

Я пытаюсь понять как qemu-img resize сжимает виртуальный диск. Скажем qemu-img info показывает, что виртуальный размер составляет 20 ГБ, а размер диска только 1 ГБ. Теперь я хочу сжать диск с 20G до 5G. Из документации qemu-img здесь: http://linux.die.net/man/1/qemu-img. Кажется, я должен сделать это так:

qemu-img resize filename -15G

Но как я могу убедиться, что только пустая часть диска будет сжата, а мои данные не будут усечены?

Если диск разбит на разделы, как вы указали, шаги должны быть (в указанном порядке):

  1. сжать файловую систему с помощью инструментов ОС;
  2. сжать раздел до размера файловой системы, возможно, вам потребуется удалить его и создать заново с тем же начальным сектором;
  3. уменьшить изображение до размера раздела.

Вышесказанное предполагает, что есть только один раздел, если есть еще может быть посложнее. Другая возможная проблема - изображения формата, отличного от raw, поскольку физический размер на хосте может отличаться от размера виртуального диска в виртуальной машине.

Очевидно, что тестирование описанной выше процедуры на копии изображения не повредит. :-)