管理網絡:包含api網絡(public給外部用,admin給管理員用-是內部ip,internal給內部用-是內部ip)
數據網絡
存儲網絡
IDRAC網絡
PXE網絡
控制節點相關服務
systemctl status chronyd.service
systemctl status mariadb.service
systemctl status mongod.service
systemctl status rabbitmq-server.service
systemctl status memcached.service
systemctl status httpd.service
systemctl status openstack-glance-api.service \
openstack-glance-registry.service
systemctl status openstack-nova-api.service \
openstack-nova-consoleauth.service openstack-nova-scheduler.service \
openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl status neutron-server.service
計算節點相關服務
systemctl status libvirtd.service openstack-nova-compute.service
systemctl status neutron-openvswitch-agent.service
網絡節點相關服務
systemctl status neutron-openvswitch-agent.service neutron-l3-agent.service \
neutron-dhcp-agent.service neutron-metadata-agent.service
驗證時間服務(在所有節點執行):
chronyc sources
驗證keystone(在控制節點)
soure admin-openrc
openstack token issue
驗證glance服務(在控制節點)
openstack image list
驗證compute服務(在控制節點)
openstack compute service list
驗證glance服務(在控制節點)
openstack image list
二 neutron openvswitch+gre/vxlan虛擬網絡
gre不足:
1.點對點,所有的計算節點和網絡節點都會建立GRE Tunnel,規模擴大,效率極其的低下
2.擴大的廣播域,GRE不支持組播,一個網絡(GRE Tunnel ID一樣)中的一個vm發出廣播幀后,GRE 會將其廣播到所有與該節點有隧道連接的節點。
3.GRE 封裝的IP包的過濾和負載均衡問題
目前還是有很多的防火牆和三層網絡設備無法解析 GRE Header,因此它們無法對 GRE 封裝包做合適的過濾和負載均衡。
VxLAN 主要用於封裝、轉發2層報文。VXLAN 全稱 Virtual eXtensible Local Area Network,簡單的說就是擴充了的 VLAN,其使得多個通過三層連接的網絡可以表現的和直接通過一台一台物理交換機連接配置而成的網絡一樣處在一個 LAN 中。
它的實現機制是,將二層報文加上個 VxLAN header,封裝在一個 UDP 包中進行傳輸。VxLAN header 會包括一個 24 位的 ID(稱為VNI),含義類似於 VLAN id 或者 GRE 的 tunnel id。GRE 一般是通過路由器來進行 GRE 協議的封裝和解封的,在 VXLAN 中這類封裝和解封的組件有個專有的名字叫做 VTEP。相比起 VLAN 來說,好處在於其突破了VLAN只有 4000+ 子網的限制,同時架設在 UDP 協議上后其擴展性提高了不少(因為 UDP 是高層協議,屏蔽了底層的差異,換句話說屏蔽了二層的差異)。
報文封裝
http://www.cnblogs.com/xingyun/p/4620727.html
VXLAN和GRE都是虛擬的二層物理的三層,arp廣播也可以通過物理的三層取轉發,這樣效率就低了,於是有SDN和l2population Driver
http://www.cnblogs.com/linhaifeng/p/6569539.html
三 neutron ovs opnflow流表和l2 population
arp_responder 的原理不復雜。Neutorn DB 中保存了所有的端口的 MAC 和 IP 地址數據。而 ARP 就是一個虛機要根據另一個虛機的 IP 地址查詢它的 MAC。因此,只需要 Neutron server 通過 RPC 告訴每個計算節點上的 ML2 agent 所有活動端口的 MAC 和 IP,那么就可以將 br-tun 變成一個供本機適用的 ARP Proxy,這樣本機上的虛機的 ARP 請求的響應就可以由 br-tun 在本地解決。Assaf Meller 有篇文章來闡述 ARP Responder。
使用 ARP Responder 需要滿足兩個條件:
(1)設置 arp_responder = true 來使用 OVS 的ARP 處理能力 。這需要 OVS 2.1 (運行 ovs-vswitchd --version 來查看 OVS 版本) 和 ML2 l2population 驅動的支持。當使用隧道方式的時候,OVS 可以處理一個 ARP 請求而不是使用廣播機制。如果 OVS 版本不夠的話,Neutorn 是無法設置 arp responder entry 的,你會在 openvswitch agent 日志中看到 “Stderr: '2015-07-11T04:57:32Z|00001|meta_flow|WARN|destination field arp_op is not writable\novs-ofctl: -:2: actions are invalid with specified match (OFPBAC_BAD_SET_ARGUMENT)\n'”這樣的錯誤,你也就不會在 ”ovs-ofctl dump-flows br-tun“ 命令的輸出中看到相應的 ARP Responder 條目了。
(2)設置 l2_population = true。同時添加 mechanism_drivers = openvswitch,l2population。OVS 需要 Neutron 作為 SDN Controller 向其輸入 ARP Table flows。
四 dhcp agent和l3 agent
網絡節點上neutron提供基於dnsmas(輕型的dns和dhcp服務)實現dhcp服務,
每個網絡都獨有自己的dhcp和router,二者被一個特定網絡內的主機共享,在namespace內
五 MTU問題
VXLAN 模式下虛擬機中的 mtu 最大值為1450,也就是只能小於1450,大於這個值會導致 openvswitch 傳輸分片,進而導致虛擬機中數據包數據重傳,從而導致網絡性能下降。GRE 模式下虛擬機 mtu 最大為1462。
計算方法如下:
- vxlan mtu = 1450 = 1500 – 20(ip頭) – 8(udp頭) – 8(vxlan頭) – 14(以太網頭)
- gre mtu = 1458 = 1500 – 20(ip頭) – 8(gre頭) – 14(以太網頭)
可以配置 Neutron DHCP 組件,讓虛擬機自動配置 mtu,官方文檔鏈接 http://docs.openstack.org/juno/install-guide/install/yum/content/neutron-network-node.html
#/etc/neutron/dhcp_agent.ini [DEFAULT] dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf #/etc/neutron/dnsmasq-neutron.conf dhcp-option-force=26,1450或1458
重啟 DHCP Agent,讓虛擬機重新獲取 IP,然后使用 ifconfig 查看是否正確配置 mtu。