系統(tǒng)管理員應(yīng)該定期完成的九件事
原創(chuàng)【51CTO精選譯文】今天,Linux的發(fā)行版非常地容易安裝也非常容易入門。就算是一個缺乏經(jīng)驗的系統(tǒng)管理員,建立必須的服務(wù)并完成可運行的程序通常也可以在幾小時內(nèi)完成。
51CTO編輯推薦:SA,神仙與裝機男:運維的工作到底啥樣兒?
很不幸,容易入門反而掩蓋了需要做的維護工作,這些工作是保持系統(tǒng)穩(wěn)定和使系統(tǒng)長期處于一個良好的工作次序中所必需的。一個單一的服務(wù)器通常可以在沒有人工干預(yù)的情況下運行很長時間。但是前提是所有其他的位和塊必需被提前配置。
關(guān)于這個列表,最糟糕的事情是你可能已經(jīng)幾個月或幾年沒有做這些事情了。你忽略這些事情中的任何一件,它們都會在最糟糕的時候回來作祟:比如流量高峰期,硬盤驅(qū)動器崩潰,或黑客攻擊的時候。Linux系統(tǒng)管理員每天都應(yīng)該做一些什么工作?我們這就為您來總結(jié)一下。
系統(tǒng)管理員應(yīng)該定期完成的九件事——配置管理
我用配置管理來開始,是因為它和這個列表中的其余項有很大的不同。這一項對單一的服務(wù)器并不重要,但是如果你有許多系統(tǒng),這一項就至關(guān)重要了。Puppet或Chef這樣的配置管理工具允許你編寫‘recipes’來定義服務(wù)器應(yīng)該如何的被放置在一起。那些‘recipes’可以在每個服務(wù)器上運行產(chǎn)生一個一致的、容易復(fù)制的安裝程序。這可以讓你立即啟動一個系統(tǒng)的新拷貝,可以給你的安裝提供極大的自由度。
配置管理是做了,但是,卻給服務(wù)器安裝程序添加了一定的初始化復(fù)雜性,所以如果你膽子小,不用也罷。不過,即使只有兩個或三個服務(wù)器,好處也是相當(dāng)巨大的。
系統(tǒng)管理員應(yīng)該定期完成的九件事——備份
這一項是顯而易見的,大多數(shù)的系統(tǒng)管理員都會在這方面做點工作的。如果你沒有一個可靠的備份策略,你現(xiàn)在需要馬上調(diào)整它。哪怕只等一天,后果很可能就是是災(zāi)難性的。同時請確保你正確的做了備份,因為備份很容易做錯。Mozy,Carbonite,Backblaze等工具的At-home備份已經(jīng)取得了很大的進展,但是類似的Linux解決方案還遠沒有成熟。Rsync ,tar,和類似的腳本工具一直很受歡迎,并且也是可行的替代方案,但是必須要小心,以適應(yīng)像MySQL數(shù)據(jù)庫那樣的特殊情況。每個人的備份需求是不同的,所以無論你選擇什么解決方案也要仔細研究它潛在的不足。你選擇的解決方案應(yīng)該:
◆定期運行
◆保持多輪的備份
◆自動的刪除舊的備份
◆在你的現(xiàn)在的操作系統(tǒng)以外存儲備份
◆保持和你的原始數(shù)據(jù)一樣的安全性
◆合并所有的關(guān)鍵數(shù)據(jù),關(guān)鍵的配置文件(更換服務(wù)器以后啟動和運行系統(tǒng)可能會需要的任何東西),和最近的日志
系統(tǒng)管理員應(yīng)該定期完成的九件事——測試你的備份
緊跟著備份計劃的是測試它。這意味著定期檢查備份是否一直在做,產(chǎn)生的文件是否是有效的并且是否沒有被損壞,以及他們是否包括你需要的所有數(shù)據(jù)。一個好的經(jīng)驗法則是如果你的備份每30天一輪換,那么你應(yīng)該經(jīng)常的重新檢查他們。這里自動化工具可以幫一些忙(自動地檢查備份文件是否是最新的,是否是合理的大小并且是否有效)。盡管如此,沒有任何東西可以替代人的眼睛……否則,當(dāng)你發(fā)現(xiàn)你并沒有備份那些你認為你已經(jīng)備份的數(shù)據(jù)時,就只有哭的份了。
51CTO推薦專題:Linux 系統(tǒng)備份——操作實踐與工具介紹
系統(tǒng)管理員應(yīng)該定期完成的九件事——日志輪換
在最近幾年,Ubuntu,RedHat和其他主要的發(fā)行版針對他們提供的軟件包的logrotate的運行和配置有了很大的改善。所以你的apache和mysql日志也可以被合適的輪換(默認設(shè)置是相當(dāng)合理的,雖然可能并不是你希望的方式)。但是你添加的“額外”的東西,例如Rails應(yīng)用程序,需要建立它自己的logrotate條目。缺少這個步驟會在最不合適的時刻引發(fā)無數(shù)的“硬盤驅(qū)動器已滿”的服務(wù)器錯誤。當(dāng)然,通常你甚至不知道你的日志引發(fā)了這個問題。針對這種情況,資源監(jiān)視才是關(guān)鍵。
51CTO推薦閱讀:明明白白你的Linux服務(wù)器——日志篇
系統(tǒng)管理員應(yīng)該定期完成的九件事——資源監(jiān)視
跟蹤CPU,內(nèi)存的使用情況,硬盤空間,帶寬,等可以讓你更好的洞察你的系統(tǒng)狀態(tài)。當(dāng)流量增加的時候,你可以比較你的增加的內(nèi)存或IO使用情況,來提前規(guī)劃你的“scaling”。RRDTool/Munin,ServerDensity和Cloudkick是觀察這些隨著時間的推移而變化的數(shù)據(jù)的很好的選擇。如果你選擇的工具包括對意外的變化(失控的進程,驅(qū)動器已滿等)的警報功能,你將會領(lǐng)先任何潛在的問題一步。
系統(tǒng)管理員應(yīng)該定期完成的九件事——進程監(jiān)視
對你的網(wǎng)站來說,讓你的Apache,MySQL和類似的進程一直處于運行狀態(tài)至關(guān)重要。有幾個很好的工具,例如Monit和God,可以幫助你確保你的進程一直處于運行狀態(tài)。通過檢查進程的響應(yīng)性,打開的端口,或進程id那些工具可以重新啟動一個已死的服務(wù)或在一個失控的進程使你的整個系統(tǒng)崩潰前終止它。配置這件事的規(guī)則是個老大難問題,但是當(dāng)一切都做好的時候,可以節(jié)省大量的凌晨3點鐘的宕機時間。
51CTO推薦專題:Linux監(jiān)控工具的展覽館
系統(tǒng)管理員應(yīng)該定期完成的九件事——安全加固(Hardening)
Hardening包含了許多不同的操作,這些操作可以使你的stock系統(tǒng)更安全。許多簡單的操作經(jīng)常會被遺漏。你真的知道那些正在運行的進程中的每一個都做了什么嗎?在你的系統(tǒng)上,哪些額外的端口和服務(wù)被打開了?有合適的PAM模塊載入來進行安全認證嗎?又一次,RedHat和Ubuntu走在了時代的前列,他們提供了安全stock系統(tǒng),并確保最常見的軟件包遵守正確的安全協(xié)議。但是,這并不意味著你可以跳過這個步驟。
系統(tǒng)管理員應(yīng)該定期完成的九件事——安全更新
在一個基于apt或RPM的系統(tǒng)上,安全更新是很容易執(zhí)行的。這個過程的陷阱是很難知道升級包是否會在你的棧里引發(fā)某些類型的錯誤。為了確切知道升級包將對你的系統(tǒng)產(chǎn)生怎樣的影響,擁有一臺同樣配置的模擬服務(wù)器是唯一的好辦法。幸運的是,由安全更新引發(fā)的麻煩是十分罕見的。修復(fù)一個更新的兼容性問題,需要花費一些停機時間,這個風(fēng)險要比你的系統(tǒng)上的一個已知安全漏洞被利用的風(fēng)險小很多。所以,不要讓“not knowing”阻止你進行正確的升級。最后,不是每一個安全漏洞都能馬上獲得一個安裝補丁。查看CVE字典上的可用警報,可以讓你在補丁可用前,在保持你的系統(tǒng)安全性方面爭取主動。為了確保一切都平滑的運行并保持最新,在這方面真的沒有什么可以代替人的肉眼。
系統(tǒng)管理員應(yīng)該定期完成的九件事——日志監(jiān)視/安全掃描/入侵檢測
這個列表中的所有項都是最低限度需要完成的。它們很容易被忘記,直到你的系統(tǒng)已經(jīng)被入侵為止,你可能都不會想起它們。對異常活動,黑客攻擊和其他惡意行為的持續(xù)掃描,對于幫助阻止或減輕攻擊來說,是十分重要的。
51CTO推薦閱讀:曹江華訪談實錄:Linux服務(wù)器安全策略詳解
總結(jié)
這當(dāng)然不是一個完整的列表,但是它也是十分廣泛的,許多開發(fā)者和系統(tǒng)管理員只是沒有時間、興趣或知識來處理它們。更糟糕的是,許多開發(fā)項目被移交給了客戶,而一旦技術(shù)團隊遷移到另一個項目上,這些客戶就沒有能處理這些事情的職員了。
(51CTO編輯注:RoundHouse是一家國外的IT運維外包服務(wù)提供商。)
【51CTO.com譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處。】
【編輯推薦】