5.5. 为裸机实例创建虚拟网络接口(VIF)


云用户可以将其裸机实例附加到您为裸机工作负载创建的网络接口。您必须为云用户创建虚拟网络接口(VIF),才能选择进行附加。

5.5.1. 裸机置备服务虚拟网络接口(VIF)

裸机置备服务(ironic)使用网络服务(neutron)来管理虚拟网络接口(VIF)的附加状态。VIF 是网络服务端口,由端口 ID 指代,即 UUID 值。VIF 可以跨有限数量的物理网络提供,这取决于云的操作配置和操作限制。

裸机置备服务也可以将裸机实例附加到单独的提供商网络,以提高整体操作安全性。

每个 VIF 必须附加到端口或端口组,因此 VIF 的最大数量由裸机置备服务中所代表的配置和可用端口数量决定。

网络接口是管理裸机实例网络交换的驱动程序接口之一。您创建的网络接口的类型会影响裸机工作负载的操作。以下网络接口可用于裸机置备服务:

  • noop :用于独立部署,不执行任何网络切换。
  • 扁平 :将所有节点放入单一提供商网络中,该网络在网络服务和物理设备中预先配置。在整个生命周期内,节点仍保持与该网络进行物理连接。提供的 VIF 附加记录会根据需要使用新的 DHCP 记录更新。在使用此网络接口时,需要在裸机节点物理附加的同一网络上创建 VIF。
  • Neutron:通过网络服务提供租户网络,将租户网络相互分离,与调配和清理提供商网络隔离。节点在其生命周期内移动这些网络。这个接口需要网络服务支持附加到裸机实例的交换机,以便它们可以被编程。此接口需要 ML2 插件 OVN 机制驱动程序或其他 SDN 集成,以方便网络上的端口配置。当您的环境使用 IPv6 时,请使用 neutron 接口。

在置备时,默认情况下,裸机置备服务(ironic)会尝试将所有支持 PXE 的端口附加到 provisioning 网络。如果您启用了 neutron.add_all_ports,则裸机置备服务会尝试将所有端口绑定到所需的服务网络,而不是裸机置备服务端口,并将 pxe_enabled 设置为 True

在调配裸机节点后,在裸机节点移到 ACTIVE provisioning 状态之前,之前连接的端口将 unbound。unbinding 的进程取决于网络接口:

  • 扁平 :所有请求的 VIF 具有所有状态下的所有绑定配置都未绑定。
  • Neutron:云用户请求的 VIF 首次附加到裸机节点,因为置备过程中创建的裸机置备服务的 VIF 已被删除。

相同的流和逻辑适用于清理、服务和救援进程。

5.5.3. 为裸机节点创建虚拟网络接口(VIF)

使用 Networking 服务(neutron)创建充当虚拟网络接口(VIF)的端口。如果使用 neutron 网络接口,还必须通过创建带有绑定配置集的裸机置备服务(ironic)端口来创建与底层物理网络的物理连接。当 VIF 附加到裸机实例时,网络服务的 ML2 机制驱动程序需要绑定配置文件。绑定配置集包括 VNIC_BAREMETAL 端口类型、裸机节点 UUID 和本地链路连接信息,用于标识 ML2 机制驱动程序必须附加到物理裸机端口的租户网络。

绑定配置集信息使用从交换机广播的 LLDP 数据填充内省过程,因此交换机必须启用 LLDP。当有物理网络更改时,您需要手动设置或更新绑定配置文件,例如当裸机端口的电缆移到交换机上的不同端口时,或者交换机已被替换。

注意

解码 LLDP 数据作为尽力操作执行。交换机厂商或交换机厂商固件中的更改可能会影响字段解码。

流程

  1. 从您的工作站访问 OpenStackClient pod 的远程 shell:

    $ oc rsh -n openstack openstackclient
    Copy to Clipboard Toggle word wrap
  2. 创建虚拟网络接口(VIF):

    $ openstack port create --network <network> <name>
    Copy to Clipboard Toggle word wrap
  3. 如果使用 neutron 网络接口,请使用绑定配置集信息创建裸机置备服务端口:

    $ openstack baremetal port create <physical_mac_address> --node <node_uuid> \
         --local-link-connection switch_id=<switch_mac_address> \
         --local-link-connection switch_info=<switch_hostname> \
         --local-link-connection port_id=<switch_port_for_connection> \
         --pxe-enabled true \
         --physical-network <phys_net>
    Copy to Clipboard Toggle word wrap
    • <switch_mac_address > 替换为交换机的 MAC 地址或基于 OpenFlow 的 datapath_id。
    • <switch_hostname > 替换为托管交换机的裸机节点的名称。
    • <switch_port_for_connection > 替换为交换机上的端口 ID,例如 Gig0/1rep0-0
    • 使用您要与裸机端口关联的物理网络名称替换 <phys_net>。裸机置备服务使用物理网络将网络服务虚拟端口映射到物理端口和端口组。如果没有设置,则在没有合适的物理网络分配的裸机端口时,任何 VIF 会映射到该端口。
  4. 退出 openstackclient pod:

    $ exit
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat