24*7(有些叫法也為24*7*365)的高可用系統越來越多的受到廣泛重視與應用,那是因為在實際環境中,不間斷的系統代表的就是不間斷的義務收入。但是
◆怎麼樣搭建與管理24*7的高可用環境?
◆各種各樣的高可用環境之間到底有什麼差別?
◆我們是否適合於哪種環境?
◆現在高可用環境的主要方式以及以後的發展趨勢是什嗎?
這些話題,都是決策者與實施者都應當考慮的,也是本文所探討的,我們需要搭建一個怎麼樣的高可用環境,才能真正做到最適合。
一、什麼是高可用(High Availability)
在高可用的解釋方面,有人給出了如下的詮釋:
(1)系統失敗或崩潰 (system faults and crashes)
(2)應用程式層或者中介層錯誤 (application and middleware failures)
(3)網路失敗 (network failures)
(4)介質失敗,一般指存放資料的媒體故障 (media failures)
(5)人為失誤 (Human Error)
(6)容災 (Disasters and extended outages)
(7)計劃宕機與維護 (Planned downtime, maintenance and management tasks)
可見,高可用不僅僅包含了系統本身故障,應用程式層的錯誤,人為錯誤等等,還應當包括資料冗餘、容災以及計劃的維護時間,也就是說,一個真正的高可用環境,不僅僅是能避免系統本身的問題,還應當能防止天災人禍,以及有一個簡單可靠的系統維護方法(如微碼升級、軟體升級等等計劃停機維護)。
現在高可用的計算方法一般以年線上率來計算,如規定一年之中的可用環境要達到99.95%,那麼24*365*(1-99.95%)=4.38小時(包括維護時間)。那麼假定一個系統本身一年之中故障時間是1小時,但是計劃維護時間卻花了20小時,那麼這個系統也不能算是一個滿足設計要求的高可用環境。
現階段使用環境中,基本沒有真正的100%的線上環境,或者說,如果達到100%的線上能力,將花費非常多的代價,所以一般能達到99.95%以上的可用性的環境,一般都可以認為是高可用環境。
對於高可用性線上效率的計算,我們可以參考如下方法:
圖1
在公司收益與投入成本計算方面取得一個平衡,則是我們所希望的線上效率,但是收益與成本的計算方法則是決策者與實施者需要著重考慮的問題了,也是我們下面希望能試圖解釋的問題。