配置使用OpenVswitch网络

警告

本章节非常重要,请务必彻底理解。

为了转发流量到实例,至少需要两个桥接网络: publicprivate

By default these bridges are called cloudbr0 and cloudbr1, but you do have to make sure they are available on each hypervisor.

最重要的因素是所有hypervisors上的配置要保持一致。

准备

将系统自带的网络桥接模块加入黑名单,确保该模块不会与openvswitch模块冲突。请参阅你所使用发行版的modprobe文档并找到黑名单。确保该模块不会在重启时自动加载或在下一操作步骤之前卸载该桥接模块。

以下网络配置依赖ifup-ovs和ifdown-ovs脚本,安装openvswitch后会提供该脚本。安装路径为位/etc/sysconfig/network-scripts/。

网络示例

配置网络有很多方法。在基本网络模式中你应该拥有2个 (V)LAN,一个用于管理网络,一个用于公共网络。

假设hypervisor中的网卡(eth0)有3个VLAN标签:

  1. VLAN 100 作为hypervisor的管理网络

  2. VLAN 200 for public network of the instances (cloudbr0)

  3. VLAN 300 作为实例的专用网络 (cloudbr1)

在VLAN 100 中,配置Hypervisor的IP为 192.168.42.11/24,网关为192.168.42.1

注解

Hypervisor与管理服务器不需要在同一个子网!

配置网络桥接

如何配置这些文件取决于你使用的发行版本,在下面的内容中会提供RHEL/CentOS下的示例。

注解

本章节的目标是设置三个名为’mgmt0’, ‘cloudbr0’和’cloudbr1’ 桥接网络。这仅仅是指导性的,实际情况还要取决于你的网络状况。

配置OpenVswitch

使用ovs-vsctl命令创建基于OpenVswitch的网络接口。该命令将配置此接口并将信息保存在OpenVswitch数据库中。

首先我们创建一个连接至eth0接口的主桥接。然后我们创建三个虚拟桥接,每个桥接都连接指定的VLAN。

  1. # ovs-vsctl add-br cloudbr
  2. # ovs-vsctl add-port cloudbr eth0
  3. # ovs-vsctl set port cloudbr trunks=100,200,300
  4. # ovs-vsctl add-br mgmt0 cloudbr 100
  5. # ovs-vsctl add-br cloudbr0 cloudbr 200
  6. # ovs-vsctl add-br cloudbr1 cloudbr 300
在RHEL或CentOS中配置:

所需的安装包在安装openvswitch和libvirt的时就已经安装,继续配置网络。

首先配置eth0:

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0

确保内容如下所示:

  1. DEVICE=eth0
  2. HWADDR=00:04:xx:xx:xx:xx
  3. ONBOOT=yes
  4. HOTPLUG=no
  5. BOOTPROTO=none
  6. TYPE=Ethernet

必须将基础桥接配置为trunk模式。

  1. vi /etc/sysconfig/network-scripts/ifcfg-cloudbr
  1. DEVICE=cloudbr
  2. ONBOOT=yes
  3. HOTPLUG=no
  4. BOOTPROTO=none
  5. DEVICETYPE=ovs
  6. TYPE=OVSBridge

现在对三个VLAN桥接进行配置:

  1. vi /etc/sysconfig/network-scripts/ifcfg-mgmt0
  1. DEVICE=mgmt0
  2. ONBOOT=yes
  3. HOTPLUG=no
  4. BOOTPROTO=static
  5. DEVICETYPE=ovs
  6. TYPE=OVSBridge
  7. IPADDR=192.168.42.11
  8. GATEWAY=192.168.42.1
  9. NETMASK=255.255.255.0
  1. vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0
  1. DEVICE=cloudbr0
  2. ONBOOT=yes
  3. HOTPLUG=no
  4. BOOTPROTO=none
  5. DEVICETYPE=ovs
  6. TYPE=OVSBridge
  1. vi /etc/sysconfig/network-scripts/ifcfg-cloudbr1
  1. DEVICE=cloudbr1
  2. ONBOOT=yes
  3. HOTPLUG=no
  4. BOOTPROTO=none
  5. TYPE=OVSBridge
  6. DEVICETYPE=ovs

配置完成之后重启网络,通过重启检查一切是否正常。

警告

在发生配置错误和网络故障的时,请确保可以能通过其他方式例如IPMI或ILO连接到服务器。