首先說明咱們的控制節點和網絡節點是安裝在一塊兒的 git
1,確保openvswitch-switch正常按照並啓動,尤爲是ovs-brcompatd 網絡
root@cloud :~# service openvswitch-switch status
ovsdb-server is running with pid 56266
ovs-vswitchd is running with pid 56275
ovs-brcompatd is running with pid 56359 dom
2,若是ovs-brcompatd is not running,能夠參考http://my.oschina.net/u/138210/blog/160816來解決。 spa
3,確保dnsmasq正常啓動,若是service dnsmasq start後再用ps -aux|grep dnsmasq,看到的不是以下的輸出,那麼多是沒有安裝dnsmasq(apt-get install dns-masq): .net
root@cloud:~# ps -aux|grep dnsmasq
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
dnsmasq 1987 0.0 0.0 28900 924 ? S 11:36 0:00 /usr/sbin/dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -r /var/run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new
nobody 27208 0.0 0.0 28900 976 ? S 11:46 0:00 dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces --interface=tapf6c204da-20 --except-interface=lo --pid-file=/var/lib/quantum/dhcp/c34ed4e4-6b31-4669-badc-93bb68f17a10/pid --dhcp-hostsfile=/var/lib/quantum/dhcp/c34ed4e4-6b31-4669-badc-93bb68f17a10/host --dhcp-optsfile=/var/lib/quantum/dhcp/c34ed4e4-6b31-4669-badc-93bb68f17a10/opts --dhcp-script=/usr/bin/quantum-dhcp-agent-dnsmasq-lease-update --leasefile-ro --dhcp-range=set:tag0,172.17.17.0,static,120s --conf-file= --domain=openstacklocal
root 27209 0.0 0.0 28900 480 ? S 11:46 0:00 dnsmasq --no-hosts --no-resolv --strict-order --bind-interfaces --interface=tapf6c204da-20 --except-interface=lo --pid-file=/var/lib/quantum/dhcp/c34ed4e4-6b31-4669-badc-93bb68f17a10/pid --dhcp-hostsfile=/var/lib/quantum/dhcp/c34ed4e4-6b31-4669-badc-93bb68f17a10/host --dhcp-optsfile=/var/lib/quantum/dhcp/c34ed4e4-6b31-4669-badc-93bb68f17a10/opts --dhcp-script=/usr/bin/quantum-dhcp-agent-dnsmasq-lease-update --leasefile-ro --dhcp-range=set:tag0,172.17.17.0,static,120s --conf-file= --domain=openstacklocal
root 76345 0.0 0.0 9412 888 pts/0 S+ 12:01 0:00 grep --color=auto dnsmasq
rest
4,網絡服務的啓動最好不使用 service XXX restart 這種方式來啓動,由於可能看不到錯誤信息,我是這樣啓動的, server
sudo neutron-server --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini --config-file /etc/neutron/neutron.conf blog
sudo neutron-openvswitch-agent --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini --config-file /etc/neutron/neutron.conf dns
sudo neutron-dhcp-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini 接口
sudo neutron-l3-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini
確保他們都正常未報錯。
5,gre模式的狀況下網絡節點須要3張網卡!eth0作內部節點的管理網絡,同時作VM的gre網絡通道,eth1做爲虛擬機使用浮動IP時的出口,eth3做爲網絡節點本身鏈接外網的接口。
6,把控制節點和計算節點的/etc/nova/nova.conf裏的
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
改爲:
libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtOpenVswitchVirtualPortDriver
附圖:
參考資料:http://docs.openstack.org/grizzly/openstack-network/admin/content/