vSphere HA 原理與配置

?

內容預覽:

  1. vSphere HA 概述

  2. vSphere HA 提供的保護級別

  3. vSphere HA運行原理

  4. vSphere HA 故障支持場景

  5.?vSphere HA接入控制策略

  6. 如何選擇vSphere HA 的接入控制策略?

  7.? 配置vSphere HA的基礎條件

  8.? 虛擬機組件保護

  9. 開啟vSphere HA功能

?

?

?1. vSphere HA 概述

? ? HA,High Availability,中文翻譯為高可用。
? ? 其運行機制是監控群集中的ESXi主機及虛擬機,通過配置合適的策略,當群集中的ESXi主機或虛擬機發生故障,可以自動到其他的ESXi主機上進行重新啟動,最大限度保證重要服務不中斷。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?

?

2. vSphere HA 提供的保護級別

? ? 2.1 針對ESXi主機硬件故障的保護(HA和FT技術)
? ? 2.2 針對零停機計劃內的維護(vMotion)
? ? 2.3 針對ESXi主機計劃外停機和災難的保護(HA和FT技術)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?

3. vSphere HA運行原理

  3.1. HA運行的基本原理

  當在群集啟用HA時,系統會自動選舉一臺ESXi主機作為首選主機(也稱為Master主機),其余的ESXi主機作為從屬主機(也稱為Slave主機)。Master主機與vCenter Server進行通信,并監控所有受保護的從屬主機(也稱為Slave主機)的狀態。Master主機使用管理網絡和數據存儲檢測信號來確定故障的類型。當不同類型的ESXi主機故障時,Master主機檢測并相應地處理故障,讓虛擬機重新啟動。當Master主機本身出現故障時,Slave主機會重新選舉產生Master主機。

  3.2. Master/Slave選舉機制
  3.2.1). Master/Slave主機的選舉是存儲最多的ESXi主機,如果ESXi主機的存儲相同時,會使用MOID(Managed Objective ID,數值大的為Master,)來進行選舉。當Master主機產生后,會通告給其他Slave主機。當選舉產生的Master主機故障時,會重新選舉產生新的Master主機

  3.2.2).?Master主機監控所有Slave主機,當Slave主機出現故障時重啟啟動虛擬機

  3.2.3).?Master主機監控所有被保護虛擬機的電源狀態,如果被保護的虛擬機出現故障,將重啟虛擬機

  3.2.4).?Master主機發送心跳信息給Slave主機,讓Slave主機知道Master的存在

  3.2.5).?Master主機執行狀態信息給vCenter Server,vCenter Server正常情況下只和Master主機通信

  3.2.6).?Slave主機監視本地運行的虛擬機狀態,把這些虛擬機運行狀態的顯著變化發送給Master主機

  3.2.7).?Slave主機監控Master主機的健康狀態,如果Master主機出現故障,Slave主機將參與與Master主機的選舉  

  3.3. Esxi主機的故障類型
  3.3.1)? 主機停止運行

  主機由于物理硬件故障或電源等原因引起故障

  3.3.2)??主機與網絡隔離

  一個或多個slave丟失了所有的管理網絡連接,這樣的slave既不能聯系到master也不能聯系到其他ESXi hosts。這種情況下,slave主機通過存儲網絡來通知master,它已經是隔離狀態。

  我們知道HA使用管理網絡及存儲設備進行通信監測狀態,如果Master主機不能通過管理網絡與Slave主機通信,那么會通過存儲來確認ESXi主機是否存活,這樣的機制可以讓HA判斷主機是否處于網絡隔離狀態。在這種情況下,Slave主機通過heartbeat datastores來通知Master主機它已經是隔離狀態,具體上這個Slave是通過一個特殊的二進制文件--host-Xpoweron,來通知Master主機能夠采取適當的措施來確保保護虛擬機。Master主機看到這個標志后,就知道Slave主機已經是隔離狀態,然后Master主機通過HA鎖定其他文件(datastores上的其他文件),當Slave主機看到這些文件已經被鎖定,就知道Master主機正在重新啟動虛擬機,然后Slave主機可以執行配置過的隔離響應動作(如關機或者關閉電源)

  3.3.3)??主機與網絡分區

  一個或多個slave通過管理網絡聯系不到master,這樣的slave雖不能聯系到master但能聯系到其他ESXi hosts,這種情況下,vSphere HA能夠了使用存儲網絡來檢測分離的主機是否存活以及否要保護它們里面的虛擬機。

  3.4. ESXi主機故障的響應方式

  3.4.1) 虛擬機重新啟動優先級

  3.4.2) 主機隔離響應

?

4. vSphere HA 故障支持場景

  4.1.? esxi host 物理服務器故障

  4.2.? 虛擬機故障

  4.3.? 虛擬機操作系統故障

  4.4.? Application 故障

?

5.?vSphere HA接入控制策略

  5.1.? 按插槽及插槽大小

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

  5.1.1). 插槽大小由每個虛擬機的CPU和內存決定,取CPU和內存的需求最大值,通過上圖虛擬機可以得知插槽大小為2GHz CPU和2GB內存。

  5.1.2). HA計算CPU組件的方法是先獲取每臺已打開電源虛擬機的CPU預留,如果沒有為虛擬機指定CPU預留,則系統會為其分配一個默認值32MHz。

  5.1.3). HA計算內存組件的方法是先獲取每臺已打開電源虛擬機的內存預留,如果沒有為虛擬機指定內存預留,則系統會為其分配一個默認值。

  5.1.4). 插槽計算:用主機的CPU資源數除以插槽大小的CPU組件,然后將結果化整。對主機內存資源數進行同樣的計算。然后,比較這兩個數字,較小的那個數字即為主機可以支持的插槽數。

?

  5.2? 接入控制策略--按靜態主機數量定義故障切換容量

  所謂按靜態主機數量定義故障切換容量策略,就是允許HA群集中幾臺ESXi主機可以發生故障,如果設置為1,當群集中有1臺ESXi主機發生故障時,故障ESXi主機上的虛擬機會重新啟動。同時這個策略需要使用插槽及插槽大小的概念。

?

  5.3? 接入控制策略--通過預留一定百分比的群集資源來定義故障切換容量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

  5.3.1). 計算出主機的CPU和內存資源總和,從而得出虛擬機可使用的主機資源總數。

  5.3.2). 生產環境需要注意的是,預留資源越多,ESXi主機在非故障切換時能夠運行的虛擬機就會減少。

?

  5.4? 接入控制策略--使用指定故障切換主機

  4.4.1). 在主機發生故障時,vSphere HA 將嘗試在任一指定的故障切換主機上重新啟動其虛擬機。如果不能使用此方法(例如,故障切換主機發生故障或者資源不足時),則 vSphere HA 會嘗試在群集內的其他主機上重新啟動這些虛擬機。

  4.4.2). 為了確保故障切換主機上擁有可用的空閑容量,將阻止您打開虛擬機電源或使用 vMotion 將虛擬機遷移到故障切換主機。而且,為了保持負載平衡,DRS 也不會使用故障切換主機。

?

?6. 如何選擇vSphere HA 的接入控制策略?

?

  選擇接入控制策略時,應當考慮的因素很多。應當基于可用性需求和群集的特性選擇 vSphere HA 接入控制策略。

  6.1) 選擇什么樣的接入控制策略?

  生產環境比較常見的是選擇按靜態主機數量定義故障切換容量、預留一定百分比的群集資源來定義故障切換容量這兩種策略。

  選擇前者的話,如果群集中某一臺虛擬機所需的CPU或內存資源較大(3,3),而其他虛擬機所需的CPU或內存資源比較平均,會影響到ESXi主機支持的插槽數量計算。

  因此,如果群集中虛擬機所需的CPU和內存資源差距較大,推薦使用使用預留一定百分比的群集資源來定義故障切換容量策略。

  6.2)?避免資源碎片

  ?“群集資源的百分比”策略不解決資源碎片問題。

  通過將插槽定義為虛擬機最大預留值,“群集允許的主機故障數目”策略的默認配置可避免資源碎片。

  使用“指定故障切換主機”策略不會出現資源碎片,因為該策略會為故障切換預留主機。

  6.3)?故障切換資源預留的靈活性

  為故障切換保護預留群集資源時,接入控制策略所提供的控制粒度會有所不同。“群集允許的主機故障數目”策略允許設置多個主機作為故障切換級別。“群集資源的百分比”策略最多允許指定 100% 的群集 CPU 或內存資源用于故障切換。通過“指定故障切換主機”策略可以指定一組故障切換主機。

  6.4)?群集的異構性

  從虛擬機資源預留和主機總資源容量方面而言,群集可以異構。在異構群集內,“群集允許的主機故障數目”策略可能過于保守,因為在定義插槽大小時它僅考慮最大虛擬機預留,而在計算當前故障切換容量時也假設最大主機發生故障。其他兩個接入控制策略不受群集異構性影響。

?

7.? 配置vSphere HA的基礎條件

  7.1)? vCenter Server

  HA這個高級特性必須依賴于vCenter Server才能實現,沒有vCenter Server將無法啟用HA

  7.2)? 啟用vMotion

  當ESXi主機發生故障時,HA會選擇新的ESXi主機對虛擬機進行重新啟動, 這個過程實質是遷移主機,而遷移主機使用的技術是vMotion,也就是說啟用vMotion是前提。

  7.3)? 網絡冗余

  HA本身要求網絡具有冗余功能,特別是管理網絡,如果管理網絡沒有冗余,HA會給出對應的配置錯誤提示。

  7.4)? 安裝VMware Tools

  它不僅是添加了虛擬機的驅動程序,一些HA的檢測機制也是通過VMware Tools完成的。

  7.5) 群集ESXi主機數量

  將多臺ESXi主機添加到一個群集的目的,是可以統一管理及使用高級特性。但是每臺ESXi主機的資源是有限的,必須合適考慮群集中ESXi主機的數量,特別是這個群集中ESXi主機數量少于5臺,而運行的虛擬機數量超過50臺的情況需要特別注意。

  當某臺ESXi主機發生物理故障,上面的虛擬機需要在其他ESXi主機上重新啟動時,要考慮其他ESXi主機資源使用情況。如果資源不夠,可能會導致虛擬機無法重新啟動,或啟動后性能較低。

?

8.? 虛擬機組件保護

  8.1)? 如果啟用虛擬機組件保護(VMCP),vSphere HA可以檢測到數據存儲可訪問性故障,并為受影響的虛擬機提供自動恢復。

  當發生數據存儲可訪問性故障時,受影響的主機無法再訪問特定數據存儲的存儲路徑,可確定vSphere HA將對此類故障作出的響應,從創建事件警報到虛擬機在其他主機上重新啟動。

?

  8.2)? 錯誤狀況和虛擬機響應選項

  8.2.1)? 虛擬機重新啟動優先級

  重新啟動優先級用于確定主機發生故障或主機隔離時虛擬機的重新啟動順序。優先級較高的虛擬機將首先啟動。

  8.2.2)? 針對主機隔離的響應

  主機內的虛擬機將在正常運行的其他主機上重新啟動

?

  8.3)? 存在兩種類型的數據存儲可訪問性故障

  8.3.1)? PDL(permanent device loss 永久設備丟失):是在存儲設備報告主機無法再訪問數據存儲時發生的不可恢復的可訪問性丟失,如果不關閉虛擬機的電源,此狀況將無法恢復。

  8.3.2)? APD(All-Paths-Down 全部路徑異常):暫時性或未知的可訪問性丟失,或I/O處理中的任何其他未識別的延遲,此類型的可訪問性問題是可恢復的。

    a).?關閉虛擬機電源再重新啟動虛擬機(保守):

    受影響的Vms會被關閉電源,然后在連接正常的ESXi主機上重啟。如果故障主機無法與Master主機通訊則將無法激活

    b).?關閉虛擬機電源再重新啟動虛擬機(積極):

    受影響的Vms會被關閉電源,無論是否有主機可以通過重啟承載這些Vms。不論Master主機是否存在,是否能和其它主機通訊以及是否有足夠的資源

  8.3.3)? APD 的虛擬機故障切換延遲:140S以后

?

  8.4)? VMCP恢復時間軸

  8.4.1)? 以下時間軸以圖形方式顯示VMCP如何從存儲故障進行恢復

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

    ??T=0;檢測到存儲故障,vSphere HA將啟動恢復過程。對于PDL事件,將立即啟動工作流并重新啟動群集中正常主機上的虛擬機。如果是APD事件導致存儲丟失。APD超時定時器將啟動(默認為140秒)。

    ??T=140s:主機將聲明APD超時,到無響應存儲設備的非虛擬機I/O都將失敗。

    ??介于T=140s和320s之間:這是APD的虛擬機故障延遲定義的時間段,默認為3分鐘,長時間無法訪問存儲可能導致客戶機應用程序不穩定,如果此時間段的APD己清除,重置虛擬機的選項將可用。

    ??T=320s:經過APD的虛擬機故障切換延遲時間(APD超時后3分鐘)后,vSphere HA將啟動APD恢復響應。

  8.5)? 虛擬機監控敏感度:
    8.5.1)? 故障時間間隔(30S):如果在30S的時間間隔內未收到主機與虛擬機間的檢測信號,vSphere HA會重新啟動虛擬機。

    8.5.2)? 最短正常運行時間(120S):發現故障后,不會立即重啟虛擬機,先進行120S的和存儲I/O的信息監測,以免故障誤判。das.iostatsinterval

    8.5.3)? 每個虛擬機的最大重置次數(3次)

    為了避免因非瞬態錯誤而反復重置虛擬機,默認情況下,在某個可配置的時間間隔內將對虛擬機僅重置三次,在對虛擬機執行過三次重置后,指定的時間結束之前,vSphere HA 不會在后續故障出現后進一步嘗試重置虛擬機,可以使用每個虛擬機的最大重置次數自定義設置來配置重置次數。

    8.5.4)? 最大重置時間段(1小時)

?

?9. 開啟vSphere HA功能

?

?

?

轉載于:https://www.cnblogs.com/reachos/p/11220842.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386334.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自學Android!Android高級工程師面試題-字節跳動,附答案

前言 大廠面試一直都是程序員圈內摸魚時間津津樂道的話題,進大廠想必也是無數程序員的夢想。 關于“原理”的問題,幾乎是現如今Android開發崗必問的問題,尤其在大廠面試中更為突出。有過大廠面試經驗的小伙伴應該知道:大廠的面試…

WEB可以調節的框架頁

<html> <head><meta HTTP-EQUIV"Content-Type" CONTENT"text/html; charsetgb2312"><title>主框架[www.tecsoon.com]</title></head><frameset cols"30%,*"> <frame name"dir" target&…

被面試官問的Android問題難倒了,成功入職字節跳動

感悟 這個世界有一個“二八原則”在好多地方都發揮著作用&#xff0c;在Android開發上我認為也一樣有用。做一個Android開發&#xff0c;你也許只會用到Android開發知識中的20%&#xff0c;有80%其實你學了也不一定會用。 而面試官也一樣&#xff0c;他也可能只掌握了20%的知…

PANEL中顯示窗體

var frm: TForm2;//定義窗口類begin PageControl1.activepage:tabsheet1; if Panel1.ControlCount 0 then begin frm : Tform2.Create(self); frm.Parent : Panel1; frm.BorderStyle : bsnone; frm.WindowState : wsmaximized; if skindata1.active…

被面試官問的Android問題難倒了,系列篇

本篇將由 環境搭建、實現原理、編程開發、插件開發、編譯運行、性能穩定、發展未來 等七個方面&#xff0c;對當前的 React Native 和 Flutter 進行全面的分析對比&#xff0c;希望能給你更有價值的參考。 前言 移動端跨平臺在經歷數年沉浮之后&#xff0c;如今還能在舞臺聚光…

使用screen管理后臺程序

我們常需要SSH 或者telent 遠程登錄到Linux 服務器&#xff0c;經常運行一些需要很長時間才能完成的任務&#xff0c;在此期間不能關掉窗口或者斷開連接&#xff0c;否則這個任務就會被殺掉&#xff0c;一切半途而廢了。這時&#xff0c;我們可以用screen命令解決這個問題。 Sc…

被面試官問的Android問題難倒了,面試必會

開頭 1、一定要把基本的數據結構&#xff0c;經典的算法&#xff0c;Unix編程&#xff0c;程序編譯鏈接及計算機原理等基礎知識扎牢&#xff0c;這些會長遠影響你的職業發展。 2、 推薦從C語言入門&#xff0c;不單是因為很多操作系統、網絡協議棧開源代碼由C/C實現&#xff…

jquery checkbox 實現單選

最近在用javascript的時候發現網上實現checkbox單選的代碼都已經過時了。 用著幾年前的代碼發現根本不行了 原因是jquery api已經更改 http://api.jquery.com/prop/ 這里是新的代碼 $(function(){$(":checkbox").each(function(){$(this).click(function () {if ($(t…

覆蓋所有面試知識點,建議收藏

一、前言 剛拿到字節offer&#xff0c;經歷了5次面試&#xff0c;其中4輪技術面&#xff0c;1輪HR面試。在這里分享一下自己的面試經驗和學習心得。希望能夠幫助更多的小伙伴。 我本科畢業于四川師范學院計算機系&#xff0c;剛畢業時也是小白&#xff0c;也是一步步成成起來…

Codeforces- Educational Codeforces Round 69

A題 DIY Wooden Ladder 簽到題&#xff0c;求n-2和第二大的最小值 #include<bits/stdc.h> using namespace std; int arr[100020]; int main() {int t,n;cin>>t;while(t--){cin>>n;for(int i0;i<n;i)cin>>arr[i];sort(arr,arrn);cout<<min(ar…

覆蓋所有面試知識點,持續更新中

我所接觸的Android開發者&#xff0c;百分之九十五以上 都遇到了以下幾點致命弱點&#xff01; 如果這些問題也是阻止你升職加薪&#xff0c;跳槽大廠的阻礙。 那么我確信可以幫你突破瓶頸&#xff01; 應屆坎坷求職路 一個廣州非985/211普通本科生&#xff0c;計算機科學…

cloudera-quickstart-vm-5.13.0-0-virtualbox 中文顯示亂碼

1.如果沒有中文語言呢 可以通過網上下載安裝中文語言包yum groupinstall chinese-support配置中文的阿里云服務器&#xff0c;根據cetos版本來配置。思路&#xff1a;rm -fr /etc/yum.repo.d/* #刪除下面內容我的版本是6.7的cat /etc/issue 執行wget http://mirrors.aliyun.c…

覆蓋所有面試知識點,趕緊收藏!

前言 近日&#xff0c;字節跳動正式啟動了2021屆秋季校園招聘&#xff0c;為應屆畢業生開放超過6000個工作崗位。這一數字超過了該公司往年秋招規模&#xff0c;并與其今年春招規模持平。全年校招人數共計超過1萬2千人&#xff0c;遠高于同類型互聯網公司&#xff0c;體現了字…

實現技術3次作業 謝筱 1101220759

3次作業 謝筱 1101220759 作業一 要求&#xff1a; &#xff08;1&#xff09; 寫一個博客, 列出你發現的微軟學術搜索的功能性的缺陷 (bug), 至少一個. 用專業的語言描述 解答&#xff1a; &#xff08;1&#xff09; 缺陷一&#xff1a; 缺少中文關鍵字搜索功能&#…

覆蓋所有面試知識點,送大廠面經一份!

自己項目中一直都是用的開源的xUtils框架&#xff0c;包括BitmapUtils、DbUtils、ViewUtils和HttpUtils四大模塊&#xff0c;這四大模塊都是項目中比較常用的。最近決定研究一下xUtils的源碼&#xff0c;用了這么久總得知道它的實現原理吧。我是先從先從BitmapUtils模塊開始的。…

MEF初體驗之九:部件生命周期

理解MEF容器中部件的生命周期及其含義是非常重要的。鑒于MEF重點在開放端應用程序&#xff0c;這將變得尤其重要的&#xff0c;一旦app ships和第三方擴展開始運行&#xff0c;作為應用程序的開發者將很好地控制這一系列的部件。生命周期可以被解釋為這樣一個部件期望的共享物&…

ASP.NET MVC中在Action獲取提交的表單數據方法總結 (4種方法,轉載備忘)

有Index視圖如下&#xff1a; 視圖代碼如下&#xff1a; [html] view plaincopyprint?<% Page Language"C#" MasterPageFile"~/Views/Shared/Site.Master" Inherits"System.Web.Mvc.ViewPage" %> <asp:Content ID"Content1&qu…

解析底層原理!Android開發者面試如何系統復習?幫你突破瓶頸

現狀 后端轉 Android 我該從何處下手&#xff0c;現在學習 android 晚嗎&#xff1f; 我的回答是晚還不至于&#xff0c;因為目前是市場趨于穩定正常&#xff0c;這個是市場發展的比如趨勢&#xff0c;現在火爆大家都看好的人工智能&#xff0c;大數據&#xff0c;猶如2010年…

SpringMVC與Struts2區別與比較總結

SpringMVC與Struts2區別與比較總結 1、Struts2是類級別的攔截&#xff0c; 一個類對應一個request上下文&#xff0c;SpringMVC是方法級別的攔截&#xff0c;一個方法對應一個request上下文&#xff0c;而方法同時又跟一個url對應&#xff0c;所以說從架構本身上SpringMVC就容易…

解析底層原理!月薪20k+的Android面試都問些什么?深夜思考

正文 Android行業主要問題是初級Android太多了&#xff0c;會寫xml和Activity的程序員太多了&#xff0c;初中級程序員面臨很大的競爭&#xff0c;現狀也就偏于高級開發者。越來越多的初中級Android程序員找不到滿意的工作&#xff0c;甚至根本找不到工作&#xff01;所以很多…