10/16/2008

系統管理該注意的事- 五不二要

這一篇是依據自己的經驗、前輩的教誨和網路上眾多高手的經驗分享整理出來的,也是我這幾年來做系統管理工作的心得,不見得絕對的正確,但希望可以給你參考,幫助你更輕鬆的做好系統管理的工作。。

1. 不要在休假前做任何的事

管理一個系統常會面臨一些系統變更的需求,如修改系統參數、改某個程式的組態、新增一個例行性工作......等,凡此種種變動千萬不要在你休假前夕執行。你以為在休假前把事情做好你就能安心的休假了嗎?通常答案是否定的。我曾經在星期五時,因需求而修改一個備份的script。該script主要的工作是備份已經丟進資料庫的資料,並將已備份過的資料刪除。修改時我將刪除檔案的部份註解起來,以免測試時誤刪了資料。結果script順利修改完成,但是我卻忘了將刪除檔案的註解移掉。......星期一時才發現檔案系統在星期六下午就達100%,前端的機器跟本就無法將資 料送進來,更不要說丟進資料庫裡去。結果是有一天多的資料沒進資料庫,二天的日報表和週報表沒跑,前端AP人員花了一整個工作天才將資料全部丟進去資料庫,晚上才能開始跑報表,預計到星期二下午就可以跑完了。事情結束了嗎?沒有,其中有一個報表是副總要看的,我老闆免不了被叫去罵一頓,而我則負責寫檢討報告。還有一個ip設定錯誤的案例可以講呢?想聽嗎?
我的經驗告訴我,重大的變動一定要計劃,任何的改變一定要保留一段觀察期,選在對系統影響最小的時候(通常是離峰時間)進行。

2. 不要隨意在正式運作的系統上亂搞

熱衷於技術性新知的追求是好事,但在你對新發現的東西有完整的瞭解之前,不要輕易的將之使用在已經正式上線且運作正常的系統上。有的管理員在網路上看到好用的軟體、神奇的設定、便利的script,就會迫不及待的在自己管理的機器上試驗起來。經驗法則告訴我們說,這是一件很危險的事。系統管理強調的是維持系統的可用性,而不是裡頭有多高難度的設定或多偉大的軟體。沒有穩定可用的系統,管理員再高的技術也等於零。

3. 不要亂改預設值

除非有必要,如效能提昇、應用程式需求、安全因素.....等,否則不要改系統的預設值。如果真的需要改變,記得詳細記錄在系統文件上。隨意的改變系統預設值,可能在某些情況下造成系統的不正常,或是在除錯時造成困難。 除了系統參數外,程式安裝的預設路徑和設定檔存放的位置也不要隨意更改。我有一個同事把top安裝在/opt/local/bin 下,結果除了他知道外每個人都到/usr/local/bin下找,結果就是常有人打電話來問top放在那裡。

4. 不要隨便重開機

Unix只有極少的情況會需要重開機,問題發生時該做的第一件事是收集相關資訊,以利排除問題並將系統回覆正常。錯誤的設定、損壞的硬體不會因為一次的重開機,就變成正確或是忽然就好了。如果重開機系統就回覆正常的話,通常表示這個問題是不需要重開機就可以修復的,那為何還要重開機呢?不明就理的重開機,除了浪費時間外,還可能使問題的相關資訊流失或是使問題變的更加糟糕。

5. 不要相信廣告及廠商的話

廠商所講的話絕大多數都不是真正全面的事實,你一定遇過類似像這樣的事。某個廠商說"我們家某型號的SAN storage, 每秒可百萬個IO,效能絕對的領先。"這話只說了一半,真正的事實是,這個數據是把storage的cache加到128GB以上所測試出來結果,而該機器預設只有32GB,並且價格也是絕對的領先。我還遇過一家SI的某個工程師,打算用四個小時的時間把300多GB的資料庫透過100Mb的網路,複製到另一個系統。真不曉得他是怎麼估算的。這類的例子還很多,總之廠商說的話,通常不是真正的事實,甚至是謊話連篇。最好的辦法就是要他證明給你看,請他搬機器過來執行測試計畫, 並且注意到每個測試的細節。

6. 要做備份

任何時候都應該保留一份最新且可用的備份,因為系統會在任何的時間以各種可能的方式遺失掉資料。如硬體故障,程式當掉、停電、人為錯誤......等。可用的表示你要確認這個備份是可以將系統回覆成原來的樣子。如何確認?最好的方法是找一台機實際回覆一次看看。
當你編輯sendmail.cf時是直接就編輯,還是會先cp一個備份檔呢?當你改變routing table時,如果改錯了,你有辦法再改回正確的嗎?不要相信你的記憶,先把正確的備一份起來吧!
總之在你做任何的改變時都要有能力將之回到原來的狀況,所以改變前請先備份吧!

7. 要避免任何可能的危害發生

發現可能存在的危險並且想辦法去避免。我有同事因為誤觸主機電源而使整個系統被迫重新開機,原因在於電源開關的按鍵和磁帶機的退帶鍵太接近了,一個不小心慘劇就發生了。如果之前有使用膠帶把電源開關給貼起來的話,這樣的狀況應該就可以避免了。你應該也曾經遇過拔錯電源線或是網路線的經驗吧!如果貼上容易識別的標籤,是否可以避免這樣的情況呢?類似的情況還有電源線、網路線......等沒有良好的收納而裸露在外或是散亂於地。都有可能造成系統的災難。還會有別的嗎?Mirror的磁碟陣列壞掉一顆時,你有及時去處理嗎?我看過一顆硬碟壞了,而管理員偷懶想說過二天再弄時,只過一天第二顆也壞了的情況。
在災難還沒發生時,先想辦法預防吧。

沒有留言: