我試圖了解各種虛擬化供應商(特別是 Amazon EC2,還有 VMware 和 Xen)如何讓軟體供應商在伺服器虛擬化的環境中提供真正的 HA 解決方案。
具體來說,如果我正在運行任何 HA 應用程式(交換、資料庫等),我需要確保我的冗餘虛擬「伺服器」不位於同一台實體伺服器上。
使用內部虛擬化解決方案(VMware、Xen 等),我可以進行相應配置並檢查虛擬 -> 實體排程。然而,我可能會意外地“vmotion”到相同的實體硬體。
使用 EC2,我甚至無法在配置時選擇不同的實體伺服器。由於他們的叢集運算實例是每台實體伺服器 1 個虛擬伺服器,因此這似乎是保證我不會產生錯誤的冗餘感的唯一方法。
任何想法或想法都會有幫助。其他人正在做什麼解決這個問題?如果供應商提供了一個 API,我可以在其中獲得像唯一物理系統識別碼這樣簡單的東西,我至少可以知道我是否會遇到問題。
-提姆
答案1
我只能真正與VMWare 交談。如果您使用 DRS,則可以建立規則,將電腦保留在同一個實體機箱上,或將它們保留在單獨的實體機箱上。即使您不小心移動到裝有另一台機器的盒子,它也會立即退出。
答案2
如果您使用的是託管解決方案,那麼您只需了解合約的內容即可。在這種情況下,您不是在管理機器,而是在購買服務。看看你要買什麼。如果您購買的軟體包說不存在單點故障,那麼您所能做的就是假設他們將您的虛擬機器保留在不同的硬體上。如果他們不這樣做,並且失敗了,希望你的合約說你能得到一些錢,免費一個月,類似的東西。
如果您無法管理系統,為什麼他們會給您任何存取權限來了解您的虛擬機器位於哪台實體機器上?你對此無能為力。即使您可以確保它們不在同一實體主機上,您如何確定 SAN 具有雙結構?
對於來自信譽良好的供應商的託管解決方案,只需注意您購買的產品即可。
編輯 - 來自EC2page :如果您在一個區域購買機器,您將獲得 99.95% 的正常運作時間。您可以購買不同可用區域的機器以獲得更好的可靠性。
答案3
通常,它們運行在共用儲存設備(SAN 或類似設備)上,並且所有實體主機都連接到該設備。因此,兩台能夠運行虛擬機器的伺服器都使用叢集檔案系統連接到共用儲存。當其中一台伺服器發生故障時,另一台伺服器就會被告知開始運行 - 它會拾取儲存上的文件,因此不會中斷。
如果其中一台伺服器發生故障,則很難將 30Gb 來賓的資料從一台伺服器遷移到另一台伺服器。
共享儲存本身通常設定為完全冗餘、RAID 磁碟和冗餘光纖通道/iScsi 交換器。