openstack使用openvswitch网络管理配合vxlan及flat管理
1.安装openvswitch
yum install openstack-neutron-openvswitch -y
2.修改配置文件
改造文件有:
/etc/neutron/dhcp_agent.ini
/etc/neutron/l3_agent.ini
/etc/neutron/plugins/ml2/openvswitch_agent.ini
/etc/neutron/plugins/ml2/ml2_conf.ini
dhcp_agent.ini
[DEFAULT]
debug = False
num_sync_threads = 12
# Drivers
#interface_driver = linuxbridge
#主要修改interface_driver驱动配置
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
#interface_driver = openvswitch
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
# Dnsmasq options
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf
dnsmasq_dns_servers =
dnsmasq_lease_max = 16777216
# Metadata
enable_isolated_metadata = True
force_metadata = False
l3_agent.ini
[DEFAULT]
debug = False
# Drivers
#interface_driver = linuxbridge
#主要修改external_network_bridge和interface_driver
external_network_bridge = br-ex
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
agent_mode = legacy
# Conventional failover
allow_automatic_l3agent_failover = True
# HA failover
ha_confs_path = /var/lib/neutron/ha_confs
ha_vrrp_advert_int = 2
ha_vrrp_auth_password = acbada339feff67b51a977bcef1218fb4025f05
ha_vrrp_auth_type = PASS
# Metadata
enable_metadata_proxy = True
keepalived_use_no_track = True
# L3 plugins
openvswitch_agent.ini
#重要配置
[agent]
tunnel_types = vxlan
l2_population = True
[ovs]
#映射关系,路由配置的网络需要使用到
bridge_mappings = provider:br-ex
tunnel_type=vxlan
tunnel_bridge =br-tun
tunnel_id_ranges=1:1000
integration_bridge=br-int
local_ip = 192.168.16.42
[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
enable_security_group = true
ml2_conf.ini
[ml2]
type_drivers = flat,vlan,vxlan,local
#tenant_network_types = flat
#租户网络主要的类型是vxlan
tenant_network_types = vxlan
#mechanismdrivers配置默认是Linuxbridge。
mechanism_drivers = openvswitch,l2population
extension_drivers = port_security
# ML2 flat networks
#provider需要在ovs配置中体现
[ml2_type_flat]
flat_networks = flat_router,provider
# ML2 VLAN networks
#vlan配置可选项
[ml2_type_vlan]
network_vlan_ranges = flat_router:17:20
# ML2 VXLAN networks
#vxlan必须要id范围
[ml2_type_vxlan]
vxlan_group = 239.1.1.1
vni_ranges = 17:20
[ml2_type_geneve]
vni_ranges =
max_header_size = 38
# Security groups
[securitygroup]
enable_security_group = True
enable_ipset = True
3.重启服务
systemctl restart neutron-*
部分服务需要手动启动
systemctl start neutron-openvswitch-agent.service
某些情况下,还需要重启nova-compute
systemctl restart openstack-nova-compute
4.查看ovs网络
ovs-vsctl show #关注网卡绑定是否正确
ovs-vsctl add-br br-ex
ovs-vsctl add-port br-ex eth13
难点:
1.驱动的选择,neutron.agent.linux.interface.OVSInterfaceDriver与openvswitch,建议选择前者,后者是官网配置。
2.ovs-vsctl show查看网卡类型,br-tun需要与其他节点连接,以下连接信息。如无以下信息,可重启服务,实在不行需重启物理机。
Port “vxlan-c0a8102b”
Interface “vxlan-c0a8102b”
type: vxlan
options: {df_default=“true”, egress_pkt_mark=“0”, in_key=flow, local_ip=“192.168.16.42”, out_key=flow, remote_ip=“192.168.16.43”}
3.ovs-vsctl中br-int的网桥需有相关虚拟机的端口信息。dhcp的端口也需要在该网球中体现。
4.配置完成后,如有配置错误将直接导致系统卡顿,页面报错超时504.
5.配置完成后,需要测试不同宿主机之间的虚拟机进行访问测试。新建路由测试,确保配置正确。
192.168.16.42", out_key=flow, remote_ip=“192.168.16.43”}
3.ovs-vsctl中br-int的网桥需有相关虚拟机的端口信息。dhcp的端口也需要在该网球中体现。
4.配置完成后,如有配置错误将直接导致系统卡顿,页面报错超时504.
5.配置完成后,需要测试不同宿主机之间的虚拟机进行访问测试。新建路由测试,确保配置正确。