更新生產環境 Ubuntu 盒裝注意事項
每隔一段時間,我就會登錄到生產 web/db/tools 框並看到典型的消息:
可以更新 30 個包。16 個更新是安全更新。
我的問題是,你們所有人如何處理生產 Ubuntu 機器上的更新?您是否自動執行這些更新?您是否為他們設置了停機時間?問題是,你永遠不知道更新什麼時候會破壞某些東西,比如可能是現有的配置文件等。
這個問題的另一部分是,跟上更新檔是“一件好事”,但更新檔幾乎每天都會發布。如果每天都有新的安全更新檔可用,那麼一個人必須進行多少次計劃中斷?
我認為有關如何管理更新的答案的執行緒將非常有用。
修補 Ubuntu 與 Windows、RHEL、CentOS、SuSE、debian 等並沒有什麼特別之處。
在設計更新檔程序時,您需要保持的基本心態是假設某些事情會中斷。
在設計更新檔設置時,我傾向於使用的一些基本準則是:
- 始終使用本地系統在內部集中安裝更新檔程序的網路
這可能包括使用 WSUS 或
<your_os_here>
內部更新檔管理機器的鏡像。可以集中查詢並讓您知道安裝在您的各個機器上的更新檔程序的狀態的首選。
- 在可能的情況下,在機器上預先進行安裝。
在可能的情況下,隨著更新檔的發布,讓中央伺服器將它們複製到各個機器上。這實際上只是節省時間,因此您不必等待他們下載並安裝,您只需在更新檔視窗期間開始安裝。
- 獲得一個安裝更新檔的中斷視窗,您可能必須重新啟動,並且可能會出現問題。確保這些系統的利益相關者知道正在部署更新檔。為“這個”不起作用的電話做好準備。
按照我的基本理論,更新檔會破壞事物,請確保您有一個中斷視窗來應用更新檔足夠長的時間來解決關鍵問題,並可能回滾更新檔。您不一定需要讓人們在更新檔後坐在那裡進行測試。就我個人而言,我非常依賴我的監控系統來讓我知道一切都在我們可以逃脫的最低水平上執行。但也要準備好在人們開始工作時遇到一些煩人的問題。你應該總是安排有人在那裡準備接聽電話——最好不是那個一直到凌晨 3 點才修補盒子的人。
- 盡可能自動化
就像 IT 中的其他一切一樣,腳本、腳本然後再編寫一些腳本。腳本包下載,安裝開始,鏡像。基本上,您想將更新檔視窗變成一個嬰兒坐姿任務,只需要一個人在那裡,以防萬一出現問題。
- 每個月有多個視窗
如果由於某種原因無法在“指定的夜晚”修補某些伺服器,這使您能夠不修補它們。如果您不能在第 1 晚進行,則要求他們在第 2 晚免費。還可以讓您同時保持修補伺服器數量的正常。
最重要**的是跟上更新檔!**如果你不這樣做,你會發現你自己不得不做非常大的 10 多個小時的更新檔視窗才能回到你被趕上的點。引入更多可能出錯的地方,並使查找導致和發布的更新檔變得更加困難。
這個問題的另一部分是,跟上更新檔是“一件好事”,但更新檔幾乎每天都會發布。如果每天都有新的安全更新檔可用,那麼一個人必須進行多少次計劃中斷?
每月或每隔一個月修補一次伺服器 - 恕我直言 - 一個非常可實現且可接受的目標。不僅如此,而且您將不斷地修補伺服器,更不用說您開始遇到需要為每台伺服器應用數百個更新檔的情況。
至於你一個月需要多少個窗戶?這取決於你的環境。你有多少台伺服器?您的伺服器所需的正常執行時間是多少?
9x5 的較小環境可能每月只需要一個更新檔視窗即可。大型 24x7 商店可能需要兩個。非常大的 24x7x365 可能需要每週滾動視窗才能每周修補一組不同的伺服器。
找到適合您和您的環境的頻率。
要記住的一件事是,100% 保持最新是不可能達到的目標 - 不要讓您的安全部門告訴您其他情況。盡力而為,不要落後太多。