openstack兩個例項可以建立tcp連線,無法傳輸資料問題,解析。
現象:
兩個例項,分別部署了tcp的client和server端。ps aux|grep name 檢視正常執行。netstat -antl檢視網路連線狀態為建立連線,established狀態。send_q不為空,且越來越大。兩端網絡卡抓包,結果如下。
client端網絡卡抓包:
server端網絡卡抓包:
原因分析:
通過抓包結果,可以看到tcp的三次握手已經完成。傳送資料在client端可以看到,server端未收到資料。send_q越來越大,也可以判斷,資料在clinet端系統,未發出。
抓包檔案中,可以看到mss為1460,其實openstack的預設mtu為1450,已經超出範圍。所以不能發到openstack的網路。
查詢原因發現,ip a可以看到例項內網絡卡的mtu值為1500,和openstack的mtu值不相同。dhclient eth0可以重新分配網絡卡的mtu,變為1450。(我是因為,映象中有ifcfg-eth0的配置檔案,導致不能分到預設mtu值。)
解決方案:
刪除映象中ifcfg-eth0配置檔案,重啟網路,或者dhclient eth0。
openstack 例項配置keepalived
bin bash nginx1 192.168.97.101 nginx2 192.168.97.102 vip 192.168.97.241 安裝軟體 yum install nginx wget echo e 192.168.97.101 nginx master usr share nginx...
openstack手動遷移例項
1.在dashboard上將需要遷移的例項上掛載的儲存卷解除安裝掉 2.在例項執行的原運算主機上,切換到nova使用者,並進入例項檔案目錄 預設是 var lib nova instances 3.將需要遷移的例項檔案,通過scp傳給遷移目的運算主機 提前將nova使用者配置好相互免密登入 執行 s...
TCP自動重連
每2s發一次心跳包 public thread thread public boolean threadrunning true 活動銷毀置為false private boolean islogined false 啟動執行緒 thread new thread tpcconnectcheckin...