服務(wù)器重啟前請做完你該做的工作 |
發(fā)布時(shí)間: 2012/5/28 7:56:39 |
對于系統(tǒng)管理員來說如何管理自己的服務(wù)器已經(jīng)是再簡單不過,但是如何管理好服務(wù)器卻不是一個(gè)簡單的事情。對于管理員來說重啟服務(wù)器可不是一件鬧著玩的事情。對于Windows服務(wù)器管理員來說經(jīng)常性重啟Windows設(shè)備已經(jīng)成為一種生活常態(tài),但在Unix系統(tǒng)中這種辦法卻難以奏效——在默認(rèn)情況下重新啟動(dòng)不會(huì)帶來任何形式的改善。 我打算借此機(jī)會(huì)跟大家詳細(xì)聊聊重啟的問題。對于每一位服務(wù)器管理員來說這都算得上熱門話題,但在Unix極客們眼中它則屬于一種層次更深的課題—— 可能因?yàn)閃indows管理員們往往把重啟當(dāng)成故障排查工作的首要步驟之一,而Unix團(tuán)隊(duì)則一般只在束手無策的情況下才進(jìn)行嘗試。 Unix服務(wù)器重啟的兩種情況 實(shí)際情況是:服務(wù)器重啟操作應(yīng)該極少出現(xiàn)——請注意是極少。在這里我列舉內(nèi)核更新與硬件更換作為例子,因?yàn)樗鼈兪荱nix領(lǐng)域中引發(fā)重新啟動(dòng)的兩大主要原因。有些人一直在鼓吹什么不重啟服務(wù)器的話會(huì)帶來某些嚴(yán)重的安全風(fēng)險(xiǎn),這簡直是一派胡言。如果服務(wù)項(xiàng)目與應(yīng)用程序中確實(shí)存在安全風(fēng)險(xiǎn),那么打上漏洞補(bǔ)丁就能解決問題了,而且補(bǔ)丁往往不要求重啟設(shè)備。而如果安全風(fēng)險(xiǎn)存在于內(nèi)核模塊中,一般來說只需卸載對應(yīng)模塊、安裝補(bǔ)丁,最后重新加載模塊。沒錯(cuò),我承認(rèn)一旦內(nèi)核中存在安全風(fēng)險(xiǎn),那么重啟操作的確是必要的。但在這種情況之外,大家根本沒有切實(shí)的理由重新啟動(dòng)Unix服務(wù)器。 有些人認(rèn)為如果不進(jìn)行重啟操作,其它形式的風(fēng)險(xiǎn)往往會(huì)接踵而至,例如某些關(guān)鍵性服務(wù)項(xiàng)目在開機(jī)時(shí)沒有得到正確啟用,而這將導(dǎo)致一系列隱患。當(dāng)然,這種說法本身是正確的,但只要管理工作執(zhí)行到位,這其實(shí)根本就是種杞人憂天。只有剛剛接掌服務(wù)器設(shè)備的菜鳥才會(huì)忘記正確設(shè)置服務(wù)項(xiàng)目的啟動(dòng)參數(shù)。不過話說回來,如果大家的服務(wù)器正處于構(gòu)建階段,且其中還不涉及任何生產(chǎn)方面的內(nèi)容,那么不妨隨意進(jìn)行各類重啟測試,這不會(huì)帶來任何不良影響。而且我認(rèn)為這正是熟悉重啟機(jī)制的最好時(shí)機(jī)。 但還有另一方面需要考慮:那些將重啟操作當(dāng)成故障排查重要步驟之一的家伙是抱著死豬不怕開水燙的心態(tài),打算一次性把問題都暴露出來。就說一套已經(jīng)出現(xiàn)問題的Unix設(shè)備吧,某些還處于運(yùn)行中的服務(wù)項(xiàng)目實(shí)際上已經(jīng)無法再次啟動(dòng),而這一點(diǎn)在重啟之后就會(huì)顯現(xiàn)出來——也許是由于分段故障或者其它稀奇古怪的原因。 造成Unix服務(wù)器重啟的原因 如果我們只是簡單查看幾分鐘之后就一拍腦門決定重啟設(shè)備,那么也許故障的真正原因就徹底湮沒在時(shí)光中了——也許是某位初級(jí)管理員在運(yùn)行一套自己編寫的愚蠢腳本時(shí)無意中刪除了/boot目錄或者/etc、/usr/lib64目錄下的部分內(nèi)容。這正是引發(fā)分段故障以及設(shè)備不穩(wěn)定情況的罪魁禍?zhǔn)。然而一旦我們選擇直接重啟服務(wù)器而沒有深入挖掘問題,那么顯然問題會(huì)變得更加嚴(yán)重,接下來不出意外的話大家應(yīng)該會(huì)啟動(dòng)恢復(fù)鏡像——這就代表需要面對大量恢復(fù)工作 ——而與此同時(shí)生產(chǎn)服務(wù)器也將陷入停機(jī)狀態(tài)。 以上只是我們在Unix領(lǐng)域中應(yīng)該盡量避免重啟操作的原因之一。與其說這算是種故障排查方法,不如把它看作一類孤注一擲的豪賭——要么發(fā)現(xiàn)問題,要么親手毀掉一切再慢慢重建。總之,沒人能利用/var分區(qū)重啟設(shè)備就完全修正錯(cuò)誤。(另外請別提什么打開文件句柄這類迂腐的蠢話——我想大家應(yīng)該理解我的意思) 服務(wù)器重啟前請做完你該做的工作 在大多數(shù)情況下,不進(jìn)行重啟是極其重要的,因?yàn)橄到y(tǒng)中能夠幫助我們修復(fù)問題的關(guān)鍵性內(nèi)容在重啟前是一定存在的,但在重啟后卻未必還在。重啟之后問題絕對會(huì)再次出現(xiàn),然而一旦解決方案隨重啟行為而煙消云散,那么故障本身就陷入了無解的死循環(huán)中。除非有人決定不進(jìn)行重啟,而是嘗試找出問題的根源。遺憾的是,能做了這種明智選擇的人實(shí)在少之又少。實(shí)際情況是:一根小小的故障內(nèi)存條就能給系統(tǒng)正常運(yùn)行與設(shè)備啟動(dòng)狀態(tài)帶來極大的麻煩。而這個(gè)時(shí)候,對癥下藥才是上策,一味重啟只會(huì)帶來額外的損失。 因此,今后大家在面對問題時(shí),如果有某個(gè)家伙說什么“嘿,不如先重啟一下看看”,不妨直接給他兩個(gè)大嘴巴。重啟當(dāng)然是方案之一,但在實(shí)施重啟前請務(wù)必確保我們已經(jīng)采取了一切能夠想到的處理措施;畢竟節(jié)省下來的都是咱們自己的時(shí)間跟精力嘛 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |