摘要

伺服器備援機制最佳效益方案
Keywords / Server,Server Backup,Disaster Recovery2
現代企業大多擁有為數眾多的伺服器,提供使用者各種不同的服務,例如資料庫、網頁、eMail等,如何維持伺服器持續正常運轉及故障時能在最短時間內恢復功能,一直是十分重要的課題。在業界常用的作法之一就是建構高可用性叢集(High Availability Cluster)的系統,透過冗餘(Redundancy)的伺服器、網路設備、儲存設備確保單一硬體功能故障時,整個系統仍能維持正常運作。考量高可用性叢集架構建置成本很高,本文將介紹一種具經濟效益之災難備援(Disaster Recovery)方案,使用高可用性備援軟體Double-Take Availability來建構廠務資訊平台備援系統,維持伺服器持續提供不間斷服務,並分享在廠區實際使用經驗與運轉注意事項供參考。
前言
南科十四廠自從2006年建立廠務電子化資訊平台(efac)後,該系統已成為同仁每日運轉之重要關鍵系統,系統開始設計時並未加入高可用性叢集架構,無論程式或資料庫皆由多台單一伺服器提供,只要任一台伺服器故障,系統就隨之停擺。為了避免此一憾事發生,廠務內部除定期系統資料備份外,也架設一套災難備援系統,在任一台efac伺服器發生異常時可以取代該伺服器繼續提供服務。
計畫方法
以企業的角度來看,若要具備系統服務不中斷這樣的能力,必須要有健全的基礎架構,及強化備援系統支援。本文後續將針對三種災難備援機制做介紹並進行優缺點比較。
備份
為避免資料錯誤或遺失,必須透過安裝備份軟體,定期在存放重要資料的伺服器或電腦執行備份工作,防止因人為因素或設備故障引起的資料遺失。
十四廠使用過的備份軟體有GHOST, Symantec LiveState Recovery、Acronis True Image等三套。備份軟體通常具有排程備份、差異備份、增量備份等功能,可以定期將重要系統環境與資料自動備份到指定的資料夾路徑下。當資料遺失或系統需要重建時,可以從備份的專案進行手動還原。備份軟體優點在於成本最低,可做歷史資料還原;缺點則是備份及還原過程耗費時間最久,備份資料有時間差異(視備份周期而定)。對於現行頻繁使用廠務資訊平台而言,這樣的備援架構已不敷使用。
圖一、備份軟體之備份與還原

高可用性叢集
高可用性叢集(High Availability Cluster或HA Cluster)是將多個功能相同的應用程式伺服器,依邏輯程序分組、配置平衡伺服器工作量以及擔任備用後援。叢集可以說是伺服器的集合,透過高速網路將多個電腦連結起來,建置一個高可用性及運算能力強大的超級系統,以群策群力的方式達到加速目的,其優點是單一系統故障不會造成服務中斷,無論伺服器、網路設備、儲存設備故障都不影響叢集系統持續提供服務。
要做到叢集架構,需要冗餘硬體設備支援,所需成本(包含軟硬體)相較於備份及後面所述之高可用性軟體備援方案會高出一倍以上。 圖二為1+1備援的高可用性叢集網路架構,兩台可提供相同服務功能的伺服器中間透過心跳信號(Heartbeat)互相溝通,若一台伺服器故障,另一台伺服器可以完全支援所有功能。舉例來說,第一台伺服器負責資料庫服務,第二台伺服器負責網頁服務,當第一台伺服器故障,第二台伺服器就立即接手負責提供所有資料庫加網頁的服務。
圖二、1+1 備援高可用性叢集網路架構

要做到完整的高可用性叢集,硬體設備、網路線路都需要加倍建置,對於硬體的規格要求一致性,且需搭配網路附加儲存設備(Network Attached Storage, NAS)來作為共同資料儲存的地方。缺點就是建置成本太高,對硬體需求較高,系統架構複雜而不易維護。
高可用性軟體備援
由於前述軟體備份方案資料還原後差異性太大,建構高可用性叢集方案成本太高,折衷的方式就是透過高可用性備援軟體來達到備份與系統服務不中斷的目的。高可用性軟體備援的原理,是將主要運作伺服器(Active Server)的所有資料,同步複製到本地或是異地另一備援伺服器(Standby Server)來分散風險。若萬一主要運作伺服器發生意外導致服務中斷時,備援軟體會立即將服務(資料庫、網頁、eMail等)切換至備援伺服器,維持資訊系統平台正常的運作。
圖三為1對1高可用性軟體備援架構,兩台伺服器之間需要透過一高可用性備援軟體做設定與溝通,這套備援軟體除了同步備份功能之外,還負責伺服器故障切換(Fail-over)功能,主要伺服器會定期送心跳信號給備援伺服器,當主要運作伺服器故障,備援伺服器一段時間接收不到心跳信號,就會自動接手提供服務。
圖三、高可用性軟體備援架構

使用高可用性軟體備援的優點就是成本比高可用性叢集架構低(約只有1/3),如果備援的伺服器越多並搭配虛擬機器軟體技術下,相對成本會更低。而且具備即時備份與系統還原功能。其缺點就是在備援伺服器取代主伺服器提供服務前還是有短暫中斷時間與資料差異。
表一歸納三種備援方案成本與優缺點比較,比較條件是以備援兩台功能不同efac伺服器做比較,成本的估算基準是用已經有兩台efac伺服器存在的條件下需額外新增軟硬體做估算。
方案 |
擴充成本 |
優點 |
缺點 |
---|---|---|---|
備份軟體 |
3~5 萬 |
成本最低,可作 歷史資料還原 |
備份及還原耗費時間最 久,資料差異性最大 |
高可用性 叢集 |
>300萬 |
資料完全不中斷 |
建置成本最高,硬體要 求最高,系統最複雜 |
高可用性 軟體備援 |
<90萬 |
兼具低成本與高 可用性優點 |
有短暫中斷時間與資料 差異 (10分鐘) |
從 圖四可以看出,採用高可用性軟體備援的方案,系統持續服務的時間可高達99.99%,推算一年僅停機52.56分鐘[1],可用性相當高,符合廠務資訊平台需求。因此在考量較低成本、系統服務高可用性、系統恢復時間等因素,十四廠採用高可用性軟體備援的方案,再加上支援MS SQL Server資料庫需求,最後選擇Double Take Availability為備援軟體。
圖四、三種備援方案停機時間與可用性[2]

圖五為十四廠建置的高可用性軟體備援架構,備援伺服器名稱為[ESXi],安裝Linux作業系統,透過VMware軟體建立兩個虛擬作業系統環境,各自對應[EFAC14-1]、[EFAC14-2]兩台主伺服器做備援,兩個VMware虛擬作業系統環境內另需安裝與對應的主伺服器相同作業系統與Double Take軟體。另外,[EFAC14-1]、[EFAC14-2]兩台主伺服器同樣需安裝Double Take軟體,然後再做相關設定。當任何一台efac伺服器故障時,備機[ESXi]就會取代它的位置,繼續提供服務。
圖五、十四廠Double-Take High Availability 軟體備援方案

結果與分析
為了評估備援伺服器取代主要伺服器的時間與MS SQL Server資料庫資料差異時間,於2011年7月進行實際測試,藉由拔掉網路線方式模擬主要伺服器異常,觀察備援伺服器的備援時間。 圖六的記錄檔畫面顯示從16:17模擬異常開始,一直到16:42備用伺服器完全取代主要伺服器提供服務,大約需半小時時間,後續測試efac相關服務功能正常。經過確認,資料庫內資料的差異時間小於10分鐘,證實這個備援機制用在十四廠efac平台是符合需求的。
圖六、十四廠efac 備援伺服器成功備援紀錄

在測試Double-Take High Availabi-lity備援過程中,發現一個實際使用上要注意的事項。IT網管系統若偵測到一組IP位址,同時存在兩組不同的網卡實體位址(MAC address),會將第二組網卡實體位址封鎖避免衝突。因此在備援環境啟動並取代主要伺服器後,必需手動修改備援伺服器的網卡實體位址跟所取代的伺服器一樣,才不會造成因網卡實體位址被鎖住而無法提供備援服務,修改程序可參考 圖七範例。
圖七、從裝置管理員修改網路卡實體位址

結論
為了維持廠務資訊平台持續提供服務,評估一套適合的備援系統勢在必行。除了要考量具備資料備份功能作為後續系統還原的保障外,如何於可接受的最短時間內恢復系統服務也必須納入考量,另外需考量的還有成本因素。本文討論了三種最常用的備援方案,其中備份方案成本最低,但系統還原時間過久,資料差異最大,已不敷現在系統使用;高可用性叢集方案可做到不間斷提供服務,但硬體要求較高,成本也最高,適合用在生產相關資訊系統上;而高可用性軟體備援方案可做到短時間恢復系統服務,成本又遠低於高可用性叢集方案,對於廠務系統運轉來說,是具有最佳效益的災難備援方案最佳選擇。
參考文獻
- Availability Percentage Calculation,維基百科,https://en.wikipedia.org/wiki/High_availability
- 范肇鈞,EasyFlow HA高可用度系統成功案例,http://www.dsc.com.tw/news paper/90/90-5.htm
- High-availability cluster,維基百科,https://en.wikipedia.org/wiki/High-availability_cluster
- Mohan Rao Cavale, Introducing Microsoft Cluster Service (MSCS) in the Windows Server 2003 Family, https://msdn.microsoft.com/en-us/library/ms952401.aspx
- 李泳泉,叢集技術與雲端服務,http://www.cc.ntu.edu.tw/chinese/epaper/0015/20101220_1505.htm
- 王宣智2007,高可用度資訊服務布建,資通安全專論
- Double-Take原廠技術手冊
留言(0)