ROSE HA,想說愛你不容易——為ROSE HA配置IP資源的LocalFailover

Hoegh發表於2016-08-04
我們有幾個專案使用了Windows Server 2008+ROSE HA+Oracle的組合方案,但是最近遇到了一個不大不小的麻煩。
甲方在進行故障測試時,斷掉了一個網路交換機的電源(共有兩個網路交換機,對應兩個冗餘的業務網路),Oracle服務竟然停止了,導致所有的客戶端資料庫連線中斷。
首先,這個測試結果甲方是無法接受的;
其次,這個結果也出乎我們的意料,在另外一個交換機正常工作的情況下,ROSE HA停止了Oracle服務。

那麼,如何給甲方一個交代呢?在和ROSE售後經過多次溝通後,配置IP資源的LocalFailover似乎是個不錯的選擇。

一、ROSE HA是什麼

ROSE HA是ROSE Datasystem 公司出品的新一代高可用性軟體,它可以將UNIX伺服器和Windows 伺服器組成叢集系統,並對伺服器進行監控、故障檢測、故障恢復,保護執行伺服器中的關鍵性資料服務和。對於在客戶機/伺服器環境中的網路及資料庫中整合的高可用需求,ROSE HA提供了非常靈活而且適用的解決方案。

二、IP資源(IP Resource)

ROSE HA包括卷資源、IP資源、應用程式等多種資源,其中IP資源(IP Resource)由IP地址和IP地址依賴的網路卡組成。網路卡組作為建立IP資源的載體需要首先建立。
IP資源分為心跳IP和虛擬IP兩類。心跳IP作為叢集服務傳遞資訊的橋樑,虛擬IP作為客戶端訪問應用程式的入口地址。

管理員可以根據具體需求,靈活建立網路卡組。建立網路卡組時,需要注意以下幾個方面:
1.網路卡組中的網路卡上的IP可以在不同的網段,即組成網路卡組的網路卡可以自由組合;
2.叢集節點心跳IP的簡歷需要同一個IP段的IP地址;
3.在網路卡組中的主機允許選擇超過一片的網路卡,以配合做IP資源的LocalFailover(多片網路卡需要使用者指定一個優先順序);
4.基於網路卡組的IP資源的替換IP功能會作用於該資源,不單獨提供或者智慧的替換某些主機的網路卡上的IP地址。

三、如何設定IP資源的LocalFailover

假如我們現在有兩臺伺服器,每臺伺服器上有兩片網路卡:
伺服器名稱 IP1 IP2
SUPPORT-58-114 192.168.58.114 192.168.10.114
SUPPORT-58-113
192.168.58.113
192.168.10.113
其中,對應的虛擬IP分別為192.168.58.115和192.168.10.115。
接下來,我們來配置IP資源的LocalFailover。

1.將資源帶出

首先,我們修改IP資源的配置前,需要將資源帶出。ROSE HA會自動把所有的服務停止,所有的資源都處於離線狀態。
透過右鍵選單“帶出”即可。

2.配置網路卡組

選中網路卡組1,右鍵“屬性”,將10網段的網路卡資訊新增到網路卡列表中,注意優先順序順序(58在前,10在後);
選中網路卡組2,右鍵“屬性”,將58網段的網路卡資訊新增到網路卡列表中,注意優先順序順序(10在前,58在後)




3.網路卡組配置完成



4.配置IP資源

選中IP資源1,勾選“自動回切IP”,注意,不要勾選“替換IP”;
選中IP資源2,勾選“自動回切IP”,注意,不要勾選“替換IP





5.將資源帶入

最後,我們修改IP資源的配置後,需要將資源帶入。ROSE HA會自動將所有的資源帶入線上狀態,並啟動相關服務。
透過右鍵選單“帶入”即可。


四、看似完美的LocalFailover

這樣,我們就完成了為ROSE HA配置IP資源的LocalFailover。
現在我們考慮以下場景,ROSE HA狀態正常,伺服器SUPPORT-58-114為當前活動主機,
當對應IP為192.168.58.114的網路卡1(命名為HOEGH-1)故障時,ROSE HA會完成LocalFailover,IP資源會轉而掛在網路卡2上,而不會自動倒切服務;
網路卡1(命名為HOEGH-1)恢復時,ROSE HA會完成LocalFailover,IP資源會恢復掛在網路卡1上,同樣不會倒切服務

我們來看一下
LocalFailover過程中的ROSE HA的日誌

點選(此處)摺疊或開啟

  1. [2016-07-27 12:34:46][ERROR]<5005>網路卡(HOEGH-1)斷開網路連線。
  2. [2016-07-27 12:34:48][INFO ]<5150>[LocalFailOver]本地停止資源組(Oracle)中的資源(IP-Oracle)開始。
  3. [2016-07-27 12:34:48][INFO ]<5008>停止網路卡({17C98833-C217-43BB-8852-74D21D9A08DB})活動IP(192.168.58.115)成功。
  4. [2016-07-27 12:34:48][INFO ]<5152>[LocalFailOver]本地停止資源組(Oracle)中的資源(IP-Oracle)成功。
  5. [2016-07-27 12:34:48][INFO ]<5147>[LocalFailOver]本地啟動資源組(Oracle)中的資源(IP-Oracle)開始。
  6. [2016-07-27 12:34:52][INFO ]<5011>啟動網路卡({C30FAA44-25C7-42DF-8859-AF21462E933F})活動IP(192.168.58.115)成功。
  7. [2016-07-27 12:34:52][INFO ]<5149>[LocalFailOver]本地啟動資源組(Oracle)中的資源(IP-Oracle)成功。
  8. [2016-07-27 12:34:52][INFO ]<5202>資源組(Oracle)中資源(IP-Oracle)的本地failover成功。
  9. [2016-07-27 12:35:08][INFO ]<5410>客戶端(sessionId:0x401)斷開連線
  10. [2016-07-27 12:35:46][INFO ]<5006>網路卡(HOEGH-1)的網路連線恢復正常。
  11. [2016-07-27 12:35:48][INFO ]<5150>[LocalFailOver]本地停止資源組(Oracle)中的資源(IP-Oracle)開始。
  12. [2016-07-27 12:35:48][INFO ]<5008>停止網路卡({C30FAA44-25C7-42DF-8859-AF21462E933F})活動IP(192.168.58.115)成功。
  13. [2016-07-27 12:35:48][INFO ]<5152>[LocalFailOver]本地停止資源組(Oracle)中的資源(IP-Oracle)成功。
  14. [2016-07-27 12:35:48][INFO ]<5147>[LocalFailOver]本地啟動資源組(Oracle)中的資源(IP-Oracle)開始。
  15. [2016-07-27 12:35:53][INFO ]<5011>啟動網路卡({17C98833-C217-43BB-8852-74D21D9A08DB})活動IP(192.168.58.115)成功。
  16. [2016-07-27 12:35:53][INFO ]<5149>[LocalFailOver]本地啟動資源組(Oracle)中的資源(IP-Oracle)成功。
  17. [2016-07-27 12:35:53][INFO ]<5202>資源組(Oracle)中資源(IP-Oracle)的本地failover成功。

五、不完美的LocalFailover

配置IP資源的LocalFailover後,重複甲方的故障測試,系統沒有倒切,Oracle服務沒有中斷。這也算是給甲方一個交代。
但是,這樣會導致裝置“帶病工作”。
我們考慮以下場景,ROSE HA配置了IP資源的LocalFailover噹噹前主機的其中一片網路卡故障後,系統不會倒切,而此時另外一個主機的兩片網路卡都是正常工作的。這一點不完美。
為此,我們和ROSE售後以及技術人員都溝透過,提出兩點疑問:
1.如果兩臺主機配置了多個IP資源,那麼當二者同時存在一片網路卡故障時,考慮到健康度相等,ROSE HA應該保持原狀,繼續對外提供服務,而不是關閉服務;
2.ROSE HA配置了IP資源的LocalFailover後,可能存在“帶病工作”的情況。
ROSE售後以及技術人員也承認存在這樣的問題,但是,
他們暫時不會考慮去修改ROSE HA的倒切邏輯。

如果ROSE不改變,也許我們就得考慮改變了。



~~~~~~~ the end~~~~~~~~~
hoegh
2016.08.04


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30162081/viewspace-2122968/,如需轉載,請註明出處,否則將追究法律責任。

相關文章