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

поддерживает ли необработанные изображения KVM предварительное выделение?

Я пытался создать необработанное изображение с помощью этой команды:

qemu-img create -f raw -o size=200G,preallocation=metadata file.img

но кажется, что необработанные изображения не поддерживают предварительное выделение. если да, то почему там raw + preallocation в этот график?

# qemu-img create -f raw -o size=200G,preallocation=full file.img
Unknown option 'preallocation'
Invalid options for file format 'raw'.

необработанные изображения не поддерживают предварительное выделение, qcow2 и qed-images поддерживают:

preallocation=full вместо того preallocation=metadata не только выделяет метаданные для необработанного изображения, но и записывает в него нули, создавая таким образом не разреженный файл изображения.

Если ваша файловая система поддерживает разреженные файлы (например, ext, xfs, btrfs), блоки, заполненные только нулями, физически не сохраняются, что экономит место в начале использования этого образа.

Если вы хотите выделить все пространство на необработанном изображении, вы можете использовать dd команда: dd if=/dev/zero of=file.img bs=1M count=204800

Если вы стремитесь к скорости, также используйте cache=writethrough например, с libvirt - это повышенная скорость без потери данных в случае сбоя вашей физической машины.

В соответствии с это руководство, Я не вижу никаких вариантов предварительного выделения для необработанных изображений.

А также было бы неплохо взглянуть на эти тесты, Кажется, что любые необработанные изображения имеют лучшую производительность, чем qcow2.

а также я видел много предложений по избежанию сквозного кэширования из-за проблем с производительностью, но сам не тестировал.