微信分享 | 大規模資料中心自動化運維實踐

arron劉發表於2016-03-27

大規模資料中心的運維實踐

大家好,我是青雲QingCloud 運維工程師朱峻華,在海關某單位任職數年,後又混跡多家外企,曾在IBM/EMC出現。

剛才粗略看了一下群成員,有我好幾個曾經的同事,還有不少服務過的客戶,群裡專家多多,今天有點班門弄斧了。

我們今天分享的主題是“大型資料中心的運維實踐”,算是我對自己多年工作經驗的一點總結、回顧,大家一起交流,限於本人能力、精力有限,有不對的地方歡迎指正。

今天交流的內容包括:

  • 資料中心的定義
  • 資料中心的發展演進
  • 資料中心的等級劃分
  • 運維的定義
  • 資料中心的運維

資料中心的定義

對於資料中心,維基百科有如下的描述:資料中心(Data Center)或稱為伺服器場(Server Farm),指用於安置計算機系統及相關部件的設施,例如電信和儲存系統。一般它包含冗餘和備用電源,冗餘資料通訊連線,環境控制(例如空調、滅火器)和各種安全裝置。

我對資料中心做了一個簡單的總結,現代資料中心一般都是一個園區,包含了若干個樓,樓裡包含了若干個房間,被稱為模組,這是基礎;在這之上架構了複雜的網路;網路之上部署了各種硬體裝置,包括伺服器及網路裝置;在各種裝置上執行著各種軟體;最終對外提供服務。

上面的簡簡單單的一段話,其實涵蓋的技術方方面面,資料中心是現代IT系統的基石,相信以後也是整個社會正常運轉的基石。

資料中心的發展演進

現在的資料中心通常是指一棟樓,或者是一個園區,包含很多個機房。但是早期的資料中心只有一個機房,而且機房裡面只有一臺機器,因為早期的計算機元件過於龐大,而且電纜眾多。

這張圖是世界上第一臺電腦ENIAC,1946年2月14日誕生於美國賓夕法尼亞大學。在當時這就是一臺電腦,一個機房,也是一個資料中心的雛形。據說ENIAC每次一開機,整個費城西區的電燈都為之黯然。

在20世紀80年代,計算機開始蓬勃發展,IT系統及其操作開始變得複雜,一些大公司開始認識到需要有意識的規劃和管理IT資源。隨著客戶端/伺服器的IT模式出現,20世紀90年代伺服器開始在機房間中尋找他們的位置,透過網路電纜將伺服器和網路裝置進行組網,使得在公司內的一個房間中,使用分層設計來放置伺服器及網路裝置成為可能。

1996年8月北京電報大樓主機託管機房投入使用,是國內最早的IDC業務。

下面給大家展示幾幅圖片:

21世紀初的資料中心是如上圖展示的這樣的,當時更多的是被稱做機房,一個大樓裡面,很多個大房間,統一散熱,效率低下;不同客戶的伺服器放在同一個機房裡,沒有機櫃、沒有鎖、沒有隔離,安全等級低。

再後來出現瞭如上圖的機房設計,也是目前很多機房的現狀。會有抬高層,下面走電纜和網線、還有散熱冷風系統,在兩排機櫃中間會有出風口,地板上的眼就是便於出風,然後伺服器吸進冷風,從後面排除,達到散熱的效果;可以看到圖片中遠處是有門的,可以達到一定的封閉效果,提高散熱效率,但是機櫃頂部並沒有封閉;另外,上面圖中的機櫃沒有門及機櫃鎖,安全會稍差一些。


還有上兩圖的這種設計,機房有抬高層,散熱系統在下面;每個機櫃都是封閉的,有自己的門和鎖,安全性高;機櫃的冷風透過通道直接進入機櫃中,而且可以單獨開關(如上圖紅線標示處),不僅節能而且散熱效果好,但是上半部分裝置的散熱效果可能會差一些。

現在新的機房很多采用微模組化設計,這種設計降低了對機房本身的要求,不需要抬高層,封閉的散熱系統,規範化的走線槽,將節能、美觀、高效有機的結合起來。

資料中心的等級劃分

目前比較流行的資料中心等級劃分是根據美國ANSI&TIA-942資料中心通訊網路基礎設施標準設定的,分為如下4個等級:

  • 等級 Tier I ――基本資料中心
  • 等級 Tier II ――基礎設施部件冗餘
  • 等級 Tier III ――基礎設施同時可維修
  • 等級 Tier IV ――基礎設施故障容錯

其中 Tier IV等級最高,不管是國內還是國外,這種等級的資料中心都不多,目前國內大部分資料中心都是 Tier III 的。不同等級的具體區分,我們們在這裡不贅述,有興趣的朋友可以上網查一下。

運維的定義

運維的定義,我在維基百科並沒有找到,不知道這個是太容易理解了,還是太難於定義了。

我不敢妄加定義運維,只是說說我自己的理解。我曾經認為,運維更多的算是產品或者一個系統交付生產後,到這個產品/系統的生命週期結束前這段時間所做的工作。但是現在IT行業發展的趨勢及DevOps的流行,對運維人員的要求越來越高,需要更早的參與到整個生命週期裡去。

以資料中心的運維舉例,運維人員可能需要從資料中心選型就參與進來,包括選址,選擇網路提供商,考察資料中心各種設施及服務等,而不是說等這些定了之後,上了生產才開始運維。

另外,我需要明確一點,今天我們談到資料中心的運維,並不是簡單的從資料中心提供商角度出發,還包括資料中心使用者的角度。青雲QingCloud目前使用了多家資料中心的服務,我們也在考察、建立自己的資料中心。

資料中心的運維

現在正式進入今天的主題——資料中心的運維。

資料中心的”風火水電“

說到資料中心的運維,經常會提到“風火水電”。

  • 風,通常指空調製冷及通風過濾系統。乾淨的空氣能延長裝置的壽命,減少故障率。不考慮報廢時間,同樣的機器在北京執行和在芬蘭執行,壽命和故障率都會有很大差異。

  • 火,一般指消防。這個是常常被人忽略的一部分,但也經常是最致命的一部分,一旦發生火災,可能整個地方都需要停電,且短時間內難以恢復。

  • 水,通常是溼度及防潮。溼度過高,可能會影響裝置壽命;太過乾燥又會導致靜電,有可能損壞裝置。

  • 電,機房電力。電力被認為傳統資料中心的重中之重,沒有電力,資料中心就是空殼,而且資料中心的電力需要保證穩定,且是多路備份。

上面提到了“風火水電”,實還應該再加上一個“網”,資料中心必須保證有高效的網路,,離骨幹網應該儘量的近,而且需要能提供BGP線路服務,這也是很多客戶選擇資料中心的一個重要評判標準。

資料中心的選擇

資料中心的選擇標準可以歸類到下面三點:位置,主要標準和次要標準。我們提到的標準是站在不同角色進行考慮,包括資料中心建造者與使用者。

  • 位置,包括資料中心所在的城市及區域,這將直接影響到預算,至少要避免受到天津大爆炸那類事故的影響;還會影響到你是否能招到合適的員工;需要考慮出現故障時的響應速度等。

  • 主要標準,包括是否有足夠的空間滿足未來的發展;穩定且廉價的電力保障;是否有能用環保手段做到廉價的散熱系統,比如選擇北方,一年四季大部分時間採用自然冷風進行散熱;還需要有高效的網路連通性。

  • 次要標準,包括基礎設施,如照明、管道工程等;還包括資料中心園區的安全隔離設施,圍牆、門、窗,裝置卸貨區等;推車、剷車等裝置;是否有裝置預裝室;是否有監控、控制中心;其他雜項,包括安全監控攝像頭、門禁卡、防尾隨門等;

生產運維

傳統資料中心在投入生產之後,高等級機房會安排 7&24 人工巡檢。客戶購買的機櫃及其機櫃裡的裝置,需要自己安排人員巡檢,我曾經工作過的一家公司就有三班倒的監控人員,7*24小時待命,每個小時需要去機房巡檢一次,看各個裝置是否有報警。

青雲QingCloud正在考慮建立自己的資料中心,因此考慮運維的時候會更加全面,除了傳統資料中心的樓宇及基礎設施的運維,還包括各種物理裝置,如伺服器、網路裝置等,各種作業系統及軟體,還有我們自己研發的SDN,每一項細化都可以作為一個專題來討論。

我們簡單瞭解一下資料中心基礎設施運維可能涉及的範圍,包括:

  • 安防系統,園區樓宇的安全防護,門禁系統,監控系統等;
  • 消防系統,煙霧探測器,滅火設施等;
  • 環境檢測,如溫度及溼度等;
  • 供電設施,包括配電裝置,發電機、UPS、機櫃PDU等;
  • 散熱系統,包括空調裝置,新風及冷水機組等;
  • 其他雜項,如佈線,包括電纜及網路線纜;機房內部環境,是否有易燃易爆物體,需要及時清理。

站在一個資料中心使用者的角度,我們希望資料中心能提供更高效的服務,如:

  • 高效的入館申請系統,包括人員和裝置;
  • 高效的卸貨渠道及方便的預裝室;
  • 在認證透過的情況下,可以自由高效的進出機房,操作屬於自己的裝置;
  • 資料中心的服務人員能高效的提供客戶所需的資料及服務,比如機櫃用電量等;
  • 提供更多人性化及專業化的服務;

下面我們來討論一下使用者對於自己裝置及服務的運維。

伺服器及網路裝置的選型,是選用大品牌的DELL/IBM伺服器呢,還是選擇更節省成本的定製機?

QingCloud 選擇了後者,在雲端計算時代,我們假設伺服器等物理裝置本身就是不可靠的,需要靠上層的軟體來實現可靠。

作業系統選型,選擇Linux還是Windows ?

毋庸置疑,QingCloud 的系統肯定是跑在Linux上,但是我們需要考慮如何高效初始化伺服器,快速安裝作業系統,需要考慮檔案系統、核心引數調優、各種硬碟驅動、核心版本、Kernel Panic等原因。應用層涉及的就更多了。

如何高效的初始化系統

如何高效的初始化系統?包括 BIOS 的調優,劃分RAID等工作。

對於Linux系統的安裝有很多高效的方式,最初始的方案是把Linux安裝盤ISO刻成一張光碟進行安裝,現在的伺服器配光碟機那肯定是被忽悠了;後來將ISO做到隨身碟上,這些都是手動安裝。高階一點的可以寫Kickstart/Preseed檔案實現隨身碟的自動安裝,對於少量裝置,這已經足以。

對於大規模的部署,我們目前透過網路自動劃分RAID,安裝作業系統,還可以做到自動進行BIOS調優。

我們的目標是一臺純新的機器,物理連線都準備好的情況下,開機半小時後就可以被用於生產,包括BIOS調優,RAID劃分,作業系統安裝,網路聯通及系統上應用的安裝。作業系統的安裝可以採用網路PXE安裝,開源比較常用的可以採用Cobbler;對於RAID劃分和BIOS調優,這裡我不做過多說明,不同廠家的硬體使用的方法都會不同。

作業系統及網路準備好之後,我們就需要在伺服器上配置特定的應用及服務了。這時候我們可以使用的工具更多,此類工具通常被稱為配置管理工具,常用的有老牌的Cfengine,很多大公司在用的Puppet和Chef,最近比較新的有Saltstack和Ansible等,這些都是很好的工具,但對於工程師來說合適的/熟悉的才是最好的。

自動化運維

上面提到的更偏重於產品生命週期的前半部分。隨著規模的擴大,傳統靠人工定時巡檢,在監控中心盯著大螢幕看有無報警的運維方式都已經落伍,唯一的出路就是自動化。

運維自動化,這個話題是從網際網路繁榮開始一直在談論的話題,資料中心的運維工作變得越來越繁重與複雜,這是因為資料中心一直在持續的發展變化,資料中心承載的應用變得多而複雜,簡單靠人力堆積已經不能高效解決問題,必須引入各種流程及工具進行規範化管理。

自動化運維很重要的一部分就是完善的監控體系,完善的監控體系需要能監控到整個資料中心的方方面面,包括各種物理設施、環境等,這個不是我們今天討論的重點,今天主要討論一下網路、系統等部分的監控。

監控可能包含的方面:

  • 攻擊,包括內部和外部,需要能快速的找到源頭並消除威脅;
  • 網路和伺服器裝置的各個感測器,包括溫度、電壓及電源冗餘等;
  • 網路流量、網路風暴,及網路環路等的監控;
  • 伺服器的監控通常可以透過帶外及IPMI獲取到伺服器的物理裝置的狀態,需要監控的包括CPU、記憶體、主機板、電源;
  • 伺服器的儲存系統,包括物理磁碟、RAID組、RAID卡電池的狀態、Media Error等資訊;LSI的RAID卡可以透過MegaCli進行檢視,Adaptec的卡可以用Arcconf工具;
  • 作業系統裡,我們需要監控的東西更多,包括系統資源(CPU、記憶體、檔案系統空間的Inode使用率,還包括網路流量和系統負載等等);程式及服務的監控;儲存系統監控(吞吐量及IOPS等);系統及應用日誌的監控

有了完善的監控系統,我們還需要實時報警(郵件、IM、簡訊)功能,不能漏報,也不能太多誤報,否則狼來了多次後,就沒人會重視報警資訊,反而無用。

目前,開源使用比較多的監控軟體有Nagios、Cacti、Ganglia、Zabbix、Zenoss Core、SmokePing,每個軟體有自己的擅長之處,大家可以使用多個軟體組合成自己完善的監控體系。

有了監控,有了報警,我們還需要資源使用的統計報告(日報、月報、波峰、波谷),這將是我們系統擴容的依據。

裝置退役

下面我們聊聊裝置的退役,伺服器或者網路裝置執行一段時間後,故障率就會大幅的升高,我們需要考慮是不是要將其退役。

首先我們需要設定一個裝置的報廢期限,及報廢后怎麼處理;需要考慮在什麼情況下延保,計算出最佳時間點,儘量榨乾裝置的價值。

一個小的細節,QingCloud考慮到使用者資料的安全性,我們的硬碟買了特定服務(不歸還的),損壞的硬碟跟廠家報修更換後,我們會集中銷燬換下來的硬碟。

最後

在結束分享前,我們再來看看目前資料中心相關的一些新動向。

群裡很多人應該聽過流動資料中心或移動資料中心、模組化資料中心、微模組化資料中心、海上資料中心、洞穴式資料中心等。它們的好處是顯而易見的,比如洞穴式資料中心,可以抵禦爆炸或自然災難性事件,還能夠節省製冷能耗,不受高功率微波和電磁脈衝武器的攻擊等。

網路方面,100G乙太網不久將會在資料中心領域強勢增長,當然這會有個過程,可能25G和50G的網路會優先發展,25Gbps和50Gbps每通道技術將是未來100Gbps(4個25G) 和400G(8個50G)乙太網的基礎,因此業界普遍認為25G網路會很快替代現有的10G網路。

今天的分享差不多就到此為止了,做一個簡單的總結。

資料中心的運維既宏觀又細節,大到樓宇的設計建造及選址,避免被天津大爆炸這樣的事件波及;小到需要注意伺服器內線纜擺放位置及方向,防止伺服器由於自身的輕微震動導致線纜鬆動,從而引起系統的頻繁Kernel Panic。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26916835/viewspace-2064944/,如需轉載,請註明出處,否則將追究法律責任。

相關文章