Virtualization

當物理機在虛擬環境中發生故障時會發生什麼?

  • August 26, 2015

我開始使用虛擬化,所以請耐心等待。

在虛擬環境中,應用程序在管理程序層中執行。因此,一台物理機上可能有許多執行多個應用程序的虛擬機。

到現在為止還挺好?

那麼當物理機發生故障時會發生什麼?這不會使許多應用程序都從一台機器上失敗嗎?

我正在尋找使用OpenStack開發私有云,但我想先全面了解虛擬化。

具體細節取決於您使用的確切虛擬化解決方案,但想法是您有一個虛擬場,其中有許多物理主機,每個主機都有多個虛擬機。然後,您可以利用不需要為每個 VM 配備物理主機而獲得的一些效率,這樣您就有足夠的成本來應對物理機出現故障的情況。

此外,您可以在公共(冗餘)SAN 上找到每個 VM 的 VHD。每個物理主機上的管理程序可以設置為相互通信並共享來自不同 VM 的記憶體。存在一些延遲,並且大部分記憶體將由​​磁碟支持,但如果其中一台物理主機出現故障,您甚至不需要等待該主機的虛擬機重新啟動。相反,這些虛擬機將自動分佈在其餘主機之間。最終目標是這些機器將從幾乎停止的地方重新開始,幾乎沒有停機時間。從某種意義上說,您的所有虛擬機都已經在至少兩台物理主機上執行。在實踐中,現在虛擬機管理程序一次只能在一台機器上進行這種遷移,當他們知道它會在主機發生故障之前到來時……但不要誤會:硬體故障的即時遷移是所有主要目標的最終目標管理程序。

這就是為什麼您有時會看到伺服器虛擬化到場中的單個物理主機的原因。您可能不會獲得任何硬體效率(您甚至可能會損失一些性能),但您可以通過管理一致性和內置高可用性來彌補它。

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