對于一款服務器產品而言,我們可以從三個角度去評估它——質量、功能和服務。
質量是產品可用的第一要素,這里主要是指硬件的故障率,這個數值應當低于2%,一些廠商的硬件質量甚至可以做到小于1%。不要小看這個數字的變化,對于海量模式的硬件平臺,基數越大差距效果就越明顯。假設服務器總量是三萬臺,多出一個1%就意味著平均每天會多觸發一次故障事件。即便是更換硬盤的維修,也會對生產系統的運行產生一定影響。故障率如果控制不住的話,那么SLA的承諾就是一紙空談。
同時質量也直指另外一個重要指標,那就是性能。在這里,我們把產品性能也納入到質量里面去。為什么這樣講呢?如果一個產品的性能很差,意味著它的可用性就很差,一個不可用的產品,從概念上講基本就等同于質量不合格。一個性能極差的產品基本上就是不可用的,對生產業務的正常運行是非常不利的。
功能是另外一個很重要的影響因素。如果說質量關系到業務的正常運行,那么功能就關系到業務的高效維護。一般所謂的功能主要是指服務器的帶外管理功能。因為在硬件配置方面,除了RAID卡和電源以外,能夠相互一較高下的地方并不太多。但是服務器的帶外管理功能確實可以有效地拉大不同產品之間的距離。
質量和功能是在我們的技術評估中是占有很大比重的,而服務部分會相對偏輕一些。服務好不如質量好,手冊好不如產品好。如果一款產品,質量可靠有保障,使用簡單不求人,那么誰還會需要售后服務和說明書呢?如果產品的質量跟不上去,功能又有缺陷,那么服務再好也是沒有意義的。相反的,如果產品功能強大且質量過關,我們反而很少會使用到售后服務。
在海量模式下的運維場景中,甲方都有自己專門的運維團隊。當觸發任何緊急事件時,第一時間都需要運維團隊自己解決。我們不可能像過去傳統的系統集成那樣,把所有工作交付給廠商來完成。這涉及到一個時間成本的問題。一個線上系統發生故障了,難道你要我打800開Case,再等著廠商派工程師出現場嗎?這顯然是不可能的。業務就算停止一分鐘的損失都難以估計,你根本就等不起。只有像硬件維修或是技術咨詢這類不緊急的問題,我們才會依靠廠商來支持。
另外,服務是一個長期積累的過程。一個廠商的服務好與壞,在短期內是很難做出評判的。對于那些以前根本就沒有使用過的產品,服務這一項也僅能通過測試階段的售前表現來看。這也是不能把服務占比過重的一個客觀因素。
帶外管理有多重要
做系統運維的同學會經常提到帶內管理與帶外管理這兩個名詞。所謂的“內”、“外”之分,就是指管理通訊鏈路和業務生產通訊鏈路之間的關系。如果我們使用業務所在的鏈路進行消息傳遞和管理,我們就稱之為帶內(In Band),反之就是我們所講的帶外(Out of Band)。
我們日常維護生產環境,主要是通過帶內網絡進行管理。所依靠的手段,無非就是RDP、VNC、SSH、TELNET這些方式。但是,這些服務都運行在操作系統上面,并且通過網絡遠程訪問,其中就存在很多不穩定的因素。比如硬件故障,操作系統崩潰,或者是人為操作失誤導致系統無法訪問等等。由此看來,帶內管理這條通道是很脆弱的。我們需要使用另外一個備用的手段,來確保我們對設備和操作系統的控制權。
帶外管理是完全獨立于現有生產環境的,從硬件接口、網絡鏈路,再到存儲和操作系統都是單獨分離出來的。帶外管理系統存放在一個很小的控制芯片上面,里面是一個經過修剪的、只讀的最小系統環境,通過單獨的接口與網絡去訪問。所以它的可靠性比帶內管理網絡要高得多。只要控制芯片加電且帶外的網絡正常,我們就可以始終把控制權牢牢地掌握在手中。
當帶內管理網絡崩潰時,我們依舊可以憑借帶外管理提供的虛擬控制臺,遠程登錄生產系統的本地console界面,這相當于在機房里面直接接上KVM(Keyboard-Video-Mouse)設備。是我們處理故障最有效的保障手段。除了斷后之外,帶外管理也扮演著開路先鋒的角色。在設備剛剛上架加電的時候,我們是沒有帶內環境的,系統的安裝部署,服務器的開關啟停都離不開帶外管理。
也許在一些人看來,帶外管理不過是提供了一個遠程的虛擬控制臺而已。但實際上,它所能完成的任務遠遠不止這些。優秀的帶外管理可以說是提供了所有你在本地操作面前能做的一切功能,甚至還有額外的增值項目。我們可以借此獲取詳盡的硬件清單配置列表,收集監控數據信息,設置BIOS參數,國內服務器租用 服務器托管,甚至操控硬件。
異構平臺融合能力