Linux

KVM 原始圖像是否支持預分配?

  • April 6, 2021

我試圖用這個命令創建一個原始圖像:

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

但似乎它的原始圖像不支持預分配。如果是這樣,為什麼此圖表中有原始 + 預分配?

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

根據本手冊,我沒有看到任何原始圖像的預分配選項。

而且看看這些基準測試可能會很好,似乎任何類型的原始圖像都比 qcow2 具有更好的性能。

而且由於性能問題,我還看到了許多避免直寫記憶體的建議,但我自己沒有對其進行測試。

原始圖像不支持預分配,qcow2 和 qed-images 支持:

preallocation=fullpreallocation=metadata不是不僅為原始圖像分配元數據,而且還向它寫入零,從而創建一個非稀疏圖像文件。

如果您的文件系統支持稀疏文件(例如 ext、xfs、btrfs),則僅用零填充的塊不會物理儲存,這樣可以在開始使用此映像時節省空間。

如果您想在原始圖像上分配所有空間,可以使用以下dd命令:dd if=/dev/zero of=file.img bs=1M count=204800

如果您正在努力提高速度,也可以使用cache=writethrough例如 libvirt,如果您的物理機器崩潰,這種增強的速度不會失去數據。

引用自:https://serverfault.com/questions/428868