2010年6月15日 星期二

在RHEL4或5上設定網卡bonding(team)

在伺服器上總是講求高可用性,方法就是redundant,什麼都要兩套,以防有一個元件故障時,還有一個可以撐著用。就好像人體的器官,也有很多成對的設計一樣。如眼睛是,手腳是,耳朵是,腎臟也是!
伺服器的網路卡也是其中一個重要的元件,也要兩套,以防故障時,就無法連線提供服務了。在PC伺服器,之前HP在Windows平台就提供自家主機網卡雙卡合一的驅動軟體。這個軟體很重要,光是網卡裝兩張,沒有這個軟體,就很難達到故障自動移轉,平時負載相互分攤的功能。因為沒有這個軟體,一張網卡必須有自己的IP位址,這樣一台主機兩個IP位址,使用者難道要自己在連不上線時自己切換連另一個IP位址嗎?沒有使用者會去記得這件事,最好還是由系統自己切換,而使用者完全感受不到有網卡故障。頂多覺得剛才好像頓了一下。
這個功能就是HP所謂的team NIC,可惜那只提供Windows平台使用。現在在資料中心有很多主機都改用Linux了,而RedHat的Enterprise Linux也支援這個功能,由叫做bonding的模組提供。包括Oracle的Enterprise Linux也支援。因為他們都已經將軟體包好,所以我們只要簡單的設定就可以使用了。NixCraft有一篇文章介紹,請大家去看看就明白。
我自己有在虛擬機器上設定兩張網卡,使用Oracle的Enterprise Linux 5.5實作過,完全依NixCraft的步驟,只是改成自己要的IP位址及網段,很容易就可以設好。運作起來,也很正常。這台機器上還安裝Oracle的資料庫,連線資料庫的運作都沒問題。
也做過斷線測試,發現把一張網卡斷線時,PING會掉一個封包,如此而以,其他沒有影響。
張貼留言