Centos
如何在不損壞訪客虛擬機/數據的情況下安全地重啟 Centos 7 KVM 主機?
我想在生產中擁有一個帶有少量 VM(具有不同的來賓作業系統)的 KVM 虛擬化伺服器。現在,當我想為主機安裝核心/包更新時,如何在不破壞任何 VM 數據的情況下重新啟動管理程序?(當虛擬機上發生一些 SQL/磁碟寫入時)
我知道這是一個非常簡單的問題,但我主要想知道KernelCare是否應該是主機保持更新的最佳選擇。我正在查看沒有數據損壞/任何此類嚴重問題,但 VM 的最小中斷是可以的(在應用程序託管伺服器環境中)。
升級伺服器的最佳選擇是使用實時遷移。擁有一個備用主機,該主機具有完全升級的軟體堆棧,然後將所有正在執行的虛擬機實時遷移到該主機。現在您可以安全地升級並重新啟動原始主機。這就是大多數公共雲在不給客戶虛擬機帶來停機時間的情況下處理主機升級的方式。
當然,來賓虛擬機在某些時候也需要自己的軟體升級和重啟。
我看到了一些成本、停機時間和風險不同的選項。
- 實時遷移。這提供了最短的停機時間,並且意味著您一次只能冒一個虛擬機的風險。但是,遷移出錯會導致問題存在一些風險,當然您需要第二個主機箱。
- 非實時遷移,您一次關閉一個虛擬機並移動它們。如果您無法在您的環境中進行實時遷移,則可能值得考慮。
- 關閉 VM 並在重新啟動主機後再次啟動它們任何體面的 VM 平台都應該能夠向 VM 發送 ACPI 關閉信號,並且任何體面的現代作業系統都應該理解 ACPI 關閉信號的含義。如果您走這條路線並且來賓虛擬機有一段時間沒有重新啟動,我建議您在關閉所有虛擬機以重新啟動主機之前,一次測試關閉並重新啟動每個虛擬機。
- 將 VM 掛起到磁碟並在重新啟動主機後恢復它們。這裡的風險是,如果在升級期間所做的更改使其無法恢復,則會發生什麼情況。然後,您正在處理所有 VM 的不正常關閉。