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

  1. 在主机系统中找到 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
  2. 检查 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 后更新。
  3. 创建 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.html nodedev XML 格式的更多信息,请参阅。
  4. 在 vHBA 主机设备中创建一个新的 vHBA

    要在 vhba_host3 上创建 vHBA,请使用 virsh nodedev-create 命令:
    # virsh nodedev-create vhba_host3.xml
    Node device scsi_host5 created from vhba_host3.xml
  5. 验证 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>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.