
我使用以下命令來創建 qcow2:
qemu-img create -f qcow2 test2019.qcow2 10G
sudo qemu-nbd -c /dev/nbd1 test2019.qcow2
然後我在裝置 /dev/nbd1 上建立了一個 ext4。格式化過程非常慢。然後我用dd測試寫入速度:
time dd if=/dev/zero of=./largefile2 oflag=dsync bs=500MB count=1
1+0 records in
1+0 records out
500000000 bytes (500 MB, 477 MiB) copied, 656.736 s, 761 kB/s
real 10m56.755s
user 0m0.001s
sys 0m0.424s
這太慢了,沒有什麼用。知道會發生什麼事嗎?
答案1
這是因為我們沒有給 qcow2 提供高效能參數,以下參數使其速度快了 1000 倍:
qemu-nbd -c /dev/nbd1 test.qcow2 --cache=unsafe --discard=unmap
答案2
這對後來者可能有用:
如果您使用選項建立 .qcow2 磁碟映像-o cluster_size=512
,速度也會非常慢(~ 3MB/s)。測試表明,在不使用該選項或使用復原選項的情況下建立映像檔可以實現-o cluster_size=4096
高速(> 100MB/s)。