高可用性集群
編輯高可用性集群是支持服務器應用的計算機群,可以可靠地利用最小的停機時間。它們通過使用高可用性軟件,在群組或集群中駕馭冗余的計算機,在系統組件發生故障時提供持續的服務。如果沒有集群,如果運行一個特定應用程序的服務器崩潰,該應用程序將無法使用,直到崩潰的服務器被修復。HA集群通過檢測硬件/軟件故障來補救這種情況,并立即在另一個系統上重新啟動應用程序,而不需要管理干預,這個過程被稱為故障轉移。作為這個過程的一部分,集群軟件可以在節點上啟動應用程序之前對其進行配置。例如,適當的文件系統可能需要被導入和安裝,網絡硬件可能需要被配置,一些支持性的應用程序可能也需要被運行。
HA集群通常用于關鍵數據庫、網絡上的文件共享、商業應用和客戶服務,如電子商務網站。HA集群的實施試圖在集群中建立冗余,以消除單點故障,包括多個網絡連接和數據存儲,通過存儲區域網絡進行冗余連接。
HA集群通常使用心跳的私人網絡連接,用來監測集群中每個節點的健康和狀態。所有集群軟件都必須能夠處理的一個微妙但嚴重的情況是大腦分裂,這發生在所有的私有鏈路同時癱瘓,但集群節點仍在運行。如果發生這種情況,集群中的每個節點可能會錯誤地認為其他每個節點都已經宕機,并試圖啟動其他節點仍在運行的服務。有重復的服務實例可能導致共享存儲上的數據損壞。
HA集群通常也使用法定人數見證存儲(本地或云)來避免這種情況。一個見證設備不能在分裂集群的兩半之間共享,所以在所有集群成員不能相互通信的情況下,如果一個成員不能訪問見證,它就不能成為活動的。
應用設計要求
編輯不是每個應用都能在高可用性集群環境中運行,必要的設計決定需要在軟件設計階段的早期做出。為了在高可用性集群環境中運行,一個應用程序必須至少滿足以下技術要求,其中最后兩項對其在集群中的可靠功能至關重要,也是最難完全滿足的。
必須有一個相對容易的方法來啟動、停止、強制停止和檢查應用程序的狀態。在實踐中,這意味著應用程序必須有一個命令行界面或腳本來控制應用程序,包括支持應用程序的多個實例。 應用程序必須能夠使用共享存儲(NAS/SAN)。 最重要的是,應用程序必須盡可能多地在非易失性共享存儲上存儲其狀態。同樣重要的是,能夠在另一個節點上使用共享存儲中保存的狀態重新啟動故障前的最后狀態。 如果應用程序崩潰,或從保存的狀態重新啟動,必須不破壞數據。
這種方法與運行集群感知的應用程序之間的一個關鍵區別是,后者可以處理服務器應用程序崩潰,并支持實時滾動軟件升級,同時保持客戶端對服務(如數據庫)的訪問,方法是讓一個實例提供服務,而另一個正在升級或修復。這需要集群實例在移交過程中進行通信、刷新緩存和協調文件訪問。故障轉移集群屬于規劃、創建和配置以及故障排除。 節點配置 HA集群最常見的規模是兩個節點的集群,因為這是提供冗余的最低要求,但許多集群由更多的節點組成,有時是幾十個節點。
主動/主動--為故障節點準備的流量被傳遞到一個現有的節點上,或者在其余的節點上進行負載平衡。這通常只有在節點使用同質化的軟件配置時才有可能。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/193155/