CentOS 6很好,不過來的是不是太遲了?
原創【51CTO評論】這兩天關注CentOS的朋友們應該都知道,CentOS 6終于發布了。發布固然是一件好事,可是作為RHEL 6的克隆版,CentOS 6的發布時間距離RHEL 6發布的時間足足相差了8個月;而同樣是RHEL 6的克隆版,甲骨文Unbreakable Linux 6在RHEL 6發布后一個月左右就已經推出。當然有人說甲骨文是有商業支持的,可同樣是社區支持版本,Scientific Linux 6也能夠在2011年5月發布——要知道,Scientific Linux的社區規模和用戶規模相比CentOS要小得多。
誠然,對于服務器發行版而言,對于服務器版本升級的需求主要在補丁修補上,而像CentOS 5到CentOS 6這種大版本的升級,在生產服務器上是很少需要的,主要是應用在新進入的服務器上。不過,這并不意味著管理員們對于版本更新姍姍來遲不會表示怨言。standalone-sysadmin博客就表達了這方面的怨言,該博主在Twitter上抱怨道:
CentOS 6.0發布了。很好的時間點,再晚點的話我就要投奔其他的RHEL克隆版了。
這位SA為什么對發行版的更新頻率表示如此的關切?以下是他的答案:
在1995年8月,紅帽宣布推出Red Hat Commercial Linux 1.1(紅帽商用Linux)。包含安裝支持的費用是39.95美元(附加的服務需要額外付費)。這在當時是個新概念,因為非常多的開源支持者對在自由軟件上花錢表示不置可否。
不過,這對于Linux在企業中的使用打開了新的一扇門,因為他們需要有廠商支持的軟件。倒不是說Linux的使用率因為這件事而爆發,但的確為Linux的發展拓展了新的空間。
在今天,大部分企業用Linux發行版都是基于紅帽和Debian的。紅帽的Red Hat Enterprise Linux(RHEL)是個非常成功的發行版。我之所以關注RHEL,是因為我所工作的公司的IT基礎架構是基于RHEL的標準的。
我的故事
紅帽企業級Linux提供了穩定的環境和可靠的支持。新版本和軟件升級經過了充分的測試,非常可靠。同時,它也不便宜。我叫過幾次支持,紅帽支持人員都快速解決了我的問題,一點兒數據都沒丟過。
如果你的企業很大,也有錢花費在技術支持上,那么購買RHEL無疑是***的選擇,所以一開始,我為我所在企業的基礎架構購買了幾個RHEL版本。然而后來我們發現,支持費用有越來越高的傾向,所以我們開始考慮其他方案。
大家也知道,從搭好的系統切換出去是很難的,尤其是這個系統用過、維護過幾年之后。當時我還沒有接觸過puppet和CFengine這類神器,而我之前已經經歷過一次從Slackware切換到RHEL的過程,實在不想再折騰一次了。
當時我的想法是,如果能找到個免費的RHEL克隆版,就可以輕易的切換過去,因為我的腳本都不用改!當然,免費RHEL克隆版就沒有支持,不過既然我們已經做好了決定不給紅帽付那么多錢,那么這種事情也是做好準備的。
結果我還真的找到了——CentOS。CentOS本質上是一個二進制兼容的RHEL版本。因為RHEL用的很多軟件都是在GNU許可協議之下的開源軟件,所以紅帽的代碼是開源的,CentOS就是使用了紅帽的源代碼,去除了所有Red Hat標識和其他版權文字,再重新打包成Community ENTerprise OS(社區企業級操作系統)。
很棒的想法,這也促使我立刻做出了全部遷移的決定。當我離開那家公司的時候,幾乎每一臺服務器都運行在CentOS之上。
問題
對于企業級系統架構,有幾點是非常重要的。其中有一點就是及時性。
軟件開發是個花時間的過程。而開發出來的軟件,一般并不會立刻被打包進發行版當中(除了某幾個非常前沿的發行版),而是會經過反復的測試,修改了bug之后才被加入。身為企業發行版,RHEL非常注重穩定性,所以其版本更新當中很少加入軟件的大版本升級,而只接受小版本升級,而且經過重重測試。可以說,發行版發布的時候軟件是什么版本,之后就一直是那個版本。
CentOS由于其發行的方式,決定了其追趕者的性質。這倒不是什么大問題,因為在企業的系統架構中是嚴禁隨意對軟件進行升級的。即使發行版的開發者、測試者和發布者經過了嚴密的測試,你仍然需要在企業的測試環境中先測試新版本,然后根據日程將升級滾動到生產環境當中。這個過程可以大大減少升級中出現問題的幾率。
不過在有些時候,軟件升級不僅是好看,而且還是必須的。比如,你的某個服務需要依賴某個軟件的較新版本,或者某個軟件在***的升級中修復了原先存在的安全漏洞。
這種時候就需要發行版做出快速的反映,而CentOS的表現實在不盡如人意。有人會說了,你如果真需要安全更新,那么就購買企業級支持。在我看來這是個魚和熊掌不可兼得的事情。是要花錢更新,還是不花錢不更新,這跟企業整體的預算和盈利情況有關。身為SA,需要在公司的預算之內行動。
我的公司負擔不起支持費用,所以我決定耐心等待CentOS進行更新。
對于CentOS,我十分欣賞,也十分感謝所有為CentOS做貢獻的人。然而作為SA,我們需要實際些,因為要對企業的系統架構負責。
下圖顯示了CentOS的每個版本比RHEL晚了多少天:
可以清楚的看出,CentOS 6.0花費的時間遠遠超過了之前的版本。事實上,最近幾個版本的延誤情況似乎越來越糟。我個人沒在CentOS項目里做過,不清楚這背后的原因。可能跟紅帽的新策略有關(51CTO編輯注:雖然CentOS管理組通告說這對他們沒影響),可能跟CentOS管理組的內亂有關……誰知道呢。整個開發的流程不夠透明,我感到很郁悶,因為我需要了解更多。
結果,我不得不開始考慮其他的發行版。
其他選擇
CentOS***的競爭者就是Scientific Linux,這個發行版由CERN,Fermilab和全球其他的實驗室編譯打包。這個發行版我還沒深入嘗試過,不過在嘗試之前,建議大家先看看這個發行版都做了哪些定制。
RHEL Derivative上列出了好幾個,不過我都還沒嘗試過。
我現在面臨三個選擇:付費用RHEL;換個別的發行版并希望它能夠穩定發展;繼續用CentOS并希望它能夠穩定發展。說真的,我也不知道該選哪個。
不過我可以給大家提供一個建議:讓你的系統架構盡可能的減少對底層操作系統的依賴性(或者說,讓底層操作系統不那么重要)。這并不是說你不再需要給軟件打補丁,不過在一個抽象化的系統架構上,你可以輕易的跟某個不再喜歡的OS廠商說再見。
你對此是怎么看的?歡迎分享你的想法!
【編輯推薦】