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