什么叫數據中心?維基百科給出的定義是“數據中心是一整套復雜的設施。它不僅僅包括計算機系統和其它與之配套的設備(例如通信和存儲系統),還包含冗余的數據通信連接、環境控制設備、監控設備以及各種安全裝置”。在云大行其道的今天,隨著數據中心建設規模的不斷擴大,新技術的層出不窮,數據中心變得越來越復雜。大型數據中心往往是由很多功能不一的單元系統組成,其運維工作需要具備方方面面的知識,包括硬件、網絡、服務器、存儲、安全以及業務上的東西,需要一體化聯動地去做好運維工作。
當一個數據中心的規模非常大,其面臨的技術挑戰和問題也會比較多,很多在小環境小體系下不是問題的問題在這樣的規模下也就凸顯出來了,所以要做好大型數據中心的運維工作,對整個數據中心方方面面涉及到的技術體系都要花費較長時間來進行系統學習,只有對這個數據中心整體非常了解,才能有針對性地制定一些運維方案,自己結合特定需求進行開發一些監控運維軟件,對整個數據中心進行高效管理與監控,提升整個數據中心的運行效率、減少故障的發生,從而將運維工作不斷推向新的高度。
一個大型的數據中心內部往往都包含了很多小系統,運維工作都是圍繞著這些具體的應用系統展開的,具體的可以分為基礎運維管理、日常業務運維、網絡、服務器、存儲、安全六大部分,本文就來說一說一般大型的數據中心應該具備的哪些運維方法和能力。
首先從數據中心的基礎運維管理方面來說,則主要有硬件配置管理、可維護性優化、監控、報警處理、自動化運維、斷網,斷電、機房容災等運維工作。硬件配置管理包含機柜里每臺服務器的型號和硬件配置,并清楚是哪些業務系統在使用這些服務器。即便是虛擬化運行環境,也需要知道這些虛機都在哪些物理機組成的資源池中流動。數據中心物理機和虛機數量都很龐大,使用自動化運維是非常有必要的。自動化運維不僅能提升運維的工作效率,還可以減少人為的參與,同時讓數據中心自己管理自己,釋放人力。并對數據中心可能發生的故障還做好監控與報警處理,以便能夠在故障發生的第一時間知曉問題,往往一次大的故障都是從開始的一點小故障逐漸擴展最終引發整個大系統的崩潰的,所以在出現一些小的異常時一定要及時消除,而這些異常就要靠完善的監控和報警系統來檢測。
從數據中心的日常業務運維方面考慮,則主要有日常檢查、應用變更、軟硬件升級、突發故障等。具體來說:1、日常檢查:“千里之堤,潰于蟻穴”。任何的故障在出現之前都可能會有所表現,小的隱患不消除,可能導致重大的故障出現,所以數據中心日常的例行檢查工作枯燥,但也很重要,可以及時發現一些運行中的隱患。根據數據中心承載業務重要性的不同,要對數據中心里的所有運行的設備進行例行檢查。檢查服務器應用服務是否正常,CPU內存等利用率是否正常。對應用業務進行檢查,看業務運行是否正常。還有對數據中心的機房環境也要進行檢查,環境的溫度、濕度、灰塵是否合乎要求??照{、供電系統進行運行良好,設備運行是否過熱,地板、天窗、消防、監控都是檢查的部分??照{漏水、設備漏電都會對數據中心正常穩定運行產生危害,千萬不可大意。2、應用變更:數據中心承載的業務不會是一成不變的,隨著業務的多樣化和不斷發展,經常要對業務進行調整,包括服務器和網絡的設置。因此要對服務器和網絡設備操作很熟悉,主要需要掌握Linux服務器命令和網絡協議。要根據應用的需要,及時準確做出變更。3、軟硬件升級:數據中心的設備一般運行周期是五年,不斷地有設備需要逐漸淘汰進行更換,也有一些設備因為存在軟件缺陷需要升級,因此軟硬件升級也是維護工作的一部分。軟硬件升級時需要做好回退機制,以防升級出現問題時無法回退,業務長時間無法恢復。當接手數據中心維護工作就會發現,怎么會有那么多的升級,幾乎每個月都要有升級操作,熬夜升級工作成了維護人員的家常便飯。4、突發故障:沒有任何一個數據中心是不出故障的,在數據中心運行的過程中都會出現這樣那樣的問題。對于突發故障,高水平的維護人員可以靜下心來冷靜分析故障的觸發原因,迅速找到解決的方法,如果在短時間內找不到解決方法,也可以通過切換到備用設備上先恢復業務,再進行分析。這時擁有高水平的維護人員對于一個數據中心至關重要,在關鍵時刻就能派上用場。雖然這些工作看起來有些平常,但千萬別小看它們。數據中心日常維護工作實際上非常重要,關乎著整個數據中心業務的正常運行。只有重視數據中心的維護工作,才能給數據中心一個平安。
從數據中心網絡方面考慮,則主要有網絡硬件設備、ACL、OSPF、LACP、VIP、協議分析、流量、負載均衡、二三四七層情況、網絡監控、萬兆板卡、核心交換等。網絡是數據中心的重要組成部分,是一切工作運行的基本保證,沒有網絡數據中心就無法運轉起來,所以保證網絡穩定是數據中心運維工作中的重中之重。這里不僅要關注網絡的硬件問題,還要關注SDN軟件定義的網絡。一般傳統IT架構中的網絡,根據業務需求部署上線以后,如果業務需求發生變動,重新修改相應網絡設備(路由器、交換機、防火墻)上的配置是一件非常繁瑣的事情。而在當今互聯網/移動互聯網瞬息萬變的業務環境下,網絡的高穩定與高性能還不足以滿足業務需求,靈活性和敏捷性反而更為關鍵。SDN所做的事是將網絡設備上的控制權分離出來,由集中的控制器管理,無須依賴底層網絡設備(路由器、交換機、防火墻),屏蔽了來自底層網絡設備的差異,而控制權是完全開放的,用戶可以自定義任何想實現的網絡路由和傳輸規則策略,從而更加靈活和智能。進行SDN改造后,無需對網絡中每個節點的路由器反復進行配置,網絡中的設備本身就是自動化連通的。只需要在使用時定義好簡單的網絡規則即可。如果你不喜歡路由器自身內置的協議,還可以通過編程的方式對其進行修改,以實現更好的數據交換性能。比如百度自研交換機,可以直接支持SDN的遠程配置與管理特性,從而實現上線全自動配置。未來,自研交換機還會更進一步和服務器自動化上線結合,提升服務器交付和管理效率。網絡可以說是包羅萬象,涉及太多的設備和協議、軟件層技術,所以也需要不斷地學習,加深對網絡技術的理解,這樣才能做好網絡運維工作。
從數據中心服務器方面考慮,則主要有文件系統、內核參數調優、各種硬盤驅動、內核版本、Kernel panic等。Linux系統不僅在服務器,在網絡操作系統也占據著主流地位,掌握Linux系統的使用才能更好地處理服務器和網絡設備的運維工作,Linux是運維工作的一項基本技能。除了熟悉Linux系統的操作,還要對服務器的運行狀態和內核運行狀態進行監控與管理,減少服務器故障的發生。一般大型的數據中心都包含有成千上萬臺的服務器,幾乎每天都會有服務器出現各種各樣的問題,只有對服務器有深入理解才能很好地消除問題。為了防止服務器故障引發業務中斷,所以一般在服務器上都要部署虛擬化技術或者集群技術,當一臺服務器物理硬件故障時,業務可以平滑切換到其它服務器上,業務不會受到任何影響。這些虛擬化技術增加了運維的難度,也需要對虛擬化技術進行不斷深入學習。另外數據中心服務器的定制化也是很有意義的一件事。云計算需要大規模部署,因此需要服務器具有更高的部署密度、節能而且易于管理,但對于每個節點的計算能力要求并不十分苛刻。而廠商生產的普通意義上的服務器由于要適應多種應用,則更多兼顧性能、擴展性,忽略了成本和能耗。而如果是專門為云定制的服務器,會針對云的特點進行優化設計,從而更加符合用戶的需要。對于企業來說,它帶來的好處顯而易見,試想一下,即使每臺定制化服務器節省的電力有限(4電源改2電源),但對于大規模部署的數據中心來說,長此以往,成本的節約也是顯而易見的。比如Google所擁有的服務器都是自己設計,采用定制化托盤,內建電池做備用電源,相比傳統服務器成本和耗電都要低得多,這也為Google節省了大筆的電力開支。
從數據中心存儲方面考慮,架構更加多樣和復雜化。在云計算、虛擬化、大數據等相關技術進入數據中心后,存儲已經發生了巨大的改變,塊存儲、文件存儲、對象存儲支撐起多種數據類型的讀取;集中式存儲已經不再是數據中心的主流存儲架構,海量數據的存儲訪問,需要擴展性、伸縮性極強的分布式存儲架構來實現。在大規模系統支撐上,分布式文件系統、分布式對象存儲等技術,為存儲的各種應用提供了高度可伸縮、可擴展和極大的彈性支撐和強大的數據訪問性能,并且因為這些分布式技術對標準化硬件的支持,使得大規模數據中心存儲得以低成本的建設和運維。當然分布式存儲不是要取代現有的盤陣,而是為了應付高速成長的數據量與帶寬而產生的新形態存儲系統。另外就是軟件定義存儲,它代表了一種趨勢,即存儲架構中軟件和硬件的分離,也就是數據層和控制層的分離。對于數據中心用戶而言,通過軟件來實現對存儲資源的管理和調度,實現存儲資源的虛擬化 、抽象化、自動化,能夠完整的實現數據中心存儲系統的部署、管理、監控、調整等多個要求,使得存儲系統具備靈活、自由和高可用等特點。企業及互聯網數據以每年50%的速率在增長,新增數據中結構化數據總量有限,多數為非結構化、半結構化數據,數據中心存儲架構隨著業務發展也需要極強的彈性適應能力,低成本、海量擴展、高并發性能是面向大型云數據中心運營存儲架構的基本技術屬性。如何進行數量龐大且雜亂無章的數據存儲與深度應用處理,并迅速提取有價值的信息,形成商業決策將成為各類型企業生存基礎,也是今后存儲以及圍繞存儲架構不斷衍生的業務發展方向。
最后從數據中心安全方面來考慮,安全就是若干個小項:攻擊保護、升級備份、抓BUG/找BUG、腳本工具、數據安全、服務巡檢等項目,其中每一項拿出來其實都包含很多的內容。比如說到攻擊與保護,這個主要指的是防止外來的異常入侵者對數據中心發起的惡意和無意攻擊,惡意攻擊就是有人故意的使用各種攻擊方法,進入到數據中心內部,將重要的數據竊取或者破壞,達到其不可告人的目的。也有的是無意的攻擊,因為整個數據中心是要與外界保持互聯互通的,運行是動態的,變化的,不可避免會有一些異常流量攻擊數據中心,有時甚至來自于數據中心內部,比如某些服務器中毒,或者硬件故障,構造出了環路,異常流量等網絡故障,這些都會影響到數據中心的運行,所以如何做好數據中心的攻擊與保護是一個很大的題目,這并不是在數據中心里部署幾臺安全設備就能解決的,需要對整個數據中心進行全面的統一規劃,并有針對性地部署一些安全防護措施,而且隨著各種黑客技術的提升,安全防護措施也要不斷提升,這是一個不斷學習與完善的過程,只要數據中心還在運行,這個完善就不會停止。為了方便運維,也要做好一些執行腳本,以便在出現突發事件時,能夠快速處理問題。比如一個數據中心的業務出現異常,為了快速恢復業務,需要將路由進行調整,將流量全部引到其它的數據中心,這就需要在核心路由器上進行調整,這時有個現成的腳本就可以自動執行,達到快速切換的目的。數據中心還應該準備很多其它工作的腳本,以便緊急的時候快速使用。
通過以上的分析您一定很驚訝,原來數據中心運維包含這么多內容,大大小小數十項,而且每一項包含的內容說起來都不那么簡單,也涉及很多的技術知識。通常數據中心是一個公司、企業或政府部門的信息處理中心,幾乎所有的業務都要經由數據中心才能完成,所以數據中心對于一個企業或政府部門至關重要。而一個數據中心能否穩定和高效運行,運維是真正的關鍵。只有將這些方方面面的運維工作做好做細做到位,數據中心才能長期穩定。