12.8. 使用带有 SCSI 设备的 NPIV 虚拟适配器(vHBA)
NPIV(N_Port ID Virtualization)是一个软件技术,允许共享单一物理光纤通道主机总线适配器(HBA)。
这允许多个虚拟机从多个物理主机查看相同的存储,从而可以更轻松地进行存储的迁移路径。因此,只要指定正确的存储路径,不需要迁移来创建或复制存储。
在虚拟化中,虚拟主机总线适配器 (或 vHBA )控制虚拟机的 LUN。每个 vHBA 都由其自身的 WWNN(World Wide Node Name)和 WWPN(World Wide Port Name)标识。存储的路径由 WWNN 和 WWPN 值决定。
这部分提供了在虚拟机上配置 vHBA 的说明。请注意,Red Hat Enterprise Linux 6 不支持在主机重启后持久性 vHBA 配置 ; 验证主机重启后任何与 vHBA 相关的设置。
12.8.1. 创建 vHBA
过程 12.6. 创建 vHBA
在主机系统中找到 HBA
要在主机系统中定位 HBA,请检查主机系统中的 SCSI 设备,以查找带有vport
功能的scsi_host
。运行以下命令以检索scsi_host
列表:# virsh nodedev-list --cap scsi_host scsi_host0 scsi_host1 scsi_host2 scsi_host3 scsi_host4
对于每个scsi_host
,运行以下命令检查<capability type='vport_ops'>
行的设备 XML,它表示scsi_host
具有vport
功能。# virsh nodedev-dumpxml scsi_hostN
检查 HBA 的详情
使用 virsh nodedev-dumpxml HBA_device 命令查看 HBA 的详情。virsh nodedev-dumpxml 命令的 XML 输出将列出用于创建 vHBA 的字段<name>
、<wwnn>
和<wwpn>
。<max_vports>
值显示支持的 vHBA 的最大数量。# virsh nodedev-dumpxml scsi_host3 <device> <name>scsi_host3</name> <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3</path> <parent>pci_0000_10_00_0</parent> <capability type='scsi_host'> <host>3</host> <capability type='fc_host'> <wwnn>20000000c9848140</wwnn> <wwpn>10000000c9848140</wwpn> <fabric_wwn>2002000573de9a81</fabric_wwn> </capability> <capability type='vport_ops'> <max_vports>127</max_vports> <vports>0</vports> </capability> </capability> </device>
在这个示例中,<max_vports>
值显示在 HBA 配置中可以使用总计 127 个虚拟端口。<vports>
值显示当前使用的虚拟端口数。这些值在创建 vHBA 后更新。创建 vHBA 主机设备
为 vHBA 主机创建一个名为 vhba_host3.xml的 XML 文件。# cat vhba_host3.xml <device> <parent>scsi_host3</parent> <capability type='scsi_host'> <capability type='fc_host'> </capability> </capability> </device>
<parent>
字段指定要与这个 vHBA 设备关联的 HBA 设备。<device>
标签的详情在下一步中使用为主机创建新 vHBA 设备。有关 http://libvirt.org/formatnode.htmlnodedev
XML 格式的更多信息,请参阅。在 vHBA 主机设备中创建一个新的 vHBA
要在 vhba_host3 上创建 vHBA,请使用 virsh nodedev-create 命令:# virsh nodedev-create vhba_host3.xml Node device scsi_host5 created from vhba_host3.xml
验证 vHBA
使用 virsh nodedev-dumpxml 命令验证新的 vHBA 的详情(scsi_host5
):# virsh nodedev-dumpxml scsi_host5 <device> <name>scsi_host5</name> <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3/vport-3:0-0/host5</path> <parent>scsi_host3</parent> <capability type='scsi_host'> <host>5</host> <capability type='fc_host'> <wwnn>5001a4a93526d0a1</wwnn> <wwpn>5001a4ace3ee047d</wwpn> <fabric_wwn>2002000573de9a81</fabric_wwn> </capability> </capability> </device>