技術(shù)實踐|高斯集群服務(wù)器雙缺省網(wǎng)關(guān)故障分析
導語:當前國產(chǎn)化數(shù)據(jù)庫使用范圍越來越廣泛,在GaussDB數(shù)據(jù)庫的使用過程中難免會遇到一些問題,有的問題是由于在安裝過程中沒有注意細節(jié)而產(chǎn)生的,多數(shù)隱患問題都是在特定場景下才會暴露出來,且暴露的時間未知,這就給數(shù)據(jù)庫的運維工作帶來極大的挑戰(zhàn)。
本文就是基于一次數(shù)據(jù)庫安裝過程中出現(xiàn)的故障而形成的,文中主要闡述了網(wǎng)絡(luò)基礎(chǔ)知識、數(shù)據(jù)庫環(huán)境、故障分析、問題解決、總結(jié)等內(nèi)容,供各位同僚在日后的服務(wù)器安裝過程中參考借鑒。
網(wǎng)絡(luò)基礎(chǔ)知識介紹
■路由(Routing):是指IP數(shù)據(jù)包從源到目的地時,端到端路徑的網(wǎng)絡(luò)范圍,通俗解釋:數(shù)據(jù)包由源地址到目的地址所經(jīng)過的所有路徑的集合。
■ 網(wǎng)關(guān)(Gateway):可以用于廣域網(wǎng)互連,也可以用于局域網(wǎng)互連。網(wǎng)關(guān)是一種充當轉(zhuǎn)換重任的網(wǎng)絡(luò)設(shè)備。要實現(xiàn)這兩個網(wǎng)絡(luò)之間的通信(跨網(wǎng)段訪問),則必須通過網(wǎng)關(guān)。
■ 缺省網(wǎng)關(guān)(Default Gateway):是一臺主機如果想和其他網(wǎng)段的主機通信,但找不到可用的路由,就把數(shù)據(jù)包發(fā)給缺省網(wǎng)關(guān)。
■ 默認路由(Default route):是對IP數(shù)據(jù)包中的目的地址找不到存在的其他路由時,所選擇的最后的路由。
■ 三層交換機(L3 Switch):具有部分路由器功能的交換機,工作于OSI網(wǎng)絡(luò)標準模型的第3層(網(wǎng)絡(luò)層)。三層交換機最重要的目的是加快局域網(wǎng)內(nèi)部的數(shù)據(jù)交換,所具有的路由功能也是為這一目的服務(wù)的,能夠做到一次路由,多次轉(zhuǎn)發(fā)。在局域網(wǎng)中一般三層交換機充當網(wǎng)關(guān)。
■ 二層交換機(L2 Switch):工作于OSI網(wǎng)絡(luò)標準模型的第2層(數(shù)據(jù)鏈路層),故而稱為二層交換機。二層交換機屬數(shù)據(jù)鏈路層設(shè)備,可以識別數(shù)據(jù)幀中的MAC地址信息,并根據(jù)MAC地址進行轉(zhuǎn)發(fā),同時將這些MAC地址與對應(yīng)的端口記錄在自己內(nèi)部的一個地址表中。局域網(wǎng)內(nèi)部(相同網(wǎng)段)主機相互訪問需要經(jīng)過二層交換機。
■ 雙(多)網(wǎng)關(guān)主機:一臺服務(wù)器存在多個網(wǎng)關(guān),訪問不同的網(wǎng)段經(jīng)過不同的網(wǎng)關(guān)。
網(wǎng)絡(luò)基本示例圖
基于上面的拓撲圖,當網(wǎng)段A的服務(wù)器A要訪問網(wǎng)段B的服務(wù)器B時,就需要經(jīng)過網(wǎng)關(guān)D,如圖中的紅色虛線所示,這個虛線就是路由,因為服務(wù)器A連接2個網(wǎng)關(guān),如果服務(wù)器A把IP數(shù)據(jù)包發(fā)送給網(wǎng)關(guān)C,那么服務(wù)器A和服務(wù)器B之間肯定是無法通信的。
以上內(nèi)容為對于網(wǎng)絡(luò)基礎(chǔ)知識的介紹,接下來將進入本文的重點——高斯集群服務(wù)器的雙缺省網(wǎng)關(guān)故障分析。
數(shù)據(jù)庫集群環(huán)境描述
高斯數(shù)據(jù)庫版本A8.0.0.5,共2(管理節(jié)點)+21(數(shù)據(jù)節(jié)點)臺物理節(jié)點,7個安全環(huán),每個安全環(huán)3臺數(shù)據(jù)節(jié)點。
CN節(jié)點4個,每個數(shù)據(jù)節(jié)點有2個主DN節(jié)點、2個備DN節(jié)點、2個從DN節(jié)點。
每臺物理機有96核心CPU,1TB內(nèi)存。
管理面和業(yè)務(wù)面的網(wǎng)絡(luò)都為雙萬兆網(wǎng)口,管理面網(wǎng)段:172.18.10.0/24,業(yè)務(wù)面網(wǎng)段:172.18.20.0/24,數(shù)據(jù)庫服務(wù)器雙網(wǎng)口,Bond1:業(yè)務(wù)面,Bond0:管理面。
集群簡單拓撲圖
問題描述
某日重啟高斯集群的CN1服務(wù)器(一臺CN節(jié)點)后,當執(zhí)行跑批作業(yè)時收到告警,ETL服務(wù)器上跑批作業(yè)部分失敗,報錯中發(fā)現(xiàn)ETL服務(wù)器在CN1節(jié)點執(zhí)行的作業(yè)都失敗了,但在其他三個CN節(jié)點執(zhí)行的作業(yè)都正常,登錄ETL服務(wù)器后,手動Telnet CN1節(jié)點的25308端口不通,Telnet其他3個CN節(jié)點正常。
問題檢查
根據(jù)問題描述,初步判斷只有CN1節(jié)點出現(xiàn)問題。
■ 在ETL服務(wù)器上抓取數(shù)據(jù)包,發(fā)現(xiàn)數(shù)據(jù)包可以正常發(fā)送,但ETL服務(wù)器沒有收到CN1節(jié)點的回包
■ 在CN1節(jié)點抓取數(shù)據(jù)包,可以接收到ETL主機的數(shù)據(jù)包,也可以正常發(fā)送回包
■ 查看其他CN服務(wù)器路由
■ 查看CN1服務(wù)器路由
問題分析
檢查主機路由發(fā)現(xiàn)CN1服務(wù)器的默認路由和其他3臺CN服務(wù)器不同,CN1服務(wù)器bond1的Metric值為301,而其他CN服務(wù)器bond1的Metric值為300,根據(jù)路由選擇的優(yōu)先級規(guī)則,Metric值越小優(yōu)先級越高,所以CN1服務(wù)器的缺省網(wǎng)關(guān)為bond0,其他CN服務(wù)器的缺省網(wǎng)關(guān)為bond1。
分析到此故障原因已經(jīng)發(fā)現(xiàn),CN1的缺省網(wǎng)關(guān)是bond0,默認路由指向管理面的三層交換機,所以返回ETL服務(wù)器的IP數(shù)據(jù)包都發(fā)送到管理面網(wǎng)段,導致ETL服務(wù)器不能收到回包。
實際ETL服務(wù)器和CN1數(shù)據(jù)包的路由如下圖的紅色虛線所示:
問題總結(jié)
服務(wù)器的缺省網(wǎng)關(guān)一般情況下只有一個,當服務(wù)器的缺省網(wǎng)關(guān)有多個時,就會根據(jù)Metric值來進行優(yōu)先級選擇,優(yōu)先級高(Metric值最小)的即為此時的缺省網(wǎng)關(guān)。
此案例中的解決方法有多種,其中的兩種方案如下:
■ 管理面網(wǎng)段取消默認網(wǎng)關(guān)配置,業(yè)務(wù)面網(wǎng)段配置默認網(wǎng)關(guān),F(xiàn)I控制臺網(wǎng)段(10.10.10.0/24)的主機在高斯集群服務(wù)器中,均配置靜態(tài)路由。
■ 管理面網(wǎng)段取消默認網(wǎng)關(guān)配置,業(yè)務(wù)面網(wǎng)段配置默認網(wǎng)關(guān),管理面三層交換機中做雙向NAT轉(zhuǎn)換,把FI控制臺主機的IP地址(10.10.10.100)映射為管理面網(wǎng)段(172.18.10.0/24)的IP地址。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。