- 論壇徽章:
- 0
|
五、運維關鍵技術點解剖
1、 大規(guī)模集群管理問題
首先我們先要明確集群的概念,集群不是泛指各功能服務器的總合,而是指為了達到某一目的或功能的服務器、硬盤資源的整合(機器數(shù)大于兩臺),對于應用來說它就是一個整體,目前常規(guī)集群可分為:高可用性集群(HA),負載均衡集群(如lvs),分布式儲、計算存儲集群(DFS,如google gfs ,yahoo hadoop),特定應用集群(某一特定功能服務器組合、如db、cache層等),目前互聯(lián)網(wǎng)行業(yè)主要基于這四種類型;對于前兩種類似,如果業(yè)務簡單、應用上post操作比較少,可以簡單的采用四層交換機解決(如f5、foundly),達到服務高可用/負責均衡的作用,對于資源緊張的公司也有一些開源解決辦法如lvs+ha,非常靈活;對于后兩種,那就考驗公司技術實力及應用特點了,第三種DFS主要應用于海量數(shù)據(jù)應用上,如郵件、搜索等應用,特別是搜索要求就更高了,除了簡單海量存儲,還包括數(shù)據(jù)挖掘、用戶行為分析;如google、yahoo就能保存分析近一年的用戶記錄數(shù)據(jù),而baidu應該少于30天、soguo就更少了。。。這些對于搜索準備性、及用戶體驗是至關重要的。
接下來,我們再談談如何科學的管理集群,我認為主要從以下幾點入手:
I、監(jiān)控
主要包括故障監(jiān)控和性能、流量、負載等狀態(tài)監(jiān)控,這些監(jiān)控關系到集群的健康運行,及潛在問題的及時發(fā)現(xiàn)與干預;
a、服務故障、狀態(tài)監(jiān)控:主要是對服務器自身、上層應用、關聯(lián)服務數(shù)據(jù)交互監(jiān)控;例如針對前端web server,我們就可以有很多種類型的監(jiān)控,包括應用端口狀態(tài)監(jiān)控,便于及時發(fā)現(xiàn)服務器或應用本身是否crash、通過icmp包探測服務器健康狀態(tài),更上層可能還包括應用各頻道業(yè)務的監(jiān)控,常用方法是采用面業(yè)特征碼進行判斷,或?qū)χ攸c頁面進行簽名,以網(wǎng)站被黑篡改(報警、并自動恢復被篡改數(shù)據(jù))。。。這些只是一部份,還有N多監(jiān)控方式,依應用特點而定,還有一些問題需解決,如集群過大,如何高性能的進行監(jiān)控也是一個現(xiàn)實問題。。。。。
b、其它就是集群狀態(tài)類的監(jiān)控或統(tǒng)計,為我們合理管理調(diào)優(yōu)集群提供數(shù)據(jù)參考、包括服務瓶頸、性能問題、異常流量、攻擊等問題
II、故障管理
a、硬件故障問題;對于成百上千或上萬機器的N多集群,服務器死機、硬件故障概率是非常大的,幾乎每時每刻都有服務硬件問題,死機、硬盤損壞、電源、內(nèi)存、交換機。。。針對這種情況,我們在設計網(wǎng)站架構時需要充分考慮到這些問題,并將其視為常態(tài);更多的依靠應用的冗余機制來規(guī)避這種風險,但給系統(tǒng)工程師足夠?qū)捲5奶幚頃r間。(如google不是號稱同時死800臺機器,服務不會受到任何影響嗎);這就是考驗運維工程師及網(wǎng)站架構師功能的地方了,好的設計能達到google所描述自恢復能力,如gfs,糟糕的設計那就是一臺服務器的死機可能會造成大面積服務的連鎖故障反映,直接對用戶拒絕響應。
b、應用故障問題;可能是某一bug被觸發(fā)、或某一性能閥值被超越、攻擊。。。情況不一而定,但重要的一點,是要有對這些問題的預防性措施,不能想當然,它不會出問題,如真出問題了,如何應對? 這需要運維工程師平時做足功夫,包括應急響應速度、故障處理的科學性、備用方案的有效等
III、自動化
自動化:簡而言之,就是將我們?nèi)粘J謩舆M行的一些工作通過工具,系統(tǒng)自動來完成,解放我們的雙手及枯燥的重復性勞動,例如:沒有工具前,我們安裝系統(tǒng)需要一臺一臺裸機安裝,如2000臺,可能需要10人/10天,搞爛N張光盤,人力成本更大。。。而現(xiàn)在通過自動化工具,只需幾個簡單命令就能搞定、還有如機器人類程序,自動完成以往每天人工干預的工作,使其自動完成、匯報結(jié)果,并具備一定的專家系統(tǒng)能力,能做一些簡單的是/非判斷、優(yōu)化選擇等。。。這些好處非常明顯不再多說。。。應該說,自動化運維是運維工程師職業(yè)化的一個追求,利私利公,雖然這是一個異常艱巨的任務:不斷變更的業(yè)務、不規(guī)范化的應用設計、開發(fā)模式、網(wǎng)絡架構變更、IDC變更、規(guī)范變動等因素,都可能會對現(xiàn)有自動化系統(tǒng)產(chǎn)生影響,所以需要模塊化、接口化、變因參數(shù)化等。。。。。。因此,自動化相關工作,是運維工程師的核心重點工作之一,也是價值的體現(xiàn)
[ 本帖最后由 veyron 于 2008-10-8 17:34 編輯 ] |
|