9.5. 在虚拟机中管理存储控制器
从 Red Hat Enterprise Linux 6.4 开始,支持将 SCSI 和 virtio-SCSI 设备添加到运行 Red Hat Enterprise Linux 6.4 或更高版本的客户机虚拟机中。与 virtio 磁盘不同,SCSI 设备需要在客户机虚拟机中存在控制器。VirtIO-SCSI 提供了直接与 SCSI LUN 连接的功能,与 virtio-blk 相比显著提高可扩展性。virtio-SCSI 的优点是,与 virtio-blk 相比,可以处理数百个设备,它们只能处理 28 个设备并耗尽 PCI 插槽。现在,virtio-SCSI 能够继承目标设备的功能集,并可以:
- 通过 virtio-scsi 控制器附加虚拟硬盘驱动器或 CD,
- 通过 QEMU scsi-block 设备从主机传递物理 SCSI 设备,
- 和 允许为每个客户机使用数百个设备 ; 从 28 设备限制 virtio-blk 中有所改进。
本节详细介绍了创建虚拟 SCSI 控制器(也称为"主机总线适配器"或 HBA)以及将 SCSI 存储添加到客户端虚拟机所需的步骤。
过程 9.10. 创建虚拟 SCSI 控制器
- 显示客户机虚拟机的配置(
Guest1
),并查找预先存在的 SCSI 控制器:# virsh dumpxml Guest1 | grep controller.*scsi
如果存在设备控制器,命令会输出类似如下的一个或多个行:<controller type='scsi' model='virtio-scsi' index='0'/>
- 如果上一步没有显示设备控制器,使用以下步骤为某个新文件创建一个描述并将其添加到虚拟机中:
- 通过在新文件中写入 <
controller&
gt; 元素,并使用 XML 扩展保存文件来创建设备控制器。virtio-scsi-controller.xml
,例如:<controller type='scsi' model='virtio-scsi'/>
- 将您刚刚在
virtio-scsi-controller.xml
中创建的设备控制器与您的客户机虚拟机(例如,Guest1)关联:# virsh attach-device --config Guest1 ~/virtio-scsi-controller.xml
在本例中,--config
选项的行为与磁盘的作用相同。如需更多信息,请参阅 过程 13.2, “在客户机中添加物理块设备”。
- 添加新的 SCSI 磁盘或 CD-ROM。可使用部分 第 13.3.1 节 “在 客户机中添加基于文件的存储” 和 第 13.3.2 节 “在客户机中添加硬盘和其他块设备” 中的方法添加新磁盘。要创建 SCSI 磁盘,请指定以 sd 开头的目标设备名称。
# virsh attach-disk Guest1 /var/lib/libvirt/images/FileName.img sdb --cache none
根据客户机虚拟机中驱动程序的版本,正在运行的 guest 虚拟机可能不会立即检测到新磁盘。按照 Red Hat Enterprise Linux Storage Administration Guide 中的步骤进行操作。