高可用性可以在以下幾個層面實現:
1 應用層高可用性:如實現mysql、oracle數據庫應用程序的羣集,主要是判斷mysql、oracle應用程序是否停止運行。
2 操作系統高可用性:如windows的故障轉移羣集(windows failover clustering WFC)。
3 虛擬化層的高可用性:如vsphere high availability(HA)和vsphere fault tolerance(FT)。
4 物理層的高可用性:如:多網絡適配器、SAN等。
vSphere HA 和 Fault Tolerance(FT)功能分別通過提供中斷快速恢復和連續可用性來最小化或消除非計劃停機時間。
使用 vSphere,企業可以輕鬆提高爲所有應用程序提供的基準級別,並且以更低成本和更簡單的操作來實現更高級別的可用性。使用vSphere,你可以:
a 獨立於硬件、操作系統和應用程序提供更高可用性。
b 減少常見維護操作的計劃停機時間。
c 在出現故障時提供自動恢復。
一、vSphere HA 提供快速中斷恢復
vSphere HA 利用配置爲羣集的多臺 ESXi 主機,爲虛擬機中運行的應用程序提供快速中斷恢復和具有成本效益的高可用性。
vSphere HA 通過以下方式保護應用程序可用性:
1 通過在羣集內的其他主機上重新啓動虛擬機,防止服務器故障。
2 通過持續監控虛擬機(通過vmware tools實現主機向虛擬機發送檢測信號)並在檢測到故障時對其進行重新設置,防止應用程序故障。
與其他羣集解決方案不同,vSphere HA 提供基礎架構並使用該基礎架構保護所有工作負載:
a 無需在應用程序或虛擬機內安裝特殊軟件。所有工作負載均受 vSphere HA 保護。配置 vSphere HA 之後,不需要執行操作即可保護新虛擬機。它們會自動受到保護。
b 可以將 vSphere HA 與 vSphere Distributed Resource Scheduler (DRS) 結合使用以防止出現故障,以及在羣集內的主機之間提供負載平衡。
與傳統的故障切換解決方案相比,vSphere HA 具有多個優勢:
最小化設置 | 設置 vSphere HA 羣集之後,羣集內的所有虛擬機無需額外配置即可獲得故障切換支持。 |
減少了硬件成本和設置 | 虛擬機可充當應用程序的移動容器,可在主機之間移動。管理員會避免在多臺計算機上進行重複配置。使用 vSphere HA 時,必須擁有足夠的資源來對要通過 vSphere HA 保護的主機數進行故障切換。但是,vCenter Server 系統會自動管理資源並配置羣集。 |
提高了應用程序的可用性 | 虛擬機內運行的任何應用程序的可用性變得更高。虛擬機可以從硬件故障中恢復,通過監控和響應 VMwareTools 檢測信號並重新啓動未響應的虛擬機,可防止客戶機操作系統崩潰。 |
DRS和vMotion 集成 | 如果主機發生了故障,並且在其他主機上重新啓動了虛擬機,則 DRS 會提出遷移建議或遷移虛擬機以平衡資源分配。 |
vSphere HA 羣集允許 ESXi 主機集合作爲一個組協同工作,這些主機爲虛擬機提供的可用性級別比 ESXi 主機單獨提供的級別要高。
羣集中的主機均會受到監控,如果發生故障,故障主機上的虛擬機將在備用主機上重新啓動。
創建 vSphere HA 羣集時,你可以選擇使用單個主機作爲首選主機(master)以與 vCenter Server 通信並監控其他主機、從屬主機(slave)及其虛擬機的狀況。
如果爲羣集啓用了 vSphere HA,則所有活動主機(未處於待機或維護模式的主機或未斷開連接的主機)都將參與選舉以選擇羣集的首選主機。掛載最多數量的數據存儲的主機在選舉中具有優勢。每個羣集只存在一臺首選主機,其他所有主機都是從屬主機。如果首選主機出現故障、關機或從羣集中移除,則會進行新的選舉。
羣集中的首選主機具有很多職責:
1 監控從屬主機的狀況。如果從屬主機發生故障或無法訪問,首選主機將確定需要重新啓動的虛擬機。
2 監控所有受保護虛擬機的電源狀況。如果有一臺虛擬機出現故障,首選主機可確保重新啓動該虛擬機。使用本地放置引擎,首選主機還可確定執行重新啓動的位置。
3 首選主機管理羣集主機和受保護的虛擬機列表並對添加或刪除cluster內部的主機進行管理即首選主機維護着羣集內的清單。
4 首選主機管理被保護的虛擬機清單,在用戶每次發起開關機操作時,更新這個清單。vcenter server會要求保護或不保護某些虛擬機。即當虛擬機打開電源,則該虛擬機要受保護,一旦主機出現故障就會在其他主機上重新啓動虛擬機。當虛擬機關閉電源,就沒有必要再保護它了。
5 首選主機緩存cluster的配置,master主機通知和提醒slave主機,cluster配置的修改。
6 master主機發送心跳信息給slave主機,讓slave主機知道master的存在。如果slave主機接收不到心跳信息,則重新選舉出新的首選主機。
7 master報告狀態信息給vcenter,vcenter正常情況只與master主機通信。
首選主機執行的功能之一是虛擬機保護。虛擬機受保護時,vSphere HA 可保證在其出現故障後嘗試重新打開電源。
首選主機在觀察到虛擬機的電源狀況由關閉電源變爲打開電源時,會致力於保護虛擬
機。如果發生故障切換,首選主機必須重新啓動所負責的受保護的虛擬機。該職責已分配給在包含虛擬機配置文件的數據存儲上以獨佔方式鎖定系統定義文件的首選主機。
羣集中從主機的職責:
1 slave主機監視本地運行的虛擬機的狀態,把這些虛擬機運行狀態的顯著變化發給master主機。
2 slave主機監視master主機的健康狀態,如果master主機出現故障,slave主機參與master的選舉。
3 slave運用vSphere HA 接入控制vSphere HA特性,這些特性不需要master的協調。這些特性包括VM Health Monitoring。
查看master和slave的狀態:
主機故障類型和檢測
vSphere HA 羣集的首選主機負責檢測從屬主機的故障。根據檢測到的故障類型,在主機上運行的虛擬機可能需要進行故障切換。
在 vSphere HA 羣集中,檢測三種類型的主機故障:
1 主機停止運行(即發生故障)。
2 主機與網絡隔離。
3 主機失去與首選主機的網絡連接。
vSphere HA使用管理網絡和存儲設備來聯繫。當master通過管理網絡聯繫不到slave時,master就會使用存儲網絡(heartbeat datastores)來檢查slave是否存活。
首選主機監控羣集中從屬主機是通過交換網絡檢測信號來完成,此通信通過管理網絡來完成。當首選主機不能通過管理網絡(如首選主機或從屬主機的網絡接口出故障)從從屬主機接收這些檢測信號時,它會在聲明該主機出現故障之前檢查主機活躍度。首選主機執行的活躍度檢查是要確定從屬主機是否在與數據存儲(即存儲網絡)交換檢測信號。如果此從屬主機與數據存儲交換檢測信號,則首選主機會假定它處於某個網絡分區或網絡隔離中,因此會繼續監控該主機及其虛擬機。
網絡分區:一個或多個slave通過管理網絡聯繫不到master,即使它們的網絡連接沒有問題,這種情況下,vSphere HA能夠了使用存儲網絡來檢測分離的主機(上面的slaves)是否存活以及否要保護它們裏面的虛擬機。
網絡隔離:一個或多個slave丟失了所有的管理網絡連接,這樣的slave既不能聯繫到master也不能聯繫到其他ESXi hosts。這種情況下,slave主機通過存儲網絡來通知master,它已經是隔離狀態。
注意:如果你確保網絡基礎結構具有足夠的冗餘度且至少有一個網絡路徑始終可用,則主機網絡隔離應該在極少數情況下才出現。
在 vSphere HA 羣集發生管理網絡故障時,該羣集中的部分主機可能無法通過管理網絡與其他主機進行通信。一個羣集中可能會出現多個分區。
已分區的羣集會導致虛擬機保護和羣集管理功能降級
1 虛擬機保護。vCenter Server 允許虛擬機打開電源,但僅當虛擬機與負責它的首選主機在相同的分區中運行時,纔會對其進行保護。
2 羣集管理。vCenter Server 只能與羣集中的部分主機進行通信,且只能連接到一臺首選主機。因此,只有在解決分區之後,配置中影響 vSphere HA 的更改才能生效。此故障可能會導致其中一個分區在舊配置下操作,而另一個分區使用新的設置
總結:當 vSphere HA 羣集中的首選主機無法通過管理網絡與從屬主機通信時,首選主機將使用數據存儲檢測信號來確定從屬主機是否出現故障,是否位於網絡分區中,或者是否與網絡隔離。如果從屬主機已停止數據存儲檢測信號,則認爲該從屬主機出現故障,並且其虛擬機已在別處重新啓動。
vCenter Server 使用 vSphere HA 主機狀況報告主機是首選主機還是從屬主機。如果已啓用“HA 狀況”列,則會在 vSphere Client 中主機的摘要選項卡上和羣集或數據中心的“主機列表”視圖中報告此狀況。HA 狀況“正在運行 (master)”表示主機作爲 vSphere HA 首選主機。“已連接 (slave)”狀況表示主機作爲 vSphere HA從屬主機。
注意:如果斷開主機與羣集之間的連接,則所有向該主機註冊的虛擬機均不受 vSphere HA 保護。
vCenter Server 使用接入控制來確保羣集內具有足夠的資源,以便提供故障切換保護。
1、“羣集允許的主機故障數目”接入控制策略:
使用“羣集允許的主機故障數目”接入控制策略,vSphere HA 允許指定數目的主機出現故障,同時可以確保羣集內留有足夠的資源來對這些主機上的虛擬機進行故障切換。
使用“羣集允許的主機故障數目”策略,vSphere HA 以下列方式執行接入控制:
1 插槽大小計算
插槽大小由兩個組件(CPU 和內存)組成。
a vSphere HA 計算 CPU 組件的方法是先獲取每臺已打開電源虛擬機的 CPU 預留,然後再選擇最大值。如果沒有爲虛擬機指定 CPU 預留,則系統會爲其分配一個默認值 32 MHz。
b vSphere HA 計算內存組件的方法是先獲取每臺已打開電源虛擬機的內存預留和內存開銷,然後再選擇最大值。內存預留沒有默認值。
2、使用插槽數目計算當前故障切換容量
計算出插槽大小後,vSphere HA 會確定每臺主機中可用於虛擬機的 CPU 和內存資源。通過使用 vSphere Client 直接連接到主機,然後導航至主機的資源選項卡,可以找到由 vSphere HA 使用的主機資源數據。然後,即可確定每臺主機可以支持的最大插槽數目。爲確定此數目,請用主機的 CPU 資源數除以插槽大小的CPU 組件,然後將結果化整。對主機的內存資源數進行同樣的計算。然後,比較這兩個數字,較小的那個數字即爲主機可以支持的插槽數。
通過確定可以發生故障並仍然有足夠插槽滿足所有已打開電源虛擬機要求的主機的數目(從最大值開始)來計算當前故障切換容量。
附錄:高級運行時信息
如果選擇“羣集允許的主機故障數目”接入控制策略,高級運行時信息鏈接則會在 vSphere Client 中羣集摘要選項卡上的 vSphere HA 區域中顯示。單擊此鏈接以顯示有關羣集的下列信息:
a 插槽大小。
b 羣集內的插槽總數。
c 已使用的插槽數。分配給已打開電源的虛擬機的插槽數目。如果已使用高級選項定義插槽大小的上限,則此數目可以大於已打開電源的虛擬機的數目。這是因爲有些虛擬機會佔用多個插槽。
d 可用插槽數。可用於打開羣集內其他虛擬機的電源的插槽數量。vSphere HA 保留故障切換所需的插槽數量。剩餘的插槽可用於打開新虛擬機電源。
e 故障切換插槽數。除已使用的插槽和可用插槽之外的插槽總數。
f 羣集中已打開電源虛擬機的總數。
g 羣集中的主機總數。
h 羣集中的正常主機總數。處於連接狀態、未進入維護模式而且沒有 vSphere HA 錯誤的主機數目。
示例:使用“羣集允許的主機故障數目”策略的接入控制
示例中展示了使用此接入控制策略計算和使用插槽大小的方式。對羣集進行如下假設:
1 羣集包括三臺主機,每臺主機上可用的 CPU 和內存資源數各不相同。第一臺主機 (H1) 的可用 CPU 資源和可用內存分別爲 9 GHz 和 9 GB,第二臺主機 (H2) 爲 9 GHz 和 6 GB,而第三臺主機 (H3) 則爲 6 GHz和 6 GB。
2 羣集內存在五個已打開電源的虛擬機,其 CPU 和內存要求各不相同。VM1 所需的 CPU 資源和內存分別爲 2 GHz 和 1 GB,VM2 爲 2 GHz 和 1 GB,VM3 爲 1 GHz 和 2 GB,VM4 爲 1 GHz 和 1 GB,VM5 則爲 1 GHz 和 1 GB。
3 “羣集允許的主機故障數目”設置爲 1。
1 比較虛擬機的 CPU 和內存要求,然後選擇最大值,從而計算出插槽大小。
最大 CPU 要求(由 VM1 和 VM2 共享)爲 2 GHz,而最大內存要求(針對 VM3)爲 2 GB。根據上述情況,插槽大小爲 2 GHz CPU 和 2 GB 內存。
2 由此可確定每臺主機可以支持的最大插槽數目。
H1 可以支持四個插槽。H2 可以支持三個插槽(取 9GHz/2GHz 和 6GB/2GB 中較小的一個),H3 也可以支持三個插槽。
3 計算出當前故障切換容量。
最大的主機是 H1,如果它發生故障,羣集內還有六個插槽,足夠供所有五個已打開電源的虛擬機使用。如果 H1 和 H2 都發生故障,羣集內將僅剩下三個插槽,這是不夠用的。因此,當前故障切換容量爲 1。
羣集內可用插槽的數目爲 1(H2 和 H3 上的六個插槽減去五個已使用的插槽)。
建議最好不使用“羣集允許的主機故障數目”策略的接入控制,因爲如果羣集內部的主機硬件性能不一時,就不好確定故障數目了。除非羣集內部的主機硬件性能一致時可以使用此策略。
2、“預留的羣集資源的百分比”接入控制策略
可以將 vSphere HA 配置爲通過預留特定百分比的羣集 CPU 和內存資源來執行接入控制,用於從主機故障中進行恢復。
使用“預留的羣集資源的百分比”接入控制策略,vSphere HA 可確保預留 CPU 和內存資源總量的指定百分比以用於故障切換。
使用“預留的羣集資源”策略,vSphere HA 可強制執行下列接入控制:
1 計算羣集內所有已打開電源虛擬機的總資源要求。
2 計算可用於虛擬機的主機資源總數。
3 計算羣集的“當前的 CPU 故障切換容量”和“當前的內存故障切換容量”。
4 確定“當前的 CPU 故障切換容量”或“當前的內存故障切換容量”是否小於對應的“配置的故障切換容量”(由用戶提供)。如果是,則接入控制不允許執行此操作。
注意 “預留的羣集資源的百分比”接入控制策略還會檢查羣集中是否至少有兩個已啓用 vSphere HA 的主機(不包括正在進入維護模式的主機)。如果只有一個已啓用 vSphere HA 的主機,即使可以使用足夠的資源百分比,也不允許執行此操作。進行此次額外檢查的原因在於如果羣集中只有一個主機,則 vSphere HA 無法進行故障切換。
計算當前故障切換容量
已打開電源的虛擬機的總資源要求由兩個組件組成,即 CPU 和內存。vSphere HA 將計算這些值。
1 CPU 組件值的計算方法是:加總已打開電源虛擬機的 CPU 預留。如果沒有爲虛擬機指定 CPU 預留,則系統會爲其分配一個默認值 256 MHz。
2 內存組件值的計算方法是:加總每臺已打開電源虛擬機的內存預留(以及內存開銷)。
計算出主機的 CPU 和內存資源總和,從而得出虛擬機可使用的主機資源總數。
先用主機 CPU 資源總數減去總 CPU 資源要求,然後再用這個結果除以主機 CPU 資源總數,從而計算出“當前的 CPU 故障切換容量”。“當前的內存故障切換容量”的計算方式與之相似。
示例:使用“預留的羣集資源的百分比”策略的接入控制
示例中展示了使用此接入控制策略計算和使用“當前故障切換容量”的方式。對羣集進行如下假設:
1 羣集包括三臺主機,每臺主機上可用的 CPU 和內存資源數各不相同。第一臺主機 (H1) 的可用 CPU 資源和可用內存分別爲 9 GHz 和 9 GB,第二臺主機 (H2) 爲 9 GHz 和 6 GB,而第三臺主機 (H3) 則爲 6 GHz和 6 GB。
2 羣集內存在五個已打開電源的虛擬機,其 CPU 和內存要求各不相同。VM1 所需的 CPU 資源和內存分別爲 2 GHz 和 1 GB,VM2 爲 2 GHz 和 1 GB,VM3 爲 1 GHz 和 2 GB,VM4 爲 1 GHz 和 1 GB,VM5 則爲 1 GHz 和 1 GB。
3 “配置的故障切換容量”設置爲 25%。
已打開電源的虛擬機的總資源要求爲 7 GHz CPU 和 6 GB 內存。可用於虛擬機的主機資源總數爲 24 GHz CPU和 21 GB 內存。
根據上述情況,“當前的 CPU 故障切換容量”爲 70% ((24GHz - 7GHz)/24GHz)。同樣,“當前的內存故障切換容量”爲 71% ((21GB-6GB)/21GB)。
由於羣集的“配置的故障切換容量”設置爲 25%,因此仍然可使用 45% 的羣集 CPU 資源總數和 46% 的羣集內存資源打開其他虛擬機電源。
3、“指定故障切換主機”接入控制策略
在配置 vSphere HA 時可以將特定主機指定爲故障切換主機。
如果使用“指定故障切換主機”接入控制策略,則在主機發生故障時,vSphere HA 將嘗試在指定的故障切換主機之一上重新啓動其虛擬機
注意 如果使用“指定故障切換主機”接入控制策略,並指定多個故障切換主機,則 DRS 不會對故障切換主機進行負載平衡
vSphere Client 中羣集的摘要選項卡的 vSphere HA 區域內顯示了“當前故障切換主機”。每個主機旁邊的狀態圖標可以是綠色、黃色或紅色。
1 綠色。主機處於連接狀態、未進入維護模式且沒有 vSphere HA 錯誤。主機上沒有任何已打開電源的虛擬機。
2 黃色。主機處於連接狀態、未進入維護模式且沒有 vSphere HA 錯誤。但是,主機上駐留了已打開電源的虛擬機。
3 紅色。主機已斷開連接、處於維護模式或存在 vSphere HA 錯誤。
vSphere HA 羣集的要求
在設置 vSphere HA 羣集之前,應滿足以下要求:
1 所有主機必須獲得 vSphere HA 許可。
2 羣集中至少需要有兩臺主機。
3 需要爲所有主機配置靜態 IP 地址。
4 所有主機應該至少有一個公共的管理網絡,最佳做法則至少需要有兩個。
5 版本 4.0 及更高版本的 ESXi 主機 - 已選中了複選框的 VMkernel 網絡。
6 爲了確保任何虛擬機都可以在羣集內的任何主機上運行,所有主機都應該可以訪問相同的虛擬機網絡和數據存儲。同樣,虛擬機必須位於共享而非本地存儲器上,否則在主機出現故障時它們將無法進行故障切換。
注意 vSphere HA 使用數據存儲信號檢測來區分已分區的主機、已隔離的主機和出現故障的主機。相應地,必須確保爲 vSphere HA 預留的數據存儲始終立即可用。
7 爲了使虛擬機監控工作,必須安裝 VMware Tools。
總結:vSphere HA 羣集的要求和Vmotion的要要求類似。
創建 vSphere HA 羣集
可以爲羣集啓用 vSphere HA。啓用了 vSphere HA 的羣集是 Fault Tolerance 的必備條件。VMware 建議你首先創建空羣集。在規劃好羣集的資源和網絡架構之後,可以使用 vSphere Client 將主機添加到羣集,並指定羣集的 vSphere HA 設置。
步驟
1 選擇“主機和羣集”視圖。
2 右鍵單擊清單樹中的數據中心,然後單擊新建羣集。
3 完成新建羣集嚮導。
此時不要啓用 vSphere HA(或 DRS)。
4 單擊完成,關閉嚮導並創建羣集。
此時創建了一個空羣集。
5 根據你的羣集資源和網絡架構計劃,使用 vSphere Client 將主機添加到羣集。
6 右鍵單擊羣集,然後單擊編輯設置。
在羣集的“設置”對話框中,你可以修改羣集的 vSphere HA(和其他)設置。
7 在“羣集功能”頁上,選擇打開 vSphere HA。
8 根據需要爲羣集配置 vSphere HA 設置。
a 主機監控狀態
b 接入控制
c 虛擬機選項
d 虛擬機監控
e 數據存儲檢測信號
9 單擊確定關閉羣集的“設置”對話框。
1、羣集功能
新建羣集嚮導中的第一個面板可用於爲羣集指定基本選項。
在該面板中,可以指定羣集名稱並選擇一個或兩個羣集功能。
名稱指定羣集的名稱。該名稱顯示在 vSphere Client 清單面板中。必須指定一個名
稱,才能繼續創建羣集。
打開 vSphere HA 如果選中此複選框,則在主機出現故障時,虛擬機將在羣集內的其他主機上重新啓動。要在羣集內的任何虛擬機上啓用 vSphere Fault Tolerance,必須打開vSphere HA。
打開 vSphere DRS 如果選中此複選框,則 DRS 將平衡整個羣集的虛擬機負載。即使虛擬機受 HA保護,DRS 也會放置並遷移虛擬機。
2、主機監控狀態
創建羣集後,請啓用主機監控以便 vSphere HA 可以監控由羣集內每個主機上的 vSphere HA 代理髮送的檢測信號。
如果選擇啓用主機監控,則會檢查羣集內的每臺主機以確保其正在運行。如果某臺主機出現故障,則會在另一臺主機上重新啓動虛擬機。主機監控還是 vSphere Fault Tolerance 恢復進程正常運行所必需的。
注意:如果需要執行可能會觸發主機隔離響應的網絡維護,VMware 建議首先禁用主機監控以掛起 vSphereHA。完成維護後,請重新啓用“主機監控”。
3、啓用或禁用接入控制
通過新建羣集嚮導,可以爲 vSphere HA 羣集啓用或禁用接入控制,並選擇有關其執行方式的策略。可以爲 vSphere HA 羣集啓用或禁用接入控制。
啓用:禁止違反可用性限制的打開虛擬機電源操作啓用接入控制並執行可用性限制,同時保留故障切換容量。不允許在虛擬機上執行違反可用性限制的任何操作。
禁用:允許違反可用性限制的打開虛擬機電源操作
禁用接入控制。例如,即使打開虛擬機電源會造成故障切換容量不足,仍然可執行該操作。執行該操作時,不會顯示任何警告,而且羣集不會變爲紅色。如果羣集的故障切換容量不足,vSphere HA 仍可以執行故障切換,並使用“虛擬機重新啓動優先級”設置來確定要先打開電源的虛擬機。
如果啓用了接入控制,vSphere HA 會提供三個強制接入控制的策略。
1 羣集允許的主機故障數量
2 作爲故障切換空間容量保留的羣集資源的百分比
3 指定故障切換主機
4、虛擬機選項
默認虛擬機設置控制虛擬機的重新啓動順序(虛擬機重新啓動優先級)以及在主機之間失去網絡連接時 vSphereHA 的響應方式(主機隔離響應)。
這些設置適用於主機發生故障或主機隔離時羣集內的所有虛擬機。此外,也可以爲特定虛擬機配置異常。
虛擬機重新啓動優先級設置
虛擬機重新啓動優先級確定主機發生故障後虛擬機的重新啓動相對順序。這些虛擬機在新主機上按順序重新啓動,首先啓動優先級最高的虛擬機,然後是那些低優先級的虛擬機,直到重新啓動所有虛擬機或者沒有更多的可用羣集資源爲止。如果主機故障數目超過了接入控制所允許的數目,則系統可能會等到有更多資源可用時再重新啓動優先級較低的虛擬機。如果指定了一個故障切換主機,則虛擬機將在該故障切換主機上重新啓動。
此設置的值爲:已禁用、低、中等(默認)和高。如果選擇“已禁用”,則會爲虛擬機禁用 vSphere HA,這意味着當其主機出現故障時不會在其他 ESXi 主機上重新啓動虛擬機。“已禁用”設置不會對虛擬機監控造成影響,這意味着當正常運行的主機上的某個虛擬機出現故障時,會在同一主機上重置該虛擬機。你可更改各個虛擬機的這種設置。
虛擬機的重新啓動優先級設置因用戶需求而有所不同。VMware 建議爲提供最重要服務的虛擬機分配較高的重新啓動優先級。
主機隔離響應設置
主機隔離響應確定當 vSphere HA 羣集內的某個主機失去其管理網絡連接但仍繼續運行時出現的情況。
主機會執行其隔離響應。響應包括:保持打開電源(默認值)、關閉電源和關機。還可以爲各個虛擬機自定義此屬性。
要使用“關機”設置,必須在虛擬機的客戶機操作系統中安裝 VMware Tools。將虛擬機關機的優點在於可以保留其狀況。關機操作優於關閉虛擬機電源操作,關閉虛擬機電源不會將最近的更改刷新到磁盤中,也不會提交事務。
5、虛擬機和應用程序監控
如果在設置的時間內沒有收到單個虛擬機的 VMware Tools 檢測信號,虛擬機監控將重新啓動該虛擬機。同樣,如果沒有收到虛擬機正在運行的應用程序的檢測信號,應用程序監控也可以重新啓動該虛擬機。可以啓用這些功能,並配置 vSphere HA 監控無響應時的敏感度。
啓用虛擬機監控後,虛擬機監控服務(使用 VMware Tools)將通過檢查正在客戶機內運行的 VMware Tools進程的常規檢測信號和 I/O 活動來評估羣集內的每個虛擬機是否正在運行。如果沒有收到檢測信號或 I/O 活動,則很有可能是客戶機操作系統出現故障,或未分配給 VMware Tools 用來完成任務的時間。在這種情況下,虛擬機監控服務會先確定虛擬機已發生故障,然後決定重新引導虛擬機以還原服務。
你可以配置監控敏感度的級別。高敏感度監控可以更快得出已發生故障的結論。然而,如果受監控的虛擬機或應用程序實際上仍在運行,但由於資源限制等因素導致未收到檢測信號,高敏感度監控可能會錯誤地認爲此虛擬機發生了故障。低敏感度監控會延長實際故障和虛擬機重置之間服務中斷的時間。請選擇一個有效折衷滿足需求的選項。
二、vSphere Fault Tolerance 提供連續可用性
vSphere HA 通過在主機出現故障時重新啓動虛擬機來爲虛擬機提供基本級別的保護。因此它的缺點就是存在宕機時間,可能是幾分鐘也可能是十幾分鍾。
可以爲虛擬機啓用 vSphere Fault Tolerance,以獲得比 vSphere HA 所提供的級別更高的可用性和數據保護,從而確保業務連續性。
vSphere Fault Tolerance 通過創建和維護與主虛擬機相同,且可在發生故障切換時隨時替換主虛擬機的輔助虛擬機,來確保虛擬機的連續可用性。
要獲取 Fault Tolerance 的最佳結果,應先熟悉其工作原理、如何爲羣集和虛擬機啓用它及其最佳使用方法。
可以爲大多數任務關鍵虛擬機啓用 Fault Tolerance。並會創建一個重複虛擬機(稱爲輔助虛擬機),該虛擬機會以虛擬鎖步(vLockstep)方式隨主虛擬機一起運行。VMware vLockstep 可捕獲主虛擬機上發生的輸入和事件,並將這些輸入和事件發送到正在另一主機上運行的輔助虛擬機。使用此信息,輔助虛擬機的執行將等同於主虛擬機的執行。因爲輔助虛擬機與主虛擬機一起以虛擬鎖步方式運行,所以它可以無中斷地接管任何點處的執行,從而提供容錯保護。
如下圖所示:Fault Tolerance 對中的主虛擬機和輔助虛擬機
主虛擬機和輔助虛擬機可持續交換檢測信號。此交換使得虛擬機對中的虛擬機能夠監控彼此的狀態,以確保持續提供 Fault Tolerance 保護。如果運行主虛擬機的主機發生故障,系統將會執行透明故障切換,此時會立即啓用輔助虛擬機以替換主虛擬機,並將啓動新的輔助虛擬機,同時在幾秒鐘內重新建立 Fault Tolerance 冗餘。如果運行輔助虛擬機的主機發生故障,則該主機也會立即被替換。在任一情況下,用戶都不會遭遇服務中斷和數據丟失的情況。
主虛擬機及其輔助副本不允許在相同主機上運行。此限制可確保主機故障而導致兩個虛擬機都丟失。
Fault Tolerance 不支持的 vSphere 功能
容錯虛擬機不支持以下 vSphere 功能。
1 快照。在虛擬機上啓用 Fault Tolerance 前,必須移除快照。此外,不可能對已啓用 Fault Tolerance的虛擬機執行快照。
2 Storage vMotion。不能爲已啓用 Fault Tolerance 的虛擬機調用 Storage vMotion。要遷移存儲器,應當先暫時關閉 Fault Tolerance,然後再執行 Storage vMotion 操作。在完成遷移之後,可以重新打開 Fault Tolerance。
3 鏈接克隆。不能在爲鏈接克隆的虛擬機上啓用 Fault Tolerance,也不能從啓用了 Fault Tolerance 的虛擬機創建鏈接克隆。
4 虛擬機備份。不能使用 Storage API for Data Protection、VMware Data Recovery 或需要使用虛擬機快照(如 ESXi 所執行的那樣)的類似備份產品來備份啓用了 FT 的虛擬機。要以這種方式備份容錯虛擬機,首先必須禁用 FT,然後在執行備份後重新啓用 FT。基於存儲陣列的快照不影響 FT。
將 Fault Tolerance 功能與 DRS 配合使用
啓用 Enhanced vMotion Compatibility (EVC) 功能時,可以將 vSphere Fault Tolerance 與 vSphere Distributed Resource Scheduler (DRS) 配合使用。此過程不但可使容錯虛擬機受益於更好的初始放置位置,還可以將其納入羣集的負載平衡計算中。
當羣集啓用了 EVC 時,DRS 將爲容錯虛擬機提出初始放置位置建議、在重新平衡羣集負載期間移動這些虛擬機,並允許你爲主虛擬機分配 DRS 自動化級別(輔助虛擬機總是採用與其關聯的主虛擬機相同的設置。)
在初始放置或負載平衡期間,DRS 放置在主機上的主虛擬機或輔助虛擬機的數目不會超過一個固定的數目。此限制由高級選項 das.maxftvmsperhost 控制。此選項的默認值爲 4。但是,如果將此選項設置爲 0,DRS 將忽略此限制。
Fault Tolerance要求:
以下是使用 vSphere Fault Tolerance 之前需要了解的羣集、主機和虛擬機要求。
Fault Tolerance 的羣集要求:
在使用 Fault Tolerance 之前,必須滿足以下羣集要求。
1 主機證書檢查功能已啓用。稍後會講到如何查看。
2 至少有兩臺通過 FT 認證的主機運行相同的 Fault Tolerance 版本號或主機內部版本號(即相同版本的ESXi包括補丁程序)。Fault Tolerance 版本號顯示在 vSphere Client 中主機的摘要選項卡上。
3 ESXi 主機可以訪問相同的虛擬機數據存儲(SAN、NAS、ISCSI)和網絡。請參考後面的講課資料
4 配置了 Fault Tolerance 日誌記錄和 vMotion 網絡。請參考後面的講課資料
5 vSphere HA 羣集已創建並啓用。請參見 “創建 vSphere HA 羣集”。打開要容錯虛擬機電源或者將主機添加到已支持容錯虛擬機的羣集之前,必須啓用 vSphere HA。
Fault Tolerance 的主機要求:
在使用 Fault Tolerance 之前,必須滿足以下主機要求。
1 主機上的處理器必須來自與 FT 兼容的處理器組。此外,強烈建議主機的處理器之間也相互兼容。有關受支持處理器的信息,網址爲 http://kb.vmware.com/kb/1008027。
2 在配置每臺主機時,都必須在 BIOS 中啓用硬件虛擬化 (HV)。
注意:當主機無法支持 Fault Tolerance 時,可在 vSphere Client 中主機的摘要選項卡上查看原因。單擊已配置 FT 的主機字段旁邊的藍色標題圖標,查看主機不符合的 Fault Tolerance 要求的列表。
Fault Tolerance 的虛擬機要求
在使用 Fault Tolerance 之前,必須滿足以下虛擬機要求。
1 虛擬機必須存儲在虛擬 RDM 或厚置備的虛擬機磁盤 (VMDK) 文件中。如果虛擬機存儲在精簡置備的 VMDK文件中,則在嘗試啓用 Fault Tolerance 時將會出現一則指示必須轉換 VMDK 文件的消息。要執行該轉換,必須關閉虛擬機電源。
2 虛擬機文件必須存儲在共享存儲器上。可接受共享的存儲解決方案包括光纖通道、(硬件和軟件)iSCSI、NFS 和 NAS。
3 只有帶有單個 vCPU 的虛擬機才能與 Fault Tolerance 功能兼容。
具體操作步驟如下:
爲 Fault Tolerance 準備羣集和主機:
要爲羣集啓用Fault Tolerance,必須滿足此功能的必備條件,然後在主機上執行特定的配置步驟。完成這些步驟並創建羣集後,還可以檢查配置是否符合啓用 Fault Tolerance 的要求。
爲羣集啓用 Fault Tolerance 之前,應當完成的任務包括:
1 啓用主機證書檢查(如果你要從先前版本的 vCenter Server 升級)。
2 爲每臺主機配置網絡。
3 創建 vSphere HA 羣集,添加主機,並檢查合規性。
在爲羣集和主機準備好 Fault Tolerance 之後,便可爲虛擬機打開 Fault Tolerance
1、啓用主機證書檢查
使用主機證書檢查,可以將 ESXi 主機配置爲相互驗證身份,確保維護一個更安全的環境。對於容錯虛擬機所在的 ESXi 主機來說,主機證書檢查是必需的。
步驟
1 將 vSphere Client 連接到 vCenter Server。
2 選擇系統管理,然後選擇vCenter Server 設置。此時會出現 vCenter Server 設置窗口。
3 在左窗格中單擊 SSL 設置。
4 選中 vCenter 需要已驗證的主機 SSL 證書框。
5 單擊確定。
2、爲主機配置網絡
在要添加到 vSphere HA 羣集的每臺主機上,必須配置兩個不同的網絡交換機,以便讓主機支持Vmotion也能支持 vSphereFault Tolerance。
注:每臺ESXi主機上至少要有三塊網卡,一塊用於與vcenter通信及虛擬機橋接收;另一塊用於Vmotion通信用;第三塊用於Fault Tolerance 日誌記錄使用
有關用於Vmotion端口組請參考Vmotion遷移的文檔。
前提條件
需要多個千兆位網絡接口卡 (NIC)。對於支持 Fault Tolerance 功能的每臺主機,最少需要兩個物理千兆位網卡。例如,你需要一個網卡專門用於 Fault Tolerance 日誌記錄,另一個則專門用於 vMotion。VMware 建議具備三個或更多網卡來確保可用性。
注意 vMotion 和 FT 日誌記錄網卡必須位於不同的子網上,並且 FT 日誌記錄網卡不支持 IPv6。
創建專門用於 Fault Tolerance 日誌記錄的端口組:
步驟
1 將 vSphere Client 連接到 vCenter Server。
2 在 vCenter Server 清單中,選擇主機,然後單擊配置選項卡。
3 選擇硬件下的網絡,然後單擊添加網絡鏈接。此時會出現添加網絡嚮導。
4 選擇連接類型下的 VMkernel,然後單擊下一步。
5 選擇創建vsphere標準交換機,然後單擊下一步。
6 提供交換機的標籤。
7 選擇將此端口組用於 Fault Tolerance 日誌記錄,然後單擊下一步。
8 提供 IP 地址和子網掩碼,然後單擊下一步。
9 單擊完成。
在其他ESXi主機上進行相同的操作完成用於 Fault Tolerance 日誌記錄的端口組。
要確認是否在主機上成功啓用了 vMotion 和 Fault Tolerance,請在 vSphere Client 中查看該主機的摘要選項卡。在“常規”窗格中,vMotion 已啓用和已配置 FT 的主機字段均應顯示爲“是”。
3、創建 vSphere HA 羣集和檢查合規性
vSphere Fault Tolerance 在 vSphere HA 羣集環境中使用。在每臺主機上配置網絡之後,創建 vSphere HA 羣集並向其中添加主機。可以查看羣集配置是否正確以及是否符合成功啓用 Fault Tolerance 的要求。
步驟
1 將 vSphere Client 連接到 vCenter Server。
2 創建羣集並向其中添加主機
3 在 vCenter Server 清單中,選擇羣集,然後單擊配置文件合規情況選項卡。
4 單擊立即檢查合規性運行合規性測試。
要查看運行的測試,請單擊描述。
合規性測試的結果將顯示在屏幕的底部。主機將標記爲“合規”或“不合規”。
爲虛擬機提供 Fault Tolerance:
在採取了爲羣集啓用 vSphere Fault Tolerance 所需的全部步驟之後,可以爲各個虛擬機打開 Fault Tolerance
功能。
如果符合下列任一情況,則用於打開 Fault Tolerance 的選項將不可用並變成灰色:
1 虛擬機所駐留的主機並未獲得使用該功能的許可證。
2 虛擬機所駐留的主機處於維護模式或待機模式。
3 虛擬機已斷開連接或被孤立(無法訪問其 .vmx 文件)。
4 用戶沒有打開此功能的權限。
爲虛擬機打開 Fault Tolerance
可以通過 vSphere Client 打開 vSphere Fault Tolerance
步驟
1 選擇“主機和羣集”視圖。
2 右鍵單擊一個虛擬機並選擇 Fault Tolerance > 打開 Fault Tolerance。
如果選擇多個虛擬機,則 Fault Tolerance 菜單處於禁用狀態。一次只能爲一個虛擬機打開 Fault Tolerance。
特定的虛擬機將指定爲主虛擬機,並在另一臺主機上建立輔助虛擬機。現在,主虛擬機已啓用了容錯功能。
查看有關容錯虛擬機的信息
可以使用 vSphere Client 查看 vCenter Server 清單中的容錯虛擬機。
注意:不能從輔助虛擬機禁用 Fault Tolerance。
主虛擬機的摘要選項卡中顯示了 vSphere Fault Tolerance 區域(窗格),其中包含有關虛擬機的信息。