qemu-nbd 接続デバイスが非常に遅い

qemu-nbd 接続デバイスが非常に遅い

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/秒)。テストの結果、そのオプションを使用せずにイメージ ファイルを作成するか、オプションを使用してイメージ ファイルを作成すると、-o cluster_size=4096速度が回復し、高速になります (> 100MB/秒)。

関連情報