系統管理員應該按期完成的九件事

    今天,Linux的發行版很是地容易安裝也很是容易入門。就算是一個缺少經驗的系統管理員,創建必須的服務並完成可運行的程序一般也能夠在幾小時內完成。mysql

    很不幸,容易入門反而掩蓋了須要作的維護工做,這些工做是保持系統穩定和使系統長期處於一個良好的工做次序中所必需的。一個單一的服務器一般能夠在沒有人工干預的狀況下運行很長時間。可是前提是全部其餘的位和塊必需被提早配置。sql

    關於這個列表,最糟糕的事情是你可能已經幾個月或幾年沒有作這些事情了。你忽略這些事情中的任何一件,它們都會在最糟糕的時候回來做祟:好比流量高峯期,硬盤驅動器崩潰,或******的時候。Linux系統管理員天天都應該作一些什麼工做?咱們這就爲您來總結一下。數據庫

系統管理員應該按期完成的九件事——配置管理apache

    我用配置管理來開始,是由於它和這個列表中的其他項有很大的不一樣。這一項對單一的服務器並不重要,可是若是你有許多系統,這一項就相當重要了。PuppetChef這樣的配置管理工具容許你編寫‘recipes’來定義服務器應該如何的被放置在一塊兒。那些‘recipes’能夠在每一個服務器上運行產生一個一致的、容易複製的安裝程序。這可讓你當即啓動一個系統的新拷貝,能夠給你的安裝提供極大的自由度。安全

    配置管理是作了,可是,卻給服務器安裝程序添加了必定的初始化複雜性,因此若是你膽子小,不用也罷。不過,即便只有兩個或三個服務器,好處也是至關巨大的。ruby

系統管理員應該按期完成的九件事——備份服務器

    這一項是顯而易見的,大多數的系統管理員都會在這方面作點工做的。若是你沒有一個可靠的備份策略,你如今須要立刻調整它。哪怕只等一天,後果極可能就是是災難性的。同時請確保你正確的作了備份,由於備份很容易作錯。Mozy,Carbonite,Backblaze等工具的At-home備份已經取得了很大的進展,可是相似的Linux解決方案還遠沒有成熟。Rsync ,tar,和相似的腳本工具一直很受歡迎,而且也是可行的替代方案,可是必需要當心,以適應像MySQL數據庫那樣的特殊狀況。每一個人的備份需求是不一樣的,因此不管你選擇什麼解決方案也要仔細研究它潛在的不足。你選擇的解決方案應該:ide

    ◆按期運行工具

    ◆保持多輪的備份測試

    ◆自動的刪除舊的備份

    ◆在你的如今的操做系統之外存儲備份

    ◆保持和你的原始數據同樣的安全性

    ◆合併全部的關鍵數據,關鍵的配置文件(更換服務器之後啓動和運行系統可能會須要的任何東西),和最近的日誌

系統管理員應該按期完成的九件事——測試你的備份

    緊跟着備份計劃的是測試它。這意味着按期檢查備份是否一直在作,產生的文件是不是有效的而且是否沒有被損壞,以及他們是否包括你須要的全部數據。一個好的經驗法則是若是你的備份每30天一輪換,那麼你應該常常的從新檢查他們。這裏自動化工具能夠幫一些忙(自動地檢查備份文件是不是最新的,是不是合理的大小而且是否有效)。儘管如此,沒有任何東西能夠替代人的眼睛……不然,當你發現你並無備份那些你認爲你已經備份的數據時,就只有哭的份了。

系統管理員應該按期完成的九件事——日誌輪換

    在最近幾年,Ubuntu,RedHat和其餘主要的發行版針對他們提供的軟件包的logrotate的運行和配置有了很大的改善。因此你的apache和mysql日誌也能夠被合適的輪換(默認設置是至關合理的,雖然可能並非你但願的方式)。可是你添加的「額外」的東西,例如Rails應用程序,須要創建它本身的logrotate條目。缺乏這個步驟會在最不合適的時刻引起無數的「硬盤驅動器已滿」的服務器錯誤。固然,一般你甚至不知道你的日誌引起了這個問題。針對這種狀況,資源監視纔是關鍵。

系統管理員應該按期完成的九件事——資源監視

    跟蹤CPU,內存的使用狀況,硬盤空間,帶寬,等可讓你更好的洞察你的系統狀態。當流量增長的時候,你能夠比較你的增長的內存或IO使用狀況,來提早規劃你的「scaling」。RRDTool/MuninServerDensityCloudkick是觀察這些隨着時間的推移而變化的數據的很好的選擇。若是你選擇的工具包括對意外的變化(失控的進程,驅動器已滿等)的警報功能,你將會領先任何潛在的問題一步。

系統管理員應該按期完成的九件事——進程監視

    對你的網站來講,讓你的Apache,MySQL和相似的進程一直處於運行狀態相當重要。有幾個很好的工具,例如MonitGod,能夠幫助你確保你的進程一直處於運行狀態。經過檢查進程的響應性,打開的端口,或進程id那些工具能夠從新啓動一個已死的服務或在一個失控的進程使你的整個系統崩潰前終止它。配置這件事的規則是個老大難問題,可是當一切都作好的時候,能夠節省大量的凌晨3點鐘的宕機時間。

系統管理員應該按期完成的九件事——安全加固(Hardening)

    Hardening包含了許多不一樣的操做,這些操做可使你的stock系統更安全。許多簡單的操做常常會被遺漏。你真的知道那些正在運行的進程中的每個都作了什麼嗎?在你的系統上,哪些額外的端口和服務被打開了?有合適的PAM模塊載入來進行安全認證嗎?又一次,RedHat和Ubuntu走在了時代的前列,他們提供了安全stock系統,並確保最多見的軟件包遵照正確的安全協議。可是,這並不意味着你能夠跳過這個步驟。

系統管理員應該按期完成的九件事——安全更新

    在一個基於apt或RPM的系統上,安全更新是很容易執行的。這個過程的陷阱是很難知道升級包是否會在你的棧裏引起某些類型的錯誤。爲了確切知道升級包將對你的系統產生怎樣的影響,擁有一臺一樣配置的模擬服務器是惟一的好辦法。幸運的是,由安全更新引起的麻煩是十分罕見的。修復一個更新的兼容性問題,須要花費一些停機時間,這個風險要比你的系統上的一個已知安全漏洞被利用的風險小不少。因此,不要讓「not knowing」阻止你進行正確的升級。最後,不是每個安全漏洞都能立刻得到一個安裝補丁。查看CVE字典上的可用警報,可讓你在補丁可用前,在保持你的系統安全性方面爭取主動。爲了確保一切都平滑的運行並保持最新,在這方面真的沒有什麼能夠代替人的肉眼。

系統管理員應該按期完成的九件事——日誌監視/安全掃描/***檢測

    這個列表中的全部項都是最低限度須要完成的。它們很容易被忘記,直到你的系統已經被***爲止,你可能都不會想起它們。對異常活動,******和其餘惡意行爲的持續掃描,對於幫助阻止或減輕***來講,是十分重要的。

總結

     這固然不是一個完整的列表,可是它也是十分普遍的,許多開發者和系統管理員只是沒有時間、興趣或知識來處理它們。更糟糕的是,許多開發項目被移交給了客戶,而一旦技術團隊遷移到另外一個項目上,這些客戶就沒有能處理這些事情的職員了。

相關文章
相關標籤/搜索