什么是可用性?
本文中使用了可用性的定義,因為它是 Internet 站點涉及到的一個概念。 可用性包括可靠性、故障恢復和故障幾個方面。 常用的可用性計量標準之一是“九的個數”。“這一數字可以轉換為某一系統可正常工作的時間百分比。 例如,一個運行時間百分比為 99.999 的系統可以說成其可用性為五個九。 下表給出了九的個數和時間之間的對應關系。
從運行時間的角度來看可用性
從上表可以看出,可接受運行時間為百分之 99.9 的系統平均每天只有 86.40 秒鐘或每月只有 43 分鐘是不可運行的。 要獲得更多個九的可用性,必需要對系統部署、軟件和解決方案實施的管理加以改進。 要預測一個系統何時甚至是隔多久會發生故障是非常困難的,因此要獲得更好的可靠性,一個關鍵的規劃方法是要縮短故障的恢復時間。 如果您的系統可以在 86.4 秒鐘之內從故障中恢復過來,那么系統即使每天發生一次故障,仍然能夠達到三個九的可用性。
從成功交易角度來看可用性
上述的可用性概念是作為運行時間的函數分析的,與此相反是將可用性作為成功交易的函數來分析可用性這個概念。 換句話說,如果某一個 Web 站點每天處理 100000 個請求,那么百分之 99.9 的可用性意味著每天有 100 個請求是失敗的。 如果您將此作為衡量可用性的標準,那么在業務規劃中對可用性的要求可能會發生變化。 例如,在之內一個 Web 站點的通信量是在改變的。 在凌晨兩點的時候,您的站點每小時的訪問次數可能還不到 100 。 如果您的站點在這期間發生故障,那么此時發生的失敗請求數量大約要比下午 5 點時少四倍,那個時候是中的峰值時刻,每小時的訪問次數為 400 次或更多。
使站點不可用的三類事件
有三類時間可能會造成您的 MSIB 2.0 站點無法工作,從而造成其不可用:人為錯誤、硬件故障和軟件故障。如果規劃不當的話,這些事件中的任何一個都可能會使站點的目標可用性無法實現。
人為錯誤
人為錯誤是需要認真對待的一類事件。 在用戶和正在工作的站點交互作用的時候,他們可能會執行某些對站點管理造成不良影響的操作。 因此,強烈建議對管理操作首先在專門測試環境中加以測試然后再編寫腳本。 當新的管理操作第一次用于實際運行站點的時候,應當對其進行仔細監控,觀察其對整個系統的影響。 認真的規劃會有助于站點實現高的可用性。 參見 MSIB Solutions Operations Guide 地址在 http://go.microsoft.com/fwlink/?LinkId=15047 ,其中介紹了可以減少人為錯誤的主意和佳做法。
硬件故障
硬件故障可能會在任何時候發生。 這類故障包括環境故障,如天災和火災等。 在硬件實現的設計中將單點故障降到低是降低這種風險的安全方式。 在部署計劃階段中,MSIB 2.0 站點的實施人員應當編制一份硬件地圖,給出存儲器、網絡和軟件邏輯的所有連接點。 之后可以制定解決潛在單點故障的方案并進行成本和風險對比分析。 這方面可以有很多不同的解決方案,從自始至終對關鍵數據進行簡單磁帶備份到可以容災的系統防護系統不一而足。
軟件故障
軟件故障是可能導致您的站點無法工作的第三類事件。 為了避免因軟件故障造成總的功能損失,MSIB 2.0 使用了群集技術以提高可用性。 站點代碼和基本部件的設計允許在發生臨時故障的時候進行重試操作。 MSIB 2.0 解決方案中執行交易的部分利用了 Distributed Transaction Coordinator (DTC)、Microsoft Message Queue (MSMQ) 和交易以保證數據的完整性。
高可用性技術和建議
這一部分介紹了一些技術和建議,幫助您部署一個高可用性的 MSIB 2.0 站點。
本部分包括:
用于高可用性的群集和負載均衡技術
旨在獲得高可用性的軟件建議
旨在獲得高可用性的硬件建議
用于高可用性的群集和負載均衡技術
群集是指一組相互獨立的計算機,它們共同合作運行公共的一套應用程序或服務,對客戶端和應用程序來說像是單個系統一樣。 群集計算機在物理上通過網線連接到一起,在程序上則通過群集軟件連接到一起。 這些連接使得這些計算機可以使用單獨的計算機無法使用的一些問題解決功能,例如負載均衡和故障切換等。
負載均衡功能將負載在所有配置的服務器之間分配,防止某一臺服務器負載過度。 通過這種方式從而又讓您能夠逐步增大容量以滿足自己的需求。 故障切換功能可以自動將資源從故障的或脫機的群集服務器上轉移到正在運行的一臺服務器上,從而為用戶提供了恒定的支持。 這樣用戶始終都可以訪問 MSIB 站點的資源了。 目前,Windows Clustering 可以提供如下的群集和負載均衡技術:
網絡負載均衡
Microsoft 群集服務
組件負載均衡
網絡負載均衡
網絡負載均衡(NLB)技術可以把多達 32 臺運行 Windows 2000 Advanced Server 組合到經負載均衡的單個群集中,從而可以提供基于 TCP/IP 的應用和服務的可擴展性和高可用性。
在本文測試的 MSIB 2.0 企業部署中,MSIB 項目組利用 NLB 技術將下表所列的服務器群集了起來。