Portal:Wicked/OpenvSwitch

跳转到:导航搜索

Wicked + OpenvSwitch - 概述

更新 - Wicked 0.6.23
Wicked 0.6.23 增强了对创建和配置 OpenvSwitch (OVS) 网桥的支持。强烈建议升级 Wicked 并参考 'ifcfg-ovs-bridge' man 页面以获取更多信息。但是,在 Wicked 可以与 OVS 交互之前,需要启用并启动 OVS 服务。请参阅下面的 步骤 1 - OVS 服务启动

本指南的其余部分针对较旧的 (0.6.23 之前) Wicked 版本,其中 OVS 配置需要许多手动步骤 (直接涉及 OVS 工具) 和解决方法。

一旦创建了 OVS 网桥并分配了端口接口,此配置将存储在 OVS 数据库中。在重启后启动 OVS 服务时,任何 OVS 网桥都将被重新创建,并且指定端口将被绑定。Wicked (0.6.23 之前) 只是将 OVS 网桥视为热插拔设备 (即 Wicked 不会创建它们)。一旦它们出现在系统上,如果存在适当的 ifcfg 文件,Wicked 可以驱动它们的进一步配置。

以下是在运行 Wicked < 0.6.23 的系统上配置具有一个网桥端口的基本 OVS 网桥的逐步说明。在适当的情况下,说明会指定与特定 Wicked 版本相关的详细信息。

步骤 1 - OVS 服务启动

 systemctl enable openvswitch
 systemctl start openvswitch
Wicked 0.6.23+

请确保 OpenvSwitch 服务在网络服务之前启动,方法是验证/编辑 OpenvSwitch 服务文件

 # /usr/lib/systemd/system/openvswitch.service
 [Unit]
 Description=Open vSwitch
 Before=network.service
 ...

Wicked 0.6.23+ 需要 OVS 服务在启动过程中能够与该服务交互 (即创建网桥、添加端口等) 时尽早启动。启动服务早于网络的好处是,它会在网络之后停止。这将确保及时关闭 NFS 挂载等服务。

注意:在 network.service 之前排序可能不够,因为 Wicked 的某些部分在 network.service 之前启动,因此在 wickedd.service 之前排序可能会有所帮助。

步骤 2 - OVS 网桥创建和端口添加

 # The naming convention is arbitrary. Replace eth0 with the interface that will be used as the OVS bridge port.
 ovs-vsctl add-br ovsbr_eth0
 ovs-vsctl add-port ovsbr_eth0 eth0

步骤 3 - Nanny 启用

  • 必须启用 Wicked nanny 才能驱动任何热插拔设备的配置。
 # /etc/wicked/common.xml:
 ...
   <use-nanny>true</use-nanny>
 ...

步骤 4 - 创建配置文件

 # /etc/sysconfig/network/ifcfg-ovsbr_eth0:
 STARTMODE='auto'
 BOOTPROTO=dhcp
 OVS_BRIDGE='yes'
 OVS_BRIDGE_PORT_DEVICE='eth0'
 # /etc/sysconfig/network/ifcfg-eth0:
 STARTMODE='auto'
 BOOTPROTO='none'

步骤 5 - 接口启动

 wicked ifup all
 # OR
 reboot

步骤 6 - 测试配置

 ping www.suse.com -I ovsbr_eth0
 PING www.suse.com (130.57.66.10) 56(84) bytes of data.
 64 bytes from www.suse.com (130.57.66.10): icmp_seq=1 ttl=50 time=86.6 ms
 64 bytes from www.suse.com (130.57.66.10): icmp_seq=2 ttl=50 time=87.5 ms
 ^C