web-dev-qa-db-ja.com

qemu / kvmファイル/ブロックディスクデバイスタイプ-とiothreads

CentOS 7ホストで、Amazon Linux 2 qcow2イメージからVM=を作成しています:

  • Amazon Linux 2 cloud-initイメージ(.qcow2形式)をダウンロード
  • このファイルをコピーし、qemu-img resizeを実行して40Gに展開します
  • My VM <disk type='file'><source file='my_resized_file.qcow2'>を使用して

これは機能しますが、このホストでは最大30個のVMを実行しており、すべて非常に重いDockerワークロードを実行しています-ディスクIOは十分ではありません.

iothreadscache=noneio=nativeをオンラインで試してみたいと思います。これらの設定により、SSDと高CPU数のホストのパフォーマンスが向上したことを示しています。 CPUには余裕があります。

ドメインにiothreads=1を追加し、ディスクにiothread=1を追加しようとしましたが、これはIOThreads not supported for this QEMUエラーで失敗します。これは、disk type=fileではなくdisk type=blockを使用しているためだと思います。

私はしたいと思います:

  • OSイメージとそのcloud-init関数を使用する
  • VMで40Gを使用できるようにする
  • 最大のパフォーマンスを得るには、生のファイルタイプiothreadscache=noneio=nativeを使用します

したがって、私の質問は...

Qcow2 OSイメージを、これらのパラメーターで使用できる40G rawブロックデバイスにするにはどうすればよいですか?

1
dunc

QCOW2からRAW画像ファイルに変換するには、 qemu-img convert 、例えば:

$ qemu-img convert -O raw /path/to/image.qcow2 /path/to/image.bin

QEMU 2. 以降、IOThreadsはQEMUでサポートされています。 QEMU 2.0.0はEPELで利用できるので、実行してみてください:

# yum -y install epel-release
# yum makecache && yum -y install qemu
1
mforsetti