為什么定期給系統(tǒng)打補(bǔ)丁是重要的
原創(chuàng)【51CTO綜合整理】我們平時作為個人用戶使用我們的Windows或Linux系統(tǒng)時,系統(tǒng)總是會定時提醒我們進(jìn)行系統(tǒng)更新和打安全補(bǔ)丁,基本上每個星期都會有這樣的操作。個人系統(tǒng)尚且如此,一般人會想當(dāng)然的認(rèn)為服務(wù)器的管理也是如此。網(wǎng)站安全多重要啊,企業(yè)信息多重要啊,服務(wù)器系統(tǒng)肯定是要定期更新補(bǔ)丁的嘛。筆者以前一直是這樣認(rèn)為的,直到和一位做運維的朋友聊起最新的Linux內(nèi)核時,才發(fā)現(xiàn)現(xiàn)實根本不是這樣:
我有臺服務(wù)器,裝的RedHat 8,1500+天都沒重啟了。我現(xiàn)在連重啟都不敢,更別說更新了! |
這在很多企業(yè)中都是一種常態(tài)。但這真的是正確的做法么?針對這個有關(guān)系統(tǒng)管理員的傳聞,51CTO編輯跟國內(nèi)外的一些系統(tǒng)管理員們聊了聊,我們來看看他們對系統(tǒng)升級是怎樣說的(51CTO的網(wǎng)友們可以進(jìn)入這個帖子參與討論):
國內(nèi)管理員A:比如說你09年底裝一臺機(jī)子吧,當(dāng)時最新的,CentOS 5.4,給你配2.6.18的內(nèi)核。你的服務(wù)跑在上面了,一切都沒啥問題。就算現(xiàn)在CentOS 5.5已經(jīng)出了,你還不是照樣跑那些服務(wù);系統(tǒng)好好的,折騰升級做啥?
國內(nèi)管理員B:內(nèi)核升級?升完了說不定你的Oracle數(shù)據(jù)庫就不兼容了,或者其他什么服務(wù)跑不動了,甚至系統(tǒng)都重啟不起來了,沒事兒誰敢升級內(nèi)核啊。
國內(nèi)管理員C:打補(bǔ)丁還是有的啦,我所在的公司給米國佬作外包,我們會定期按要求給他們的solaris打patch。
國外管理員A:我用的Fedora,每次我都等重大bug被修復(fù)的時候升級。每次升級都令我頭疼不已,不過每次我都做好備份,最后也都成功了。要知道,就是簡單的yum更新都可能會出問題!
國外管理員B:更新啊,我的CentOS 5.x在有bug修復(fù)的時候都會更新,F(xiàn)reeBSD 7/8差不多每兩周更新一次吧。
國外管理員C:我只在非升級不可的時候升級。每一次升級都要在DTAP(開發(fā)、測試、核實與生產(chǎn))這四個環(huán)節(jié)走一輪,每次都牽扯到一次完整的備份和往其他節(jié)點上的遷移。我用的是CentOS和Debian,都是有不錯的長期社區(qū)支持、很穩(wěn)定的發(fā)行版。
國外管理員D:我的服務(wù)器跑Red Hat和CentOS,升級對我來說沒啥問題,因為我所有的服務(wù)器和應(yīng)用(包括Oracle RAC集群)都有一個真實的工作測試環(huán)境,只要有足夠的硬件資源和合理的虛擬化方案便可以搭建測試環(huán)境。我會先在測試服務(wù)器上測試所有的更新和補(bǔ)丁。測試到一定程度,差不多可以確定沒有問題的時候,我才在生產(chǎn)服務(wù)器上部署更新。當(dāng)然,備份和災(zāi)難恢復(fù)都已經(jīng)做好了的。
國外管理員E:從來不更新?怎么可能?我們的服務(wù)器用的是RHEL4、RHEL5和FreeBSD6,每當(dāng)有任何一個安全補(bǔ)丁出來的時候都會立刻部署在非生產(chǎn)環(huán)境的機(jī)器上,并在很短的時間內(nèi)在生產(chǎn)服務(wù)器上部署。當(dāng)然這也包括內(nèi)核升級。至于發(fā)行版版本的升級,小的版本升級我們是做的,如果是重要的版本升級,那就需要做整個的服務(wù)器遷移了。我的FreeBSD有大小版本都會升級,比如我最近就要升級到FreeBSD8。
國外管理員F:我們有95%的服務(wù)器都是VMware虛擬的,保存在NetApp NAS上,快照每天4次,所以恢復(fù)的事不用擔(dān)心。我有16臺Debian 5,2臺Debian Squeeze和3臺RHEL5,從我加入公司開始,已經(jīng)在好幾臺服務(wù)器上升級過內(nèi)核和Linux版本了。
由以上管理員們的分享可以看出,為系統(tǒng)打安全補(bǔ)丁還是需要的,是應(yīng)該做到的工作;而對內(nèi)核或系統(tǒng)升級,則一般是在有業(yè)務(wù)需求的時候才進(jìn)行的。不過,即使僅僅是給系統(tǒng)打安全補(bǔ)丁,也沒有那么簡單,無論是Linux、Windows還是Unix,都有僅僅是打安全補(bǔ)丁就造成系統(tǒng)重啟不正常的情況出現(xiàn)過。再到了系統(tǒng)需要升級的情況,也往往不僅僅是OS或應(yīng)用升級那么簡單,而是軟硬兼施,雙管齊下。那么,對于服務(wù)器系統(tǒng)的升級和補(bǔ)丁,管理員應(yīng)該怎樣做呢?讓我們看看那些經(jīng)驗豐富的系統(tǒng)管理員們都提供了哪些意見:
這是TechRepublic技術(shù)作者Erik Eckel的一篇文章,文中列出了對服務(wù)器進(jìn)行升級之前需要注意的十件事情。這十件事分別是:
- 對數(shù)據(jù)備份進(jìn)行核實
- 創(chuàng)建一個鏡像備份
- 不要同時進(jìn)行多項升級
- 升級后,密切監(jiān)視日志文件
- 明確使用的是什么OS
- 確保機(jī)箱支持升級
- 不要認(rèn)為即插即用是理所當(dāng)然的
- 性能優(yōu)化
- 便宜無好貨
- 文檔升級
其實簡單來說,對于系統(tǒng)管理員而言,備份、定期備份、定期檢查備份都是根本的根本。有bug要更新系統(tǒng),有漏洞要打補(bǔ)丁,這對于服務(wù)器系統(tǒng)而言是一個十分正當(dāng)?shù)男枨蟆H绻阕龊昧送耆臏?zhǔn)備,那么你實在不應(yīng)該懼怕給系統(tǒng)做更新的。當(dāng)然了,這個和工作環(huán)境也有關(guān)系。如果網(wǎng)站因為系統(tǒng)沒有打安全補(bǔ)丁被黑,系統(tǒng)管理員卻無需為此負(fù)責(zé),那么做系統(tǒng)更新的動力,恐怕是非常低了……
【編輯推薦】