我使用以下命令来创建 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)。