http://files.cnblogs.com/popsuper1982/Neutron.pptx
經典的三節點部署
架構
怎么理解?
更加深入:Tap Interface
更加深入:Security Group Layer
更加深入:br-int & br-tun
更加深入:DHCP Server
更加深入:Router
更加深入:br-ex
虛擬機網絡問題調試
1. Security Group全部打開,這是最基本的,但是很多人容易忘記
2. 通過界面查看虛擬機的log,也可以在compute節點上查看console.log文件,看看里面是否有DHCP獲取IP成功的日志
3. 如果虛擬機連不上DHCP Server,則需要准備一個不使用metadata server,而是用用戶名密碼可以登錄的image
4. 通過VNC登錄
6. 如果VNC登錄不進去,方法二,使用自己的VNC Client
7. 通過ovs-vsctl show和brctl來查看,各個網卡和bridge之間關系是否正確,tunnel之間是否能夠通,網卡是否都處於up的狀態
8. 如果從虛擬機的虛擬網卡到DHCP Server的網卡一路都是正確的,則需要查看br-tun上ovs-ofctl dumpflows查看flows規則,是否對包的改寫正確,是否有正確的規則
9. 通過VNC登錄進去后,就可以通過命令行運行dhclient,來重啟連接DHCP Server, 從compute節點上的網卡和bridge,一個個進行tcpdump,看到底哪個網卡或者bridge沒有收到包,收到的包里面的VLAN ID等是否正確
10. 如果VM能從DHCP Server獲得IP,則好事成了一半,接下來換一個有cloud-init的image,看metadata server能夠連接成功,能夠注入key,也是通過console.log來看
11. 如果metadata server不能連接成功,就需要順着metadata server的整個流程,一個一個模塊看,看每個模塊的log,端口是否正確,是否收到請求,也可以在VM里面用curl來模擬metadata server的請求
12. 如果metadata server能夠連接成功,key成功注入,下一步需要從namespace里面看是否能夠ping通,能夠ssh
13. 如果namespace里面能夠成功,則在network節點上,ping floating ip和ssh,是否能夠成功,如果不成功,看br-ex的網卡是否添加正確,是否配置了ip,路由表是否正確,namespace里面floating ip的iptables規則是否添加正確
14. 在network節點上能夠ssh到floating ip,則需要從其他節點上ssh,如果不成功,可能br-ex的網址配置有問題,很可能是br-ex添加的物理網卡不是混合狀態,也可能是路由配置有問題,對於floating ip所在的網段,不指向network節點
15. 如果floating ip能夠成功,則需要進去VM里面運行apt-get update,如果不可以,看能否ping通openstack里面的gateway(10.0.0.1),然后看能否ping通物理網絡環境的gateway(16.158.XXX.1)
16. 看DNS Server是否配置正確,是否能夠ping通,如果能,apt-get update運行成功