運維經(jīng)驗分享:緊急故障不可怕,從容對待才是真
原創(chuàng)【51CTO獨家特稿】今天天氣不錯,PM2.5只有50多,順路在KFC吃了個早餐,到公司已經(jīng)9:50了,打開電腦,接了杯水剛坐到工位被同事叫住了,告訴我A機房的公網(wǎng)流量出口快跑滿了,看能不能找?guī)讉€流量大的站點遷移到B機房。我的***反應就是說好擴充的流量為什么沒有到位?(注:流量及硬件采購不屬于運維部工作范疇)
我從心里很抵觸做這種事情,原因很簡單:幾百個域名,分布到不同的IDC,從DNS管理解析到后端Web集群訪問,都不是一個小數(shù)量級的。在自動化平臺、管理平臺不完善的情況下,做這種遷移后患無窮。片刻思考及分析后,迅速著手遷移。因為現(xiàn)在A機房公網(wǎng)流量已經(jīng)達到極限,核心站點已經(jīng)出現(xiàn)訪問緩慢、無法加載的現(xiàn)象。
這種類型的遷移有兩不碰:
- 不碰核心站點,重要性不言而喻;
- 不碰小流量站點,因為遷移訪問量較小的站點需要遷移多個站點才能有冗余流量,明顯耽誤時間。
在無可視化數(shù)據(jù)平臺、完全靠自己對業(yè)務的了解程度的情況下,分別遷移了像個人中心、企業(yè)中心、發(fā)布、無線M。遷移過程很簡單,將A機房服務器上的Nginx配置分發(fā)到B機房服務器,隨后更改DNS解析,A機房流量平穩(wěn)下降,核心業(yè)務逐漸恢復正常??僧擜機房流量剛降下時,B機房流量又接近上升到極限,因為此刻是每天中的流量峰值階段,加上春節(jié)后的流量增長幅度,都已遠遠超過節(jié)前預估。
此時,大BOSS走近運維部開始“罵街”了:“就你們這么拖,花那么錢打再多廣告有什么用,這種影響(網(wǎng)站打不開)是毀滅性的...”
做運維,練的就是心態(tài),要足夠淡定,無論遇到多大的事情都不能手忙腳亂。在我身后站著CEO、總經(jīng)理、總監(jiān)的情況下,我很淡定的將B機房部分域名遷移到C機房。至此,A、B、C三個機房流量平穩(wěn),所有業(yè)務已基本恢復正常。
吃一塹長一智,出了問題并不可怕,可怕的是我們從問題中學不到什么,怕的是類似的問題重現(xiàn)!面對如上這么大的一次故障,我們從中學到了些什么呢?
1、缺少數(shù)據(jù)可視化平臺
雖然有zabbix來監(jiān)控服務器流量,但是zabbix只能監(jiān)控到服務器整機物理流量,無法監(jiān)控到某個域名的當前流量。若有一套能實時查看所有域名流量,通過縱向(每臺服務器流量多少,當前HTTP并發(fā)多少)、橫向(每個服務器上運行了多少個域名、每個域名流量多少、域名訪問來源是什么)做可視化展示的系統(tǒng),也不至于遇到問題才開始著手分析,若是對業(yè)務沒有足夠的了解,就很可能在解決問題時雪上加霜。
2、自動化平臺建設不完善
當把某個域名從A機房遷移到B機房時,用的是命令行拷貝,費時費力,還容易發(fā)生誤操作,缺少基于web形式的自動化管理平臺。近期會做一個基于Nginx的管理系統(tǒng),該系統(tǒng)可顯示當前Nginx主機上正在使用的域名、單機總流量、并發(fā)、單個域名流量等,比如想把A機房服務器上的域名遷移到B機房服務器上,只需在web平臺上選擇一下源服務器和目標服務器然后點擊確認就可以了。若做到這樣,業(yè)務切換時間可大幅縮短。
3、資源擴充滯后
首先,由于流量擴容及硬件采購均不屬于運維部工作范疇,加上流程上的影響,所以在效率上有著嚴重的滯后,這也是本次故障的直接原因之一;其次,多個機房公網(wǎng)交換設備均是千兆網(wǎng)口,且流量飽和度已達70%,若有大于30%的訪問量增長,后果就可想而知了,這也是很大的潛在隱患。面對這種問題,網(wǎng)絡組同學已連夜對機房公網(wǎng)交換設備做了升級。
【作者簡介】
姓名 | 陸文舉(@陸文舉) |
職位 | 58同城 運維主管 |
技術特長 | 大規(guī)模web運維 |
關注方向 | 運維自動化、可視化 |