virtio-blkよりvirtio-scsiの方がいいらしい

PC仮想化において、ストレージコントローラの準仮想化デバイスの選択肢はvirtio-blkとvirtio-scsiの2つがある。名前のとおり前者が仮想ブロックデバイスコントローラ、後者は仮想SCSIコントローラである。

SCSIレイヤを通らない分、virio-blkの方が多少性能面では有利なようだが、以下の理由により基本的にはvirtio-scsiを使った方が良いらしい。

  • virtio-blkは1ゲストあたり最大28デバイス=28ストレージに制限される
    • virtio-blkとストレージは1:1の関係でPCIデバイスとなるので、PCIバス規格の制約を受ける。
    • 他のPCIデバイス(NICなど)との兼ね合いで、実際はより少ないデバイス数となる。
    • 対するvirtio-scsiは1デバイスで数百のストレージを扱える
  • virtio-blkでは一部のストレージのエミュレーションができない(光学ドライブなど)
  • virtio-blkはホットスワップ非対応
  • vitrio-scsiの方が開発が活発

virtio-blkで割り当てたデバイスは、ゲストからも当然ブロックデバイス扱いとなり、例えばストレージデバイス表示コマンドなどで出てこないことが多々あるため、少しわかりにくいという個人的な感覚があったりする。




  • blog/2021/2021-08-03.txt
  • 最終更新: 2021-08-03 10:29
  • by Decomo