故障中的跨年夜
2019 年 12 月 31 日晚,我正在公司門(mén)口準(zhǔn)備打車(chē)回家,因?yàn)橄敫依锶艘黄疬^(guò)個(gè)跨年夜。
望著燈光四射的廣州塔,腦海里突然出現(xiàn)了 2012 年跨年夜的場(chǎng)景。那時(shí)候也是 12 月 31 日晚, 也有出租車(chē), 也有廣州塔,還有一個(gè)跨年的故障。
我記得當(dāng)晚,我們一幫同學(xué)四人,約好了去廣州塔倒數(shù),畢竟還年輕,對(duì)跨年倒數(shù)這個(gè)事情還蠻熱衷的。
說(shuō)好了,他們?nèi)齻€(gè)搭出租車(chē),到我樓下的路口來(lái)接我。
那晚天氣稍冷,需要穿兩到三件衣服的樣子,時(shí)不時(shí)有微風(fēng)吹過(guò)。路上行人絡(luò)繹不絕,大家三三兩兩的,都朝廣州塔方向走去。路邊綠化樹(shù)上,各高樓外墻,廣州塔上,燈光閃閃。一片喜慶熱鬧的圖景。
搭載著我同學(xué)的出租車(chē)到了,我趕忙上了車(chē),一上車(chē),大家就七嘴八舌地寒暄起來(lái),雖然同在廣州,但一年見(jiàn)面相聚的次數(shù)也不多,每次相聚,都像認(rèn)識(shí)了幾十年的老友。
大家聊得正酣的時(shí)候,我的手機(jī)突然響了。?我打開(kāi)手機(jī)一看 ,?公司的電話,“完了,麻煩來(lái)了!”??我的潛意識(shí)猶如條件反射般 ,立馬想到了故障。
我接聽(tīng)了電話,是值班機(jī)器人的報(bào)警,提示說(shuō)我有一個(gè)5星報(bào)警,需要我關(guān)注。
我立馬打開(kāi)了微信,報(bào)警機(jī)器人給我推送了一條 機(jī)器磁盤(pán)占用率超過(guò) 80% 的報(bào)警。
我點(diǎn)進(jìn)那條 h5 消息,看了具體的細(xì)節(jié)。?是 朋友圈集群 的一組機(jī)器,看曲線,機(jī)器的磁盤(pán)占用率已經(jīng)達(dá)到 80%了, 而且還有繼續(xù)上漲的趨勢(shì)。
(以下的內(nèi)容偏技術(shù)化,不感興趣的同學(xué)可以略過(guò):
2012 年,年中的時(shí)候,我們已經(jīng)將自研存儲(chǔ)系統(tǒng)推廣到了微信的賬號(hào),聯(lián)系人等模塊,朋友圈模塊是一個(gè)月前剛接入的。因?yàn)榕笥讶Φ膶?xiě)入量相比其它業(yè)務(wù)要大很多,所以確實(shí)存在一些待優(yōu)化的地方,但因?yàn)槿肆o張,還沒(méi)給排上期。
當(dāng)初存儲(chǔ)系統(tǒng)的設(shè)計(jì),為了追求更高的性能,采用的是追加寫(xiě)的模式,所以會(huì)引入數(shù)據(jù)膨脹的問(wèn)題。不過(guò),我們?cè)O(shè)計(jì)了一套數(shù)據(jù)回收機(jī)制,可以讓機(jī)器在夜晚低峰期的時(shí)候,做數(shù)據(jù)回收。不過(guò)遇到寫(xiě)入量巨大的時(shí)候,會(huì)出現(xiàn)回收速度趕不上寫(xiě)入速度,導(dǎo)致爆磁盤(pán)的隱患。
那晚的故障,便是這個(gè)原因帶來(lái)的。)
我一看,磁盤(pán)占用率已經(jīng)80%了,心里一緊,想著回家 vpn 處理,但剛上出租車(chē),而且大家伙已經(jīng)大半年沒(méi)聚了,真不想掃大家的興。
后來(lái)我靜下心來(lái)仔細(xì)想了想,想到了處理的辦法。我趕緊聯(lián)系了一個(gè)開(kāi)發(fā)同事A, 但A剛好也在外面,然后又聯(lián)系了運(yùn)維同學(xué)B, B在家里,可以幫忙 vpn 處理。
處理方式不難,就是提前打開(kāi)磁盤(pán)回收進(jìn)程,回收磁盤(pán)空間,但過(guò)程中需要時(shí)刻監(jiān)控機(jī)器的負(fù)載,保證服務(wù)質(zhì)量不受影響,所以需要有人一直盯著。
我電話跟 B 說(shuō)明了整個(gè)過(guò)程,他表示沒(méi)問(wèn)題,可以處理。
于是,我心稍微安定了下來(lái)。?10 分鐘后,出租車(chē)到達(dá)了廣州塔周邊的一個(gè)露天酒吧,我們準(zhǔn)備在那個(gè)露天酒吧喝點(diǎn)啤酒,然后看著廣州塔的上的倒計(jì)時(shí)跨年倒數(shù)。
一下車(chē),我靠路邊站定,立馬電話運(yùn)維同學(xué)B, 詢問(wèn)處理的情況。?他說(shuō)一切操作完畢,回收進(jìn)程已經(jīng)開(kāi)啟,目前磁盤(pán)占用率由 80% 下降到了 75% 。
我心更安定了些。我們走進(jìn)酒吧,找地方坐定,我同學(xué)點(diǎn)了些酒。喝著啤酒,就著些小吃,看著珠江上的游船和對(duì)岸珠江新城絢麗的燈光,著實(shí)愜意,不過(guò)忽得想起那個(gè)故障來(lái),心里又隱隱升起一絲擔(dān)憂。
23:59:50 秒,廣州塔上出現(xiàn)了倒數(shù)的計(jì)時(shí)器, 我們仰頭對(duì)著計(jì)時(shí)器,跟著全酒吧的人一起倒數(shù)??“10 , 9 , 8 , 7 , 6, 5, 4,3,2,1?”, “耶, 新年快樂(lè)!!!”? 我們舉杯同慶。
大家沉浸在一片歡樂(lè)中,我看有人開(kāi)始認(rèn)真拿著手機(jī),在編輯什么。我也打開(kāi)了手機(jī),習(xí)慣性的打開(kāi)朋友圈,一看,?“麻煩又來(lái)了”。就在剛剛一分鐘不到的時(shí)間里,已經(jīng)多了十幾條的新動(dòng)態(tài),我想朋友圈的那組機(jī)器可能要撐不住了!
我趕緊電話了運(yùn)維同學(xué) B,?確實(shí)如我所料,磁盤(pán)占用率飛速上漲,目前已經(jīng)到 85% 了,而且上漲勢(shì)頭不減。
我跟 B 說(shuō),再調(diào)大回收的速度吧,也暫時(shí)想不到更好的處理辦法了。?B 立馬著手了操作。調(diào)大了速度后,磁盤(pán)的回收速度是加快了,但機(jī)器的負(fù)載也上去了,感覺(jué)是游走在崩潰的邊緣呀!
我心里緊張極了,但也只能期待老天爺保佑了!
后來(lái),我每5分鐘一個(gè)電話,詢問(wèn)最新的情況,所幸,到了 00 :20?分后,朋友圈的寫(xiě)入量降了下來(lái),總算得救了。
我們幾個(gè)同學(xué)喝了些啤酒后,覺(jué)得肚子有點(diǎn)餓,提議去吃夜宵。
打車(chē)走了 10 公里左右,去到了一個(gè)港式茶餐廳。下了車(chē),我們進(jìn)入餐廳里面坐定,我又拿起手機(jī),跟運(yùn)維同學(xué) B 詳細(xì)核對(duì)了各個(gè)數(shù)據(jù)和機(jī)器的表現(xiàn),才最終安定下來(lái)。
準(zhǔn)備開(kāi)吃的時(shí)候,我同學(xué)說(shuō),“你從出來(lái)到現(xiàn)在,打了快十個(gè)電話了,有那么忙嗎?今晚是跨年夜呀!”??“唉,沒(méi)辦法呀,遇到故障,總要處理的!不過(guò)現(xiàn)在已經(jīng)搞定了,來(lái),以茶代酒,我們干一杯吧!?新年快樂(lè)!!!”?
那晚,雖然一路都在處理故障,不過(guò)最后總也算是跨年了。
這種苦逼的事情,在后面還時(shí)有發(fā)生,不過(guò)隨著系統(tǒng)建設(shè)的完善,發(fā)生的次數(shù)也越來(lái)越少了。
后來(lái),我們總結(jié)了那次的故障:
1 系統(tǒng)可以不完善,但需要有完備的故障處理預(yù)案
我們當(dāng)時(shí)的系統(tǒng)確實(shí)還不夠完善,因?yàn)榻ㄔO(shè)時(shí)間不夠。不過(guò)當(dāng)時(shí)也存在故障處理預(yù)案不夠完備的問(wèn)題,導(dǎo)致最后要賭運(yùn)氣。后來(lái),就這塊,我們也制定了更完備的處理預(yù)案。
2 一定要安排好備份負(fù)責(zé)人
這部分,我們應(yīng)對(duì)的還不錯(cuò),當(dāng)時(shí)至少有 4 個(gè)備份負(fù)責(zé)人,雖然是在跨年夜,有些同學(xué)外出聚會(huì)了,但最終還是能找到人 vpn ?處理。
3?及時(shí)地響應(yīng)
這里包含兩個(gè)部分,一個(gè)是實(shí)時(shí)的報(bào)警機(jī)制;一個(gè)是人的響應(yīng)意識(shí)。實(shí)時(shí)的報(bào)警機(jī)制我們一早就建設(shè)了;人的意識(shí)方面,雖然我當(dāng)時(shí)正在跟同學(xué)聚會(huì),不過(guò)也是及時(shí)處理了。
4 事后的總結(jié)和優(yōu)化
事后,我們就暴露出來(lái)的問(wèn)題,進(jìn)行了仔細(xì)地分析和總結(jié),并制定了一些列地改進(jìn)措施和優(yōu)化方案,使得同類(lèi)問(wèn)題不再出現(xiàn)。
以上,便是那個(gè)難忘的故障跨年夜了。
現(xiàn)在想來(lái),早已沒(méi)有了苦逼的感覺(jué),反而覺(jué)得有些幸運(yùn),正是那一個(gè)又一個(gè)苦逼的時(shí)刻,歷練了自己,讓自己成長(zhǎng)。
有技術(shù)能力上的成長(zhǎng),有心里素質(zhì)上的提升,還有問(wèn)題處理經(jīng)驗(yàn)上的積累。
新的一年又來(lái)臨了,今年已經(jīng)是 2020 年, 21 世紀(jì)的第三個(gè)十年的起始,也是中國(guó)互聯(lián)網(wǎng)第三個(gè)十年的開(kāi)始,希望又是一個(gè)紅利爆發(fā)的十年!
最后,祝大家新年快樂(lè)!也祝大家技術(shù)進(jìn)步,工作順利,賺錢(qián)多多!
總結(jié)
- 上一篇: switch多值匹配骚操作,带你涨姿势!
- 下一篇: 阿里巴巴为什么要禁用 Executors