保持服務器的正常運行和喚醒狀態,或者至少准備好一旦有需要就立刻投入運行,這個目標可能是所有數據中心經理們最渴望實現的目標之一。
然而很少有數據中心經理們能夠誠實地說,他們所做的一切絕對都是為了讓系統的正常運行時間最大化。專家們說,事實上很多經理都把大量的時間和金錢浪費在了很少或者不能對正常運行時間產生積極作用的技術和實踐上去了。
美國金融數據服務商Six Telekurs負責IT運營與後勤保障的副總裁Walter Beddoe認為,實現正常運行時間的最大化既是科學也是一門管理藝術。“需要將諸多不同的東西組合在一起,包括可勝任此項工作的人員,利用容錯硬件,采納動態安全、良好的維護與變更管理實踐等。最重要的是,你必須承諾盡最大可能將一切做好。”
普林斯頓一家診斷醫學成像公司Princeton Radiology的IT部門主任Alan Howard敦促其屬下不要把時間和資源浪費在不能直接對提高正常運行時間有貢獻的行為和工具上面。比方說進行集群的努力就是“相當浪費的”,還不如冗余配置再輔以工具更能實現全自動化。
不能自動化的集群——其中的同步需要手工完成——可能會引起更多的問題,Howard說。“某個主節點一旦失靈就可能是災難性的;與其讓主節點失靈再去恢復它,還不如讓備用節點失靈更好些。”
他舉例說,他的團隊做了一個Windows Server的集群,用作失效備援,結果卻導致了應用程序的崩潰,因為該應用配置文件的一個變動未能及時拷到備用服務器上去。“修復應用崩潰故障所花費的努力往往要比修復一個集群節點失靈故障的努力大多了。”
之後,他的團隊就不再配置傳統意義的集群服務器了。相反,他們配置了一個“單獨的備用服務器集群”——並將該集群全部映射到一個雙控制器的Compellent存儲中心SAN上,“這樣我們就能夠基本上無縫地按需遷移虛擬機了。”
精心規劃
大多數數據中心經理都同意,仔細地規劃所有與服務器相關的工作——從采購到管理到替換,是保障系統可靠性的關鍵性步驟。
華盛頓大學的IT運營及工程設計經理Raoul Gabiam說,生命周期管理是服務器正常運行時間規劃的一個內在組成部分。“知道在何時、如何更換硬件,並升級軟件是非常重要的,因為這會影響系統的性能、持續性和總體的正常運行時間。”
比方說,如果你必須做一次軟件升級,那麼了解清楚對硬件的需求,以及現有硬件的狀態就是至關重要的。你或許得購買硬件來滿足軟件升級的需求,以避免出現更多的宕機,Gabiam解釋道。
Gabiam還強烈地推崇標准化與協調,作為確保服務器可靠運營的方法。“在任何人安裝任何東西或者進行某個變動之前,必須先走一個變動管理流程。”
變動管理就是要了解“每件東西是如何配置的,並在實施變動之前對變動做出評估,”Gabiam說。“用這種方法,你就總能了解清楚哪些事情是不允許的,哪些事情可能會產生相互影響。”
他說,遵守變動管理的紀律,就可能預見到以某種方式配置服務器,或者將其安放在一個新環境中時會產生什麼影響。
在線資源公司是一家為金融機構提供交易服務的企業,其CTO Paul Franko認為,工作態度也會產生巨大作用。他說,他進行了一項額外的努力,以確保常規但很關鍵的服務器相關工作能夠被認真嚴肅地對待,並及時得到處理。
“我們提出了一套系統檢查與平衡機制,以確保我們的各種規則能夠被遵守,”他說。按照Franko的說法,經理們必須常規性地檢查下屬的管理工作,再輔之以其他手段的雙重檢查,就可以把人工失誤降至最低限度。“是人就會犯錯,如果你沒有設置多個檢查點,事情就會滑向錯誤的一邊。”
推行預防性維護
常規性的預防維護措施或許是支撐服務器可靠運行最容易,也最少痛苦的方法。“系統的正常運行時間只能和整個系統中最弱組件的正常運行時間一樣長,”Beddoe說。長此以往地執行各項基本任務——升級系統軟件、提供有條件的電力,保證適當的冷卻環境——方能在不突破預算的前提下讓數據中心的服務器無故障地運行,才可不必從其他關鍵任務組抽調人手來修復故障。
Paul Franko,在線資源公司的CTO認為,工作態度在服務器管理中可以發揮巨大的作用。他說他他進行了一項額外的努力,以確保常規但很關鍵的服務器相關工作能夠被認真嚴肅地對待,並及時得到處理。
Franko說,為了確保所有必須要做的工作在需要時加以貫徹,就應該確定哪些工作是服務器維護工作,並將它們組織成明確的日程表。“有些事情是必須立刻執行的,比如安全升級,而其他一些任務批量執行,或者每隔一段固定期限加以執行是比較合理的。”這第二類任務就包括軟件非關鍵性功能改進的升級等。
Franko補充說,服務器的維護工作應該這樣加以處理:維護工作本身不應占用服務器的正常運行時間。“我們不能為了進行某些維護工作而讓系統的運行速度下降,無論如何,我們都得做到這一點。”
如果必須拆下某台服務器進行維護的話,Franko的團隊就會把這項維護工作安排到午夜或周末,用戶的需求量很低的時候進行。在正常工作時間拆下一台功能服務器的唯一理由只能是必須安裝或執行關鍵性的軟件升級,例如需要安裝零日安全補丁。
自動執行基本的服務器管理任務
在過去數年間,服務器的管理已變得越來越復雜,其中大部分原因是由於虛擬化及其相關技術的出現;為了提升服務器的效率和使用率,必須設計各類最佳實踐。
虛擬化本身有助於保護數據中心不受服務器宕機的影響。通過對服務器進行整合,在一個共享環境中相互連接,虛擬化允許多個虛擬機運行在不同的主機上。任何一台主機的失靈都會導致工作負載在剩余的主機間進行重新分配。“某台服務器或許會失靈,但這並不意味著這將會影響到整個服務的提供,”Gabiam論述道。
為了更有效地管理日益擴張的虛擬化環境,Xenos軟件、Uptime軟件、Nimsoft和Nagios企業等公司紛紛推出了旨在幫助數據中心工作人員關注服務器性能、定位出現的問題,以及充分利用性能改進機會的工具。
Beddoe覺得這樣的工具是必不可少的。“你必須要有某種讓人放心的東西,保證你的所有服務器能在任何時候做它們該做的事情。”