服務器負載均衡部分正常問題處理

   某醫院爲保證應用的可靠性,部署了負載均衡設備,組建服務器集羣,對外提供服務。以下圖所示wKiom1laLTOCKFceAAAuocv_ha8482.jpg-wh_50服務器

兩臺真實服務器地址爲133和134,負載均衡虛擬出的地址爲1,正常狀況下,客戶訪問服務虛地址,而後由負載均衡設備把客戶訪問流量分擔到兩臺真實服務器上。網絡

   問題現場爲,部分終端訪問虛IP,業務正常,部分終端不正常,而且終端不固定,可能上午正常,下午就不正常了。負載均衡

   第一步,排查物理服務器是否正常,訪問真實地址,兩臺服務器均正常。ide

   第二步,登陸負載均衡設備,檢查配置,配置沒有問題,可是發現多個用戶嘗試訪問時,只有133的服務器有會話連接記錄,134的服務器會話一直爲0。懷疑134服務器的配置是否有問題,再次檢查負載均衡配置,沒有問題。blog

   第三步,在終端上開啓抓包,而後不停的訪問服務器虛地址,抓取正常和非正常時候的報文進行對比。正常狀況下,終端訪問虛地址,全部的報文都是應該與虛地址進行交換機,不該該看到真實服務器的地址,實際抓包也是如此;但當出現問題沒法訪問時,在抓包時看到了服務器的真實地址,因爲客戶端的TCP握手發起目標地址並不是是服務器真實地址,致使此TCP會話不停的重置,最後失敗。
部署

   直接緣由找到了,可是爲何訪問虛IP地址,最後會是真實服務器返回的報文。從整個報文的流程上進行分析。get

   1.終端A訪問虛IP,IP包爲A to 1;it

   2.負載均衡將會話負載到134服務器上,服務器收到的IP包爲 A to 134io

   3.服務器回的報文爲134 to A,這麼看PC收到134的包是正確的,可是會出問題的class

   解決這個問題的關鍵就是服務器134回的包要先到負載均衡,由負載均衡用本身的虛IP把134這個地址替換掉,這就是此問題的關鍵點,服務器134的網關不能設置真實的網關,而須要把網關設置爲負載均衡的IP地址。這樣,服務器迴應的報文就會先到達負載均衡,而後完成IP替換後返回給客戶端A,以後一切正常。

   負載均衡在網絡中部署的方案有多種,不一樣的方案,又會採用不一樣的報文處理方式,本方案中是採用二層旁掛的方式,採用的IP地址替換的方法。你們在處理負載均衡問題時,必定要先分析清楚組網結構及採用哪一種方案,報文如何傳遞,才能更快的解決問題。

相關文章
相關標籤/搜索