Deployment

就地升級不好的原因

  • July 11, 2012

我正在編制一份原因列表,說明對軟體和作業系統進行就地升級是一個壞主意的原因。與我一起工作的許多人認為,在舊版本的基礎上安裝新版本的軟體或作業系統會更容易、更好。然而,我認為這通常是一個壞主意,最好花些時間解除安裝以前版本的軟體項目或執行作業系統的全新安裝。所有這一切也取決於是否有可靠的備份操作。

我想收集人們對就地安裝和乾淨安裝的其他想法。

  • 相對於軟體和作業系統,它們各自的優點和缺點是什麼?
  • 您遇到了哪些類型的問題,您是如何解決軟體和作業系統的問題的?
  • 還有什麼我應該知道的可以與我的同事分享與此主題相關的資訊嗎?

預先感謝您對此的幫助。我期待聽到您分享的所有內容。

如果任何系統管理員喜歡就地升級,我會感到驚訝。一個簡單的事實是,它們不可靠,也永遠不可能可靠。首先,您必須做出一個巨大的假設,即最初安裝在系統上的每個軟體包都是 100% 正確打包的。這從來都不是真的。總是有一些包中存在邏輯錯誤,或者寫入了他們忘記在包規範文件中提及的文件。編寫包腳本是一項極其乏味的工作,並且總是分配給任何軟體團隊中最初級的開發人員。

然後,您必須假設主機隨著時間的推移得到正確管理。沒有人進入並手動修改配置或手動安裝與打包二進製文件衝突的二進製文件。那永遠不會發生,對吧?

請記住,安裝所有這些新軟體包意味著首先關閉舊版本的軟體包。包關閉腳本是所有軟體中測試最差的。沒有人願意處理他們寶貴的軟體包被停用和丟棄的令人難以置信的無聊和不可想像的情況。另外,這裡還有一個很大的問題——關閉包含共享庫的包意味著做一些非常聰明的工作來關閉將這些庫載入到記憶體中的包,或者交換記憶體中正在執行的庫。這是非常難以做到的。

最後,您必須假設為系統製作新版本的人員徹底測試了所有可能的升級組合,而不僅僅是將前一個版本升級到這個最簡單的情況。您必須相信,他們能夠以某種方式投入本質上無限的資源來處理所有可能的升級路徑。

如您所見,這是一大堆(蒸蒸日上的)假設。在實踐中,這些條件都不是真的。人們一直在機器上安裝自己的二進製文件。包安裝和刪除腳本總是有問題(我可以單獨寫一篇關於這個問題的論文)。最終結果是就地升級是一件愚蠢的事。

我還應該注意到,我的團隊去年在我的工作中對 7500 台伺服器進行了主要的作業系統和軟體升級。我們非常努力地進行就地升級工作,但由於上面列出的許多原因,最終它沒有成功。我們最終擦除了所有機器並從頭開始安裝作業系統和所有軟體。問題解決了。

所有這一切導致我開玩笑說,軟體發布經理的口頭禪是從軌道上核彈——這是唯一可以確定的方法。 徹底清除和重新安裝系統是成功的唯一可靠途徑。大多數時候你可以通過增量升級來解決問題,但最終是時候重新開始了。

引用自:https://serverfault.com/questions/224771