Как создать небольшой файл qcow2 на сервере Linux?

Я полагаю, что существуют файлы qcow2, которые смещают небольшое количество гигабайт на сервере (что проверяется с помощью df -h на физическом сервере), но позволяют много места, когда вы входите в виртуальную машину virt-manager и запускаете df - час Как вы создаете такой файл? Как физический сервер знает, что не будет проблем, если / когда виртуальные машины увеличатся до своего максимального размера и потенциально заполнят физический сервер?

Команда truncate не создает небольшие файлы qcow2. Графический интерфейс Virtual Machine Manager позволяет создавать "аппаратные средства" через графический интерфейс. Оба эти метода создания файлов.qcow2 создают файлы максимального размера.

1 ответ

Решение

Чтобы создать образ qcow2 для виртуального диска размером 100 МБ, выполните:

qemu-img create -f qcow2 foobar.qcow2 100M

Размер созданного файла foobar.qcow2 составит около 200 КБ.

Вы можете легко создать очень большой виртуальный диск, который будет занимать очень мало места в файловой системе хоста, например, 100 ТБ виртуального диска займет всего около 2 МБ на хосте, но когда диск используется на гостевой, файл будет расти на хосте. Это в конечном итоге заполнит файловую систему хоста и предотвратит дальнейшую запись гостя в любое место, которое еще не выделено. Выделение большего количества ресурсов для гостя, которое действительно доступно на хосте, называется тонкой подготовкой, см. https://en.wikipedia.org/wiki/Thin_provisioning для получения дополнительной информации.

Самый простой способ избежать проблем, когда диск недостаточно подготовлен, состоит в том, чтобы отслеживать использование диска хост-системой (с автоматическими аварийными сигналами, отправляемыми администраторам) и добавлять больше дискового пространства до заполнения файловой системы хост-системы.

Другие вопросы по тегам