http://files.cnblogs.com/popsuper1982/Neutron.pptx架構
經典的三節點部署ssh
架構curl
怎麼理解?tcp
更加深刻:Tap Interfaceurl
更加深刻:Security Group Layerspa
更加深刻: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運行成功