Cd Chen's Services

ba ba ba la~~

「不能用」 vs. 「不好用」

昨天上課結束時,有一位朋友跑來問我:「我的客戶有一台已經過期的 RHEL3,他想要跑 RHEL4 上面的 Apache+PHP+MySQL,我可以自己編譯給他用嗎??」

這答案,並沒有標準答案。如果您覺得可以,您可以自己編譯給他用。只是,我不是很贊成這樣的作法。

為甚麼??

因為這是累積多年血淋淋的教訓,才獲得的經驗。


我有一台 AMD 的 Linux,作為我自己的 File Server。前兩週因為不知名的因素,整台機器掛掉。當時我嚇死了,因為那台機器上,儲存了我十多年的工作紀錄與蒐集到的各種軟體。最糟高的是,因為資料過於龐大 (好幾 TB),我根本沒有辦法進行備份。

如果 File Server 使用的是單純的 Partition+Filesystem,那我還不會感到害怕。因為 Linux 的各種檔案系統,基本上都還蠻值得信賴的。讓我害怕的原因是,我做了 Software RAID (RAID 5),再把 MD 作成 LVM。

過去我也曾經把客戶的機器,做了 Software RAID+LVM,但後來發生意外後,造成災難性的毀壞。還好,客戶那邊有備份,只是損失了近兩週的資料而已。

或許您會說,為甚麼不用 Hardward RAID?? 其實我的那張 RAID 卡,也算是張 Hardware RAID。只不過,它只是張 Fake-RAID 而已,並不是真的 Hardware RAID。在 Linux 系統中,還是得透過 dmraid 與驅動程式,才能順利的工作。而我的 RAID 卡,正是 dmraid 還未支援 RAID-5 的 Sli3124。所以當時只能作 Software RAID (RAID-5)。

經過一晚的努力後,機器終於搶救回來了。更慶幸的是,除了少數幾個檔案外,所有的資料安然無恙。

故事還沒有結束,隔天就發生了悲慘的事情。

隔天想來想去,總覺得跑 Software RAID,有點浪費那張 Sil3124 卡 (畢竟也是三千元大洋買來的)。所以就決定要想辦法開通 dmraid 對 Sil3124 RAID-5 的能力。

後來在 dmraid 作者 Heinz Mauelshagen 大大的站上,找到了 Kernel 2.6.x 的 patches。上了 patch 之後,果然 Fedora 10 的 dmraid 就可以啟用 Sil3124 卡 RAID5 能力了。

我開心的把所有資料搬移 (用 pvmove) 到 Sil3124 的 RAID5 上,經過兩天一夜的等待,終於搬移完成了。但後來發現,Filesystem 的 inode/block 對應全都亂了套,造成某些檔案對應到的卻是另外的檔案的內容!!

頓時傻眼。想不到硬體故障的災難沒有毀掉我的資料,反倒是毀於我自己手賤。


這個最近的事件,給您什麼啟發??

企業環境的管理,與個人系統的管理,最大不同的地方是,安全的考量。安全,包含了機密性、可用性與完整性三項。個人的系統,可以盡情享受各種新花樣、新功能,掛了,了不起重新安裝就好;但企業環境卻不是這樣,他要的是穩定、隨時可用、萬一掛了必須在最短時間恢復正常。

不知道從什麼時候開始,大家都迷信要自己編譯軟體,但我很反對這樣的作法。我往往建議我的朋友們,如果作業系統有提供該軟體,請愛用原廠提供的吧; 就算沒有提供,還是盡量不要自己編譯軟體。

沒錯,自己編譯軟體固然很爽,很有成就感,很好掌握軟體所有功能。但您確定您編譯軟體的能力,會比原廠強嗎?? 就算是,您自己編譯的軟體,有經過穩定性測試嗎?? 就算原廠的軟體被發現有問題時,會在最短的時間內發佈修正版本,您會嗎??

所以,何必拘泥要自己編譯軟體呢?!

這篇內容的 Trackback 網址:

http://cdchen.idv.tw/trackback/952