Openstack 部署
部署OpenStack 参见:http://docs.openstack.org/newton/install-guide-rdo/*Liberty开始 neutron-L2-agent默认使用 LinuxBridge,但生成环境使用的OpenvSwitch,此处提供使用OpenvSwitch的相关配置:
# Configure the Modular Layer 2 (ML2) plug-in
# Controller Node
yum install openstack-neutron-openvswitch
# Edit /etc/neutron/plugins/ml2/ml2_conf.ini
mechanism_drivers = openvswitch,l2population
# Edit /etc/neutron/plugins/ml2/openvswitch_agent.ini
tunnel_types = vxlan
l2_population = true
local_ip = $ip
bridge_mappings = # For flat,vlan
of_interface = ovs-ofctl
firewall_driver = iptables
# Edit /etc/neutron/l3_agent.ini
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
# Edit etc/neutron/dhcp_agent.ini
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
#Compute Node
yum install openstack-neutron-openvswitch
# Edit /etc/neutron/plugins/ml2/openvswitch_agent.ini
tunnel_types = vxlan
l2_population = true
local_ip = $ip
bridge_mappings = # For vlan
of_interface = ovs-ofctl
firewall_driver = iptables_hybrid
OVN + DPDK(计算节点)
# 配置 ovn-controller
ovs-vsctl set open . external_ids=ovn-remote:tcp:$controller_ip:6642
ovs-vsctl set open . external_ids=ovn-encap-ip:$local_host_ip
ovs-vsctl set open . external_ids=ovn-encap-type:geneve
ovs-vsctl set open . external_ids:datapath-type="netdev"
ovs-vsctl set open . external_ids:iface-types="dpdkvhostuser"
创建虚机
OVS-DPDK uses hugepages to communicate with guests, before you boot a VM with OVS-DPDK you will need to create a flavor that requests hugepages.
nova flavor-key <FLAVOR> set hw:mem_page_size=large
页:
[1]