高可用性可以在以下幾個層面實現:
1 應用層高可用性:如實現mysql、oracle數據庫應用程序的群集,主要是判斷mysql、oracle應用程序是否停止運行。
2 操作系統高可用性:如windows的故障轉移群集(windows failover clusteringWFC)。
3 虛擬化層的高可用性:如vsphere high availability(HA)和vsphere faulttolerance(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)以與 vCenterServer 通信并監控其他主機、從屬主機(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 接入控制vSphereHA特性,這些特性不需要master的協調。這些特性包括VMHealth 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 群集中的首選主機無法通過管理網絡與從屬主機通信時,首選主機將使用數據存儲檢測信號來確定從屬主機是否出現故障,是否位于網絡分區中,或者是否與網絡隔離。如果從屬主機已停止數據存儲檢測信號,則認為該從屬主機出現故障,并且其虛擬機已在別處重新啟動。
vCenterServer 使用 vSphere HA 主機狀況報告主機是首選主機還是從屬主機。如果已啟用“HA 狀況”列,則會在 vSphere Client 中主機的摘要選項卡上和群集或數據中心的“主機列表”視圖中報告此狀況。HA 狀況“正在運行 (master)”表示主機作為 vSphere HA 首選主機?!耙堰B接 (slave)”狀況表示主機作為 vSphere HA從屬主機。
注意:如果斷開主機與群集之間的連接,則所有向該主機注冊的虛擬機均不受vSphere HA 保護。
vCenterServer 使用接入控制來確保群集內具有足夠的資源,以便提供故障切換保護。
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 預留,則系統會為其分配一個默認值 32 MHz。
2 內存組件值的計算方法是:加總每臺已打開電源虛擬機的內存預留(以及內存開銷)。
計算出主機的 CPU 和內存資源總和,從而得出虛擬機可使用的主機資源總數。
先用主機 CPU 資源總數減去總 CPU 資源要求,然后再用這個結果除以主機 CPU 資源總數,從而計算出“當前的 CPU 故障切換容量”?!爱斍暗膬却婀收锨袚Q容量”的計算方式與之相似。
示例:使用“預留的群集資源的百分比”策略的接入控制
示例中展示了使用此接入控制策略計算和使用“當前故障切換容量”的方式。對群集進行如下假設:
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 內存??捎糜谔摂M機的主機資源總數為24 GHz CPU和 21 GB 內存。
根據上述情況,“當前的 CPU 故障切換容量”為70% ((24GHz - 7GHz)/24GHz)。同樣,“當前的內存故障切換容量”為 71% ((21GB-6GB)/21GB)。
由于群集的“配置的故障切換容量”設置為 25%,因此仍然可使用 45% 的群集 CPU 資源總數和 46% 的群集內存資源打開其他虛擬機電源。
3、“指定故障切換主機”接入控制策略
在配置 vSphere HA 時可以將特定主機指定為故障切換主機。
如果使用“指定故障切換主機”接入控制策略,則在主機發生故障時,vSphere HA 將嘗試在指定的故障切換主機之一上重新啟動其虛擬機
注意 如果使用“指定故障切換主機”接入控制策略,并指定多個故障切換主機,則 DRS 不會對故障切換主機進行負載平衡
vSphereClient 中群集的摘要選項卡的 vSphere HA 區域內顯示了“當前故障切換主機”。每個主機旁邊的狀態圖標可以是綠色、×××或紅色。
1 綠色。主機處于連接狀態、未進入維護模式且沒有vSphere HA 錯誤。主機上沒有任何已打開電源的虛擬機。
2 ×××。主機處于連接狀態、未進入維護模式且沒有vSphere HA 錯誤。但是,主機上駐留了已打開電源的虛擬機。
3 紅色。主機已斷開連接、處于維護模式或存在vSphere HA 錯誤。
vSphere HA 群集的要求
在設置 vSphereHA 群集之前,應滿足以下要求:
1 所有主機必須獲得 vSphereHA 許可。
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 群集啟用或禁用接入控制,并選擇有關其執行方式的策略??梢詾?/span>vSphere HA 群集啟用或禁用接入控制。
啟用:禁止違反可用性限制的打開虛擬機電源操作啟用接入控制并執行可用性限制,同時保留故障切換容量。不允許在虛擬機上執行違反可用性限制的任何操作。
禁用:允許違反可用性限制的打開虛擬機電源操作
禁用接入控制。例如,即使打開虛擬機電源會造成故障切換容量不足,仍然可執行該操作。執行該操作時,不會顯示任何警告,而且群集不會變為紅色。如果群集的故障切換容量不足,vSphere HA 仍可以執行故障切換,并使用“虛擬機重新啟動優先級”設置來確定要先打開電源的虛擬機。
如果啟用了接入控制,vSphere HA 會提供三個強制接入控制的策略。
1 群集允許的主機故障數量
2 作為故障切換空間容量保留的群集資源的百分比
3 指定故障切換主機
4、虛擬機選項
默認虛擬機設置控制虛擬機的重新啟動順序(虛擬機重新啟動優先級)以及在主機之間失去網絡連接時vSphereHA 的響應方式(主機隔離響應)。
這些設置適用于主機發生故障或主機隔離時群集內的所有虛擬機。此外,也可以為特定虛擬機配置異常。
虛擬機重新啟動優先級設置
虛擬機重新啟動優先級確定主機發生故障后虛擬機的重新啟動相對順序。這些虛擬機在新主機上按順序重新啟動,首先啟動優先級最高的虛擬機,然后是那些低優先級的虛擬機,直到重新啟動所有虛擬機或者沒有更多的可用群集資源為止。如果主機故障數目超過了接入控制所允許的數目,則系統可能會等到有更多資源可用時再重新啟動優先級較低的虛擬機。如果指定了一個故障切換主機,則虛擬機將在該故障切換主機上重新啟動。
此設置的值為:已禁用、低、中等(默認)和高。如果選擇“已禁用”,則會為虛擬機禁用 vSphere HA,這意味著當其主機出現故障時不會在其他ESXi 主機上重新啟動虛擬機?!耙呀谩痹O置不會對虛擬機監控造成影響,這意味著當正常運行的主機上的某個虛擬機出現故障時,會在同一主機上重置該虛擬機。你可更改各個虛擬機的這種設置。
虛擬機的重新啟動優先級設置因用戶需求而有所不同。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 FaultTolerance,以獲得比 vSphere HA 所提供的級別更高的可用性和數據保護,從而確保業務連續性。
vSphere FaultTolerance 通過創建和維護與主虛擬機相同,且可在發生故障切換時隨時替換主虛擬機的輔助虛擬機,來確保虛擬機的連續可用性。
要獲取 FaultTolerance 的最佳結果,應先熟悉其工作原理、如何為群集和虛擬機啟用它及其最佳使用方法。
可以為大多數任務關鍵虛擬機啟用 FaultTolerance。并會創建一個重復虛擬機(稱為輔助虛擬機),該虛擬機會以虛擬鎖步(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 操作。在完成遷移之后,可以重新打開 FaultTolerance。
3 鏈接克隆。不能在為鏈接克隆的虛擬機上啟用Fault Tolerance,也不能從啟用了 Fault Tolerance 的虛擬機創建鏈接克隆。
4 虛擬機備份。不能使用Storage API for Data Protection、VMware Data Recovery 或需要使用虛擬機快照(如 ESXi 所執行的那樣)的類似備份產品來備份啟用了 FT 的虛擬機。要以這種方式備份容錯虛擬機,首先必須禁用FT,然后在執行備份后重新啟用 FT?;诖鎯﹃嚵械目煺詹挥绊?FT。
將 Fault Tolerance 功能與 DRS 配合使用
啟用 EnhancedvMotion Compatibility (EVC) 功能時,可以將 vSphere Fault Tolerance 與 vSphere Distributed Resource Scheduler (DRS) 配合使用。此過程不但可使容錯虛擬機受益于更好的初始放置位置,還可以將其納入群集的負載平衡計算中。
當群集啟用了 EVC 時,DRS 將為容錯虛擬機提出初始放置位置建議、在重新平衡群集負載期間移動這些虛擬機,并允許你為主虛擬機分配DRS 自動化級別(輔助虛擬機總是采用與其關聯的主虛擬機相同的設置。)
在初始放置或負載平衡期間,DRS 放置在主機上的主虛擬機或輔助虛擬機的數目不會超過一個固定的數目。此限制由高級選項das.maxftvmsperhost 控制。此選項的默認值為 4。但是,如果將此選項設置為 0,DRS 將忽略此限制。
Fault Tolerance要求:
以下是使用 vSphere FaultTolerance 之前需要了解的群集、主機和虛擬機要求。
FaultTolerance 的群集要求:
在使用 FaultTolerance 之前,必須滿足以下群集要求。
1 主機證書檢查功能已啟用。稍后會講到如何查看。
2 至少有兩臺通過 FT 認證的主機運行相同的 Fault Tolerance 版本號或主機內部版本號(即相同版本的ESXi包括補丁程序)。FaultTolerance 版本號顯示在 vSphereClient 中主機的摘要選項卡上。
3 ESXi 主機可以訪問相同的虛擬機數據存儲(SAN、NAS、ISCSI)和網絡。請參考后面的講課資料
4 配置了 Fault Tolerance 日志記錄和 vMotion 網絡。請參考后面的講課資料
5 vSphere HA 群集已創建并啟用。請參見“創建 vSphere HA 群集”。打開要容錯虛擬機電源或者將主機添加到已支持容錯虛擬機的群集之前,必須啟用 vSphere HA。
FaultTolerance 的主機要求:
在使用 FaultTolerance 之前,必須滿足以下主機要求。
1 主機上的處理器必須來自與 FT兼容的處理器組。此外,強烈建議主機的處理器之間也相互兼容。有關受支持處理器的信息,網址為 http://kb.vmware.com/kb/1008027。
2 在配置每臺主機時,都必須在 BIOS中啟用硬件虛擬化 (HV)。
注意:當主機無法支持 Fault Tolerance 時,可在 vSphere Client 中主機的摘要選項卡上查看原因。單擊已配置FT 的主機字段旁邊的藍色標題圖標,查看主機不符合的Fault Tolerance 要求的列表。
FaultTolerance 的虛擬機要求
在使用 FaultTolerance 之前,必須滿足以下虛擬機要求。
1 虛擬機必須存儲在虛擬 RDM或厚置備的虛擬機磁盤 (VMDK) 文件中。如果虛擬機存儲在精簡置備的VMDK文件中,則在嘗試啟用Fault Tolerance 時將會出現一則指示必須轉換 VMDK文件的消息。要執行該轉換,必須關閉虛擬機電源。
2 虛擬機文件必須存儲在共享存儲器上??山邮芄蚕淼拇鎯鉀Q方案包括光纖通道、(硬件和軟件)iSCSI、NFS 和 NAS。
3 只有帶有單個 vCPU的虛擬機才能與 Fault Tolerance 功能兼容。
具體操作步驟如下:
為 Fault Tolerance 準備群集和主機:
要為群集啟用FaultTolerance,必須滿足此功能的必備條件,然后在主機上執行特定的配置步驟。完成這些步驟并創建群集后,還可以檢查配置是否符合啟用 Fault Tolerance 的要求。
為群集啟用 FaultTolerance 之前,應當完成的任務包括:
1 啟用主機證書檢查(如果你要從先前版本的vCenter Server 升級)。
2 為每臺主機配置網絡。
3 創建 vSphere HA 群集,添加主機,并檢查合規性。
在為群集和主機準備好 FaultTolerance 之后,便可為虛擬機打開 FaultTolerance
1、啟用主機證書檢查
使用主機證書檢查,可以將 ESXi 主機配置為相互驗證身份,確保維護一個更安全的環境。對于容錯虛擬機所在的ESXi 主機來說,主機證書檢查是必需的。
步驟
1 將 vSphere Client 連接到 vCenter Server。
2 選擇系統管理,然后選擇vCenter Server 設置。此時會出現 vCenter Server 設置窗口3 在左窗格中單擊 SSL 設置。
4 選中 vCenter 需要已驗證的主機 SSL 證書框。
5 單擊確定。
2、為主機配置網絡
在要添加到 vSphere HA 群集的每臺主機上,必須配置兩個不同的網絡交換機,以便讓主機支持Vmotion也能支持 vSphereFaultTolerance。
注:每臺ESXi主機上至少要有三塊網卡,一塊用于與vcenter通信及虛擬機橋接收;另一塊用于Vmotion通信用;第三塊用于Fault Tolerance 日志記錄使用
有關用于Vmotion端口組請參考Vmotion遷移的文檔。
前提條件
需要多個千兆位網絡接口卡 (NIC)。對于支持 Fault Tolerance 功能的每臺主機,最少需要兩個物理千兆位網卡。例如,你需要一個網卡專門用于 Fault Tolerance 日志記錄,另一個則專門用于 vMotion。VMware 建議具備三個或更多網卡來確??捎眯?。
注意 vMotion 和 FT 日志記錄網卡必須位于不同的子網上,并且 FT 日志記錄網卡不支持 IPv6。
創建專門用于 FaultTolerance 日志記錄的端口組:
步驟
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 FaultTolerance 在 vSphere HA 群集環境中使用。在每臺主機上配置網絡之后,創建vSphere HA 群集并向其中添加主機??梢圆榭慈杭渲檬欠裾_以及是否符合成功啟用Fault Tolerance 的要求。
步驟
1 將 vSphere Client 連接到 vCenter Server。
2 創建群集并向其中添加主機
3 在 vCenter Server 清單中,選擇群集,然后單擊配置文件合規情況選項卡。
4 單擊立即檢查合規性運行合規性測試。
要查看運行的測試,請單擊描述。
合規性測試的結果將顯示在屏幕的底部。主機將標記為“合規”或“不合規”。
為虛擬機提供 Fault Tolerance:
在采取了為群集啟用 vSphere FaultTolerance 所需的全部步驟之后,可以為各個虛擬機打開 Fault Tolerance
功能。
如果符合下列任一情況,則用于打開 Fault Tolerance 的選項將不可用并變成灰色:
1 虛擬機所駐留的主機并未獲得使用該功能的許可證。
2 虛擬機所駐留的主機處于維護模式或待機模式。
3 虛擬機已斷開連接或被孤立(無法訪問其.vmx 文件)。
4 用戶沒有打開此功能的權限。
為虛擬機打開 Fault Tolerance
可以通過 vSphereClient 打開 vSphere FaultTolerance
步驟
1 選擇“主機和群集”視圖。
2 右鍵單擊一個虛擬機并選擇Fault Tolerance > 打開 Fault Tolerance。
如果選擇多個虛擬機,則 FaultTolerance 菜單處于禁用狀態。一次只能為一個虛擬機打開 Fault Tolerance。
特定的虛擬機將指定為主虛擬機,并在另一臺主機上建立輔助虛擬機?,F在,主虛擬機已啟用了容錯功能。
查看有關容錯虛擬機的信息
可以使用 vSphereClient 查看 vCenterServer 清單中的容錯虛擬機。
注意:不能從輔助虛擬機禁用 FaultTolerance。
主虛擬機的摘要選項卡中顯示了 vSphere FaultTolerance 區域(窗格),其中包含有關虛擬機的信息。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。