为块设备映射添加 virtio-scsi 总线支持¶
https://blueprints.launchpad.net/nova/+spec/add-virtio-scsi-bus-for-bdm
VirtIO SCSI 是 KVM 实例的一种新的准虚拟化 SCSI 控制器设备。它被设计用来取代 virtio-blk,提高其性能并改善可扩展性。目前,从卷启动时不支持使用 virtio-scsi 总线。
问题描述¶
VirtIO SCSI 是 KVM 实例的一种新的准虚拟化 SCSI 控制器设备。它被设计用来取代 virtio-blk,提高其性能并改善可扩展性。该接口能够处理每个虚拟 SCSI 适配器上的多个块设备,保持客户机中的标准 scsi 设备命名(例如 /dev/sda),并支持 SCSI 设备直通。
目前,当从 glance 镜像启动时,已经支持 virtio-scsi 总线,这由 BP ([1]) 实现,目标是 Icehouse。
但是,当我们从该镜像创建一个 cinder 卷,然后从该卷启动并指定 bus_type 为“scsi”时,客户机仍然会使用 lsi 控制器,而不是 virtio-scsi 控制器。
此 BP 的目标如下
当使用“scsi”总线类型从卷启动时,对于从 glance 镜像创建的卷,使用 virtio-scsi 控制器,该镜像设置了“virtio-scsi” hw_scsi_model 属性。
主要用例是提高 I/O 密集型应用程序的性能。
提议的变更¶
Nova 在从 cinder 卷启动时,从卷的 glance_image_metadata 中检索“hw_scsi_model”属性
如果“hw_scsi_model”属性为“virtio-scsi”并且为卷指定的 bus_type 为“scsi”,则 Libvirt 驱动程序将创建“virtio-scsi”控制器
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
将提高客户机的性能。
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
工作项¶
Nova 在从 cinder 卷启动时,从卷的 glance_image_metadata 中检索“hw_scsi_model”属性
如果“hw_scsi_model”属性为“virtio-scsi”并且为卷指定的 bus_type 为“scsi”,则 Libvirt 驱动程序将创建“virtio-scsi”控制器
依赖项¶
依赖于 BP [1],它将提供 virtio-scsi-controller 对象
测试¶
无
文档影响¶
无