Tungsten Fabric入門寶典丨8個典型故障及排查Tips
作者:Tatsuya Naganawa 譯者:TF編譯組
例如,當需要以下命令時,
source /etc/kolla/kolla_toolbox/admin-openrc.sh
contrail-api-cli --host x.x.x.x ls -l virtual-network
contrail-api-cli --host x.x.x.x cat virtual-network/xxxx-xxxx-xxxx-xxxx
source /etc/kolla/kolla_toolbox/admin-openrc.sh
openstack token issue
curl -H 'x-auth-token: tokenid' x.x.x.x: 8082/ virtual-networks
curl -H 'x-auth-token: tokenid' x.x.x.x: 8082/ virtual-network/xxxx-xxxx-xxxx-xxxx
ist.py ctr route show
curl control-ip: 8083/Snh_ShowRouteReq
ist.py ctr route nei
curl control-ip: 8083/Snh_BgpNeighborReq
ist.py vr intf
curl vrouter-ip: 8085/Snh_ItfReq
ist.py vr vrf
curl vrouter-ip: 8085/Snh_VrfListReq
ist.py vr route -v vrf- id
curl vrouter-ip: 8085/Snh_Inet4UcRouteReq?vrf_index=vrf- id
可以透過以下的命令檢視:
ist.py ctr ifmap table
curl control-ip: 8083/Snh_IFMapNodeTableListShowReq
ist.py ctr ifmap table virtual-network
curl control-ip: 8083/Snh_IFMapTableShowReq?table_name= virtual-network
ist.py ctr ifmap client
curl control-ip: 8083/Snh_IFMapPerClientLinksShowReq
ist.py ctr ifmap node
curl control-ip: 8083/Snh_IFMapLinkTableShowReq
ist.py ctr ifmap link
curl control-ip: 8083/Snh_IFMapNodeShowReq
ist.py vr ifmap
curl vrouter-ip: 8085/Snh_ShowIFMapAgentReq
注意:使用ist.py時,每個目標都有兩個通用屬性uve和trace。這些也可以用於進行詳細的狀態檢查。
ist.py vr uve
curl vrouter-ip:8085/Snh_SandeshUVETypesReq
ist.py vr uve VrouterStatsAgent
curl vrouter-ip:8085/Snh_SandeshUVECacheReq?x=VrouterStatsAgent
ist.py ctr trace
curl control-ip:8083/Snh_SandeshTraceBufferListRequest
ist.py ctr trace BgpTraceBuf
curl control-ip:8083/Snh_SandeshTraceRequest?x=BgpTraceBuf
ist.py vr trace
curl vrouter-ip:8085/Snh_SandeshTraceBufferListRequest
ist.py vr trace Flow
curl vrouter-ip:8085/Snh_SandeshTraceRequest?x=Flow
要對此進行排查,首先需要搞清楚這是控制平面問題還是資料平面問題。對於控制平面問題,以下命令將是最有用的。
# ist.py ctr route show
# ist.py vr intf
# ist.py vr vrf
# ist.py vr route -v (vrf id)
# tcpdump -i any -nn udp port 6635 or udp port 4789 or proto gre or icmp # for physical NIC
# tcpdump -i any -nn icmp # for tap device
# flow -l
-
例如,動作: D(Policy), D(SG)表示已被網路策略(network-policy)或安全組(security-group)丟棄。要進一步檢視flow動作,以下命令將有所幫助。
# ist.py vr intf -f text
# ist.py vr acl
# watch -n 1 'dropstats | grep -v -w 0'
# watch -n 1 'vif --get 0 --get-drop-stats'
# watch -n 1 'vif --get n --get-drop-stats' (n is vif id)
# ping -i 0.2 overlay-ip # this can be used to see specific dropstats counter is incrementing because of that packets
# flow -l
# tail -f /var/ log/contrail/contrail-svc-monitor.log
-
一種情況是日誌中有“No vRouter is availale”,所以這些服務無法被啟動。由於某種原因,從vRouter到analytics-api的NodeStatus導致了“非功能性”(Non-Functional),因此需要從vRouter端進行調查。
如果svc-monitor正常執行,則需要調查負載均衡器物件的行為。
# ist.py ctr route show
# ist.py vr route -v (vrf-id)
# docker exec -it vrouter-agent bash
# ip netns
# ip netns exec vrouter-xxx ip -o a
# ip netns exec vrouter-xxx ip route
# ip netns exec vrouter-xxx iptables -L -n -v -t nat
# tail -f /var/ log/messages # haproxy log is logged
# ist.py ctr route show
# ist.py vr vrf
# ist.py vr route -v (vrf-id)
服務鏈的使用將更改vRouter路由表,因此首先可以使用以下命令檢視路由例項是否已成功建立,以及ServiceChain路由是否已正確匯入。
# ist.py ctr route summary
# ist.py ctr route show
# ist.py ctr route show -p ServiceChain
# ist.py ctr sc
# tcpdump -i any -nn udp port 6635 or udp port 4789 or proto gre or icmp
# ist.py vr intf
# ist.py vr vrf
# ist.py vr route -v (vrf-id)
# flow -l
該功能由vRouter上的ACL實現,因此要研究此功能,以下的命令很有用。
# ist.py vr intf -f text
networkPlugin cni failed to set up pod "coredns-5644d7b6d9-p8fkk_kube-system" network: Failed in Poll V M-CFG. Er ror : Failed in PollVM. Error : Failed HTTP Get operation. Return code 404
-
基於virtual-machine-interface資訊,該資訊由kube-manager從kube-apiserver資訊建立。
-
config-api, control需要處於“活動”狀態
-
此程式將從kube-apiserver檢索資訊,並在config-api上建立pod /負載均衡器等
-
vrouter-agent需要處於“活動”狀態
# docker restart control_control_1
-
/var/log/contrail/contrail-kube-manager.log
-
/var/log/contrail/api-zk.log
-
/var/log/contrail/contrail-vrouter-agent.log
-
/var/log/contrail/cni/opencontrail.log <- cni log
-
根本原因可能是xmpp問題、underlay問題、/etc/hosts問題等等
[ check analytics db size]
du -smx / var/lib/docker/volumes/analytics_database_analytics_cassandra/_data/ContrailAnalyticsCql
[ if it is large, remove by this]
rm -rf / var/lib/docker/volumes/analytics_database_analytics_cassandra/_data/ContrailAnalyticsCql
docker-compose -f /etc/contrail/analytics_database/docker-compose.yaml down
docker-compose -f /etc/contrail/analytics_database/docker-compose.yaml up -d
為避免將來出現此問題,可以使用此knob。
echo 'ANALYTICS_STATISTICS_TTL=2' >> /etc/contrail/common_analytics.env
docker-compose -f /etc/contrail/analytics/docker-compose.yaml down
docker-compose -f /etc/contrail/analytics/docker-compose.yaml up -d
== Contrail database ==
nodemgr: initializing (Cassandra state detected DOWN.)
JVM_EXTRA_OPTS: "-Xms128m -Xmx2g"
在/etc/contrail/common.env中,並可以重新啟動analytics資料庫。
docker-compose -f /etc/contrail/analytics_database/docker-compose.yaml down
docker-compose -f /etc/contrail/analytics_database/docker-compose.yaml up -d
-
第八篇: TF支援API一覽
-
第九篇: TF如何連線到物理網路
-
第十篇: TF基於應用程式的安全策略
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957171/viewspace-2692673/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Tungsten Fabric入門寶典丨編排器整合
- Tungsten Fabric入門寶典丨多編排器用法及配置
- Tungsten Fabric入門寶典丨TF元件的七種“武器”元件
- Tungsten Fabric入門寶典丨首次啟動和執行指南
- Tungsten Fabric入門寶典丨說說L3VPN及EVPN整合
- Tungsten Fabric入門寶典丨關於安裝的那些事(下)
- Tungsten Fabric入門寶典丨關於叢集更新的那些事
- Tungsten Fabric入門寶典丨關於服務鏈、BGPaaS及其它
- Tungsten Fabric入門寶典丨開始第二天的工作
- Tungsten Fabric入門寶典丨關於多叢集和多資料中心
- Tungsten Fabric架構解析丨TF如何編排架構
- TF實戰丨使用Vagrant安裝Tungsten Fabric
- Tungsten Fabric架構解析丨TF的服務鏈架構
- Tungsten Fabric架構解析丨vRouter的部署選項架構VR
- Tungsten Fabric架構解析丨TF如何收集、分析、部署?架構
- Tungsten Fabric架構解析丨TF支援API一覽架構API
- Tungsten Fabric架構解析丨TF怎麼運作?架構
- Tungsten Fabric與K8s整合指南丨建立隔離名稱空間K8S
- Tungsten Fabric知識庫丨vRouter內部執行探秘VR
- Tungsten Fabric知識庫丨更多元件內部探秘元件
- Tungsten Fabric知識庫丨測試2000個vRouter節點部署VR
- vc入門寶典(十) (轉)
- vc入門寶典(九) (轉)
- 桌面虛擬化產品XenDesktop常見故障排查寶典薦
- Tungsten Fabric架構解析丨詳解vRouter體系結構架構VR
- Tungsten Fabric知識庫丨這裡有18個TF補丁程式,建議收藏
- Tungsten Fabric知識庫丨構建、安裝與公有云部署
- Tungsten Fabric知識庫丨關於OpenStack、K8s、CentOS安裝問題的補充K8SCentOS
- VC入門寶典三(String) (轉)
- vc入門寶典八(基本操作) (轉)
- vc入門寶典(一)(選單) (轉)
- vc入門寶典七(工具欄) (轉)
- Tungsten Fabric架構解析丨TF基於應用程式的安全策略架構
- 1個工具,助你提升K8S故障排查效率!K8S
- vc入門寶典六(多執行緒) (轉)執行緒
- 004.OpenShift命令及故障排查
- Tungsten Fabric解決方案指南-Gateway MXGateway
- 經典乾貨:Docker 常見故障排查處理Docker