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