====== 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で割り当てたデバイスは、ゲストからも当然ブロックデバイス扱いとなり、例えばストレージデバイス表示コマンドなどで出てこないことが多々あるため、少しわかりにくいという個人的な感覚があったりする。 ===== 参考サイト ===== * [[https://mpolednik.github.io/2017/01/23/virtio-blk-vs-virtio-scsi/|virtio-blk vs virtio-scsi · mpolednik.github.io]] * [[https://programmersought.com/article/54141802529/|Understanding of virtio-scsi and virtio-blk - Programmer Sought]] * [[https://forum.proxmox.com/threads/difference-between-virtio-and-virtio-single-controller-types.26692/|Difference between virtio and virtio single controller types? | Proxmox Support Forum]]