ovirt磁盘类型辨析(IDE, virtio, virtio-scsi)

通过一张表格,简单明了的说明这三种硬盘的不同:

ovirt磁盘类型辨析(IDE,  virtio, virtio-scsi)
  1. 对上述表格的说明:

IDE硬盘是早期的硬盘,被广泛使用,因而协议的兼容性比较好,在IDE硬盘上安装windows操作系统,能够无缝操作,中间不需要换盘。相比SCSI等协议,IDE自身的性能就比较差一些,再者IDE盘又是一种全虚拟化硬盘,所以性能并不好。为了改善全虚拟化的性能问题,产生了半虚拟化技术的virtio(本文中所有的virtio均是指virtio-blk)。此处并不展开半虚拟化的讨论。但是virtio技术有一定的局限,尤其是每个磁盘都要占用虚拟机的一个pci槽,导致虚拟机并不能大量挂载此类磁盘。为了解决virtio的种种问题,产生了virtio-scsi技术,用来逐渐替代virtio.

整体上来看这三者的最大不同还是挂载磁盘的数量。根据在ovirt的上测试,一台win7的虚拟机,最多可以创建3个ide硬盘,当再次创建新的ide硬盘时候,会提示无法创建。同时,实验中最多创建了14块virtio硬盘,虽然界面允许创建更多virtio硬盘,但是超过14块,虚拟机是无法启动的。virtio-scsi可以创建足够多的硬盘,以至于协议自身并不是限制因素,而内核的限制反而成了硬盘数目的极限。

需要注意的是,在virtio生成的虚拟机里面,硬盘是以/dev/vdX的形式存在的。同时virtio的代码改动,一般情况下主机虚拟机都需要同步更新,但是virtio-scsi一般只需要主机更新,所以virtio-scsi更加方便一些。另外,IDE硬盘不能够热插拔,需要关机之后才能激活。有ovirt关文档说,virtio并不支持透传。但是经过实验,发现这三种设备都是支持透传的。

综上所述,在没有特殊需求的情况下,创建新的硬盘最佳选择是virtio-scsi。

参考文献:

  1. https://www.ovirt.org/develop/release-management/features/storage/virtio-scsi.html
  2. https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.1/html-single/virtual_machine_management_guide/index
  3. https://mpolednik.github.io/2017/01/23/virtio-blk-vs-virtio-scsi/
3 条回复 A 作者 M 管理员 E
  1. 做一点补充:
    对于虚拟机上的一个PCI接口,能够挂载4个IDE硬盘(4 driver),1个virtio硬盘,和许多virtio-scsi硬盘。所以如果要挂在非常多的硬盘,请选择virtio-scsi类型,否则会将虚拟机的pci接口资源耗尽。

  2. […] [10].ovirt磁盘类型辨析(IDE, virtio, virtio-scsi) […]

  3. 为什么相同的服务器exsi和ovirt虚拟出来的虚拟机磁盘io会相差那么大,ovirt磁盘io性能损失40%+

欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论