中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

精彩繼續 1.Hyper-V 融合群集網絡

發布時間:2020-08-06 16:06:18 來源:網絡 閱讀:4746 作者:老收藏家 欄目:建站服務器

   一直很想寫這篇博客,與大家探討交流這項技術, Hyper-V Converged Network,中文我將它翻譯為融合網絡,后來老王又發現這項技術似乎沒有群集的話意義不大,所以加上了群集二字,之前很少看到國內有人寫過這方面的博客,但是在國外從2012開始已經有不少人對這項新技術進行了嘗試,到Windows Server 2016,Converged Network模型更是支援了RDMA,因此決定寫這篇博客,希望能夠讓更多中國的微軟ITpro們知道這項技術,為大家拋磚引玉,內容不對之處歡迎探討指正


    在介紹融合網絡之前,我想先和大家探討下Windows上面群集網絡的規劃,之前幾年老王有幸參與過一些項目的實施,發現國內實施微軟群集的工程師們似乎都并不太在意群集網絡方面的規劃,一些小型的場景,甚至就放了一塊網卡,承載群集的所有流量,有的有良心一點會放兩快卡,一些大型企業實施的時候會把管理,VM,心跳,存儲,四種分開,這似乎是國內大中型企業做群集時候的網絡標配,土豪一點的會為每種類型的網絡配置Teaming或者MPIO,多通道等技術


   按照微軟的最佳實踐來講,微軟建議切割五種群集網絡,管理,VM,遷移,心跳,存儲,微軟將遷移流量也建議單獨隔離出來,實際上我是理解微軟這種考慮的,我猜想微軟總部這樣考慮,也許是考慮到大型場景下,可能是一個私有云,或者托管很多虛擬機的虛擬化架構,可能會頻繁進行大規模遷移的場景下,同時VM也面臨著業務上面的大并發訪問,這時候可能一組網絡難以支撐,會導致某些場景下的性能下降,但其實根據老王的觀察,目前國內使用Hyper-V的企業很少會達到微軟這種場景的設想,通常情況下一組LACP teaming 20GB的流量怎么也hold住VM訪問+遷移流量了,因此國內很少看到單獨獨立出遷移網絡的群集架構


  所以國內用戶可能比較常見的就是這種,管理,VM+遷移,心跳,存儲的架構,有的公司可能一組LACP teaming 直接把管理,VM,遷移三種放在一起,然后,心跳,存儲,一共三個群集網絡,這也是一種國內常見的群集網絡架構。


  這里老王想格外與大家進行探討的是里面“心跳” 這種群集網絡,國內對于這種類型的群集網絡通常都叫它心跳網絡,似乎這個網絡只是用做心跳檢測,其實并不是這樣,嚴格來講,這種類型的網絡應該叫做群集通信網絡,國外也有人叫它CSV網絡。


   群集通信網絡其實承擔著3種功能的流量,在2012之后開始發生了一些變化

精彩繼續 1.Hyper-V 融合群集網絡

   1.運行狀況檢測網絡,群集大家都知道,所有節點需要訪問同一個共享存儲,在群集創建群集角色或群集功能,角色產生的數據會存在共享存儲,然后群集之間會做運行狀況檢測,為什么要做這個檢測呢,就是為了知道其它節點現在活不活著,例如群集當前兩個節點,他們每隔一秒都會通過3343端口和對方執行一次實際的握手檢測,每次發送一個134 byte的包,除了確認對方在線,對方也會確認你在線,雙方確認完成一次檢測結束,當檢測達到一定閾值,例如默認情況下同一子網內每隔一秒全網檢測一次,如果一個節點五次檢測均沒有回應則視為該節點下線,群集其它節點會檢查自身群集注冊表查看該節點承擔角色功能,然后進行遷移出來,跨子網默認也是每隔一秒全網檢測一次,五次失效視為該節點下線。如果群集節點啟用了Hyper-v角色,默認本地子網每隔一秒全網檢測一次,十次失效視為該節點下線,跨子網每隔一秒全網檢測一次,二十次次失效視為該節點下線。在2016里面新增了跨站點的檢測模式,如果檢測到群集設置了站點,則當跨站點,跨子網或不跨子網的情況下,跨站點的檢測策略會優于跨子網的檢測模式執行。


   如上所述,運行狀況檢測網絡是群集里面很重要的內容,通過檢測結果來確認一個節點是否存活,因此對于該網絡的質量要求極高,可以帶寬不高,但一定要確保質量,確保不會被其它流量干擾,確保不會出現丟包,否則如果出現丟包或者流量干擾的情況就會導致群集的運行狀況檢測失去準確性,本身存活的節點卻因為檢測不準確而被下線。

    因此,老王建議,做群集,至少至少應該分為兩種網絡,一塊承擔管理VM遷移存儲等流量,一塊用于承擔群集通信網絡的流量,請注意這種運行狀況檢測是群集內的一個全網檢測,每個節點發送檢測時會發給所有節點,確保群集每個節點與節點之間都能夠知道對方的狀態。



 2.群集內數據庫同步流量


    上面講到當一個節點下線時,群集會觸發故障轉移操作,其它節點檢查自身的群集數據庫,查看下線的節點,承載了什么角色,然后上線該角色,并掛載上該角色依賴的群集組,然后客戶端重新訪問,這是群集最簡單的一個故障轉移原理,大家可能會注意到里面有一個群集數據庫,這個數據庫和SQL的數據庫,exchange的數據庫都沒關系,是群集用來存放各個節點的狀態,以及各節點hosting角色狀態的一個數據庫,該數據庫主要存在于各群集節點本身的注冊表上,如果有磁盤見證的話那么磁盤見證里面也會存放一份,例如節點1當前在線,它上面運行了DHCP角色和文件服務器角色,當前狀態是在線,或節點1上面承擔了HyperV角色,現在上面跑了十臺虛擬機,五臺在線,五臺離線。


    群集數據庫主要就是記錄這種數據,群集配置,群集成員配置,群集資源的添加,創建,啟動,刪除,停止,下線等狀態變化,然后與其他節點進行同步,帶寬使用并不會很大,但一定要準確,每個節點之間的群集數據庫一定要一致,這是最重要的要求,因此,群集之間各個節點需要實時的去同步群集數據庫,確保每個節點的數據庫內容一致,這樣當有節點出現下線操作,其它節點才可以準確的承擔他的工作,當我們在群集中執行添加角色,刪除角色,新增群集資源的時候都會觸發數據庫的同步操作,因此一定要確保這個同步操作是及時的,準確的到達各個節點,同樣,這種類型的流量對網絡的質量要求也很高,它并不需要多高的帶寬,但一定要保證網絡質量。


3.CSV元數據更新


   CSV是個好東西,以前2008時代沒有CSV,一個hyper-v集群上面要遷移只能把綁定到群集硬盤的虛擬機一起遷移,后來有了CSV就方便多了,CSV不像傳統群集磁盤那樣,一次掛載在一個節點,故障轉移時需要離線,卸載NTFS保留,再上線,掛載,時間長,而且還很不方便。有了CSV之后所有節點上面都可以訪問到被創建好的CSV卷,按照CSV編排器的順序進行訪問就可以,當一個節點斷電關機,另外節點直接開機VM就可以上線,不需要再執行群集磁盤的卸載上線工作,因為CSV卷始終是掛載著的。所謂元數據更新,即是說,當我們在單個節點上面對CSV卷里面內容進行增刪改的時候,后臺CSV會把我們增刪改的操作進行同步,由東向西,或由北向南,同步的不會是具體的文件內容,只是元數據,同樣這種類型的流量對于質量要求很高,并不需要多少帶寬,一旦出現延遲,可能導致的情況就是我們在CSV上面更新一個文件執行起來很慢才會進行同步,需要額外注意,2012中CSV嚴重依賴于SMB,如果您使用CSV功能,請一定不要禁止SMB相關服務。



   上述三種流量,其實都包括在我們已知的“心跳網絡”中 ,不看不知道,一看嚇一跳,一直被我們忽略的心跳卡竟然也承擔著這么多工作,而且還很重要,通過我的介紹相信大家已經有個基本的了解,對于群集網絡規劃時,一定要把這種類型的群集通信網絡單獨出來,確保它可以獲得最高的質量,防止被其它流量干擾,尤其是要和遷移流量隔離開,即是說至少應該有兩種群集網絡。


   通常情況下這種類型的群集通信網絡對于網絡帶寬要求很低很低,甚至10M 100M也可以滿足,但也有一些特別的場景,例如SQL,exchange群集,會經常需要跟蹤application的變化,導致群集數據庫會很頻繁的更新,一些Hyper-V場景下,經常執行CSV創建,遷移操作,會導致CSV元數據流量頻繁的進行更新,針對這些場景,老王建議配置單塊1GB卡足夠了,或者2塊1GB卡,做SMB多通道或者Teaming,10GB完全沒必要,屬于浪費了,有那么大的帶寬分給虛擬機遷移和存儲多好,哈哈。


  2012R2時代也有國外的專家說過,可以把CSV元數據更新的流量從群集通信流量中分割出來,但老王目前還沒看到成功的案例,所以目前姑且我們先認為群集通信流量包括運行狀況檢測,群集數據庫更新,CSV元數據更新這三種流量。



  OK,上面基礎打好了,下面我們開始今天的重頭戲,融合網絡,我先不解釋太多,我們先開始進入一個群集環境,我們在環境中慢慢看請它的真面目


  今天的融合網絡環境架構如下


  12DC :80.0.0.1 承擔域控角色

  ISCSI  50.0.0.99 60.0.0.100 承擔ISCSI服務器角色


  HV01 

  四塊網卡,兩快卡組成teaming,通過Convered Network技術分出三塊卡

  Mgmt  80.0.0.2

  clus  90.0.0.2

  VM    100.0.0.2

  另外兩塊卡做ISCSI MPIO  50.0.0.1 60.0.0.2


  HV02

  四塊網卡,兩快卡組成teaming,通過Convered Network技術分出三塊卡

  Mgmt  80.0.0.3

  clus  90.0.0.3

  VM    100.0.0.3

  另外兩塊卡做ISCSI MPIO  50.0.0.3 60.0.0.4



  關于服務器怎么裝,ISCSI,MPIO怎么配置本文不做說明,我們直接進入Convered Network技術配置的場景中


  首先,現在的場景下,每臺宿主機上面可以看到五個網卡,其中四塊是我們上面說好的,一個teaming,交換機獨立,地址哈希的,名字我們所有節點上叫vTeam

  真實場景下我建議大家都配置為LACP模式的teaming,兩張10GB,進出雙網卡。

  我這里是使用兩張1GB,如果生產環境建議至少四張1GB或兩張10GB

   精彩繼續 1.Hyper-V 融合群集網絡

  

  文章到這里,還和我們傳統的群集沒什么兩樣,接下來重頭戲來了,一直在說的Convered network到底是怎么回事呢

  老王這里先簡單介紹一下,簡單來講,Covered Network就是在Hyper-v父分區中,基于單個網卡或teaming,創建出多個虛擬網絡適配器,這是2012開始出現的一項新技術,原來我們一直以為一塊網卡只能對于出一個虛擬網絡適配器,但其實在2012開始已經發生了改變,我們可以基于Convered Network技術在一塊網卡或teaming之上建立出多個虛擬網絡適配器

  同時,可以針對每個創建出的虛擬網絡適配器配置IP,QOS,VLAN,是不是很酷,一塊物理網卡,創建出一個虛擬交換機,但可以對應出多個可以配置IP的虛擬網絡適配器,并且可以配置每個虛擬網絡適配器單獨的QOS,IP,VLAN,這在以前是硬件廠商們的技術,微軟在2012也在自己的虛擬化平臺上面進行了實現,話不多說,我們下面就開始實作



#創建基于vTeam組合創建虛擬交換機,最小帶寬模式設置為通過權重決定,由于我們會單獨創建管理用的虛擬網絡適配器,這里我們先設置AllowManagementOS為False,如設置為True會產生虛擬網絡適配器

New-VMSwitch -Name vSwitch -NetAdapterName vTeam  -MinimumBandwidthMode Weight -AllowManagementOS $False

精彩繼續 1.Hyper-V 融合群集網絡

#設置虛擬交換機默認流最小帶寬權重為20,默認情況下虛擬網絡適配器發送的任何流量連接到這個虛擬交換機,并且沒有分配的最小帶寬將被過濾到這個桶中,即默認如果沒有匹配上其它最小帶寬權重的流量至多使用默認總帶寬百分之20權重的帶寬

Set-VMSwitch "vSwitch" -DefaultFlowMinimumBandwidthWeight 20

精彩繼續 1.Hyper-V 融合群集網絡

#基于單個虛擬交換機創建出mgmt,clus,vm三個虛擬網絡適配器

Add-VMNetworkAdapter -ManagementOS -Name "Mgmt" -SwitchName  "vSwitch"

Add-VMNetworkAdapter -ManagementOS -Name "Clus" -SwitchName  "vSwitch"

Add-VMNetworkAdapter -ManagementOS -Name "VM"   -SwitchName  "vSwitch"

精彩繼續 1.Hyper-V 融合群集網絡

#設置每個虛擬網絡適配器至多可以使用總帶寬的權重,其中VM(VM+Live Migration)最占用流量,我們將流量優先分配權重分配給它,其次權重分配給管理流量,最少的權重分配給群集網絡,MinimumBandwidthWeight值以相對權重計算,范圍在0-100,建議虛擬網絡適配器所有權重+默認流權重一共不超過100,超過100后后臺也將重新平衡權重計算,建議設置所有虛擬網絡適配器權重共計80或70,90,剩余的用100減去留給默認流。

Set-VMNetworkAdapter -ManagementOS -Name "Mgmt" -MinimumBandwidthWeight 25

Set-VMNetworkAdapter -ManagementOS -Name "Clus" -MinimumBandwidthWeight 10

Set-VMNetworkAdapter -ManagementOS -Name "VM"   -MinimumBandwidthWeight 45

精彩繼續 1.Hyper-V 融合群集網絡

#在設置所有虛擬網卡權重的時候后面可以添加 -Access -VlanId 參數,為每個虛擬網絡適配器設立單獨的Vlan,起到隔離作用



#按照預定義的配置為每個虛擬網絡適配器分配IP地址,注意分配mgmt網卡的DNS為80.0.0.1,Clus網卡取消netbios注冊

New-NetIPAddress -InterfaceAlias “vEthernet (mgmt)” -IPAddress 80.0.0.2 -PrefixLength “24”

New-NetIPAddress -InterfaceAlias “vEthernet (Clus)” -IPAddress 90.0.0.2 -PrefixLength “24”

New-NetIPAddress -InterfaceAlias “vEthernet (VM)”   -IPAddress 100.0.0.2 -PrefixLength “24”

精彩繼續 1.Hyper-V 融合群集網絡

#確保網卡順序如下,Mgmt作為首要出站網絡DNS訪問解析

精彩繼續 1.Hyper-V 融合群集網絡


HV02配置同上,不再贅述,配置完成后和HV01一樣,可以看到基于兩塊網卡組成的teaming建立出來的三塊虛擬網卡以及兩塊ISCSI網卡

精彩繼續 1.Hyper-V 融合群集網絡


     到這里大家是不是感覺很奇妙,其實最初老王猜想這會是和vmware端口組一樣的技術那就酷了,虛擬機接到端口組,每個端口組可以用不同的網卡,還可以做故障轉移容錯,VLAN ID,QOS的設置,微軟這個,除了每塊虛擬網絡適配器不能做故障轉移其它也都差不多嘛,但當做出來后實際看還是有點區別,vmware esxi上面的端口組做完之后,虛擬機直接就可以接入到端口組中,相對來說效果更加直觀,便于理解

    而微軟的這種融合網絡創建出來的虛擬網絡適配器,在單臺機器上幾乎看不到什么特別的效果,因為虛擬機還是接到vswitch這個虛擬交換機,但是遷移流量走那塊卡,并不知道,單臺機器看不出什么,我們只能看到,阿,我們可以基于兩塊網卡做成teaming,然后做出虛擬交換機,基于這個虛擬交換機我們又做出了多塊虛擬網絡適配器,每個虛擬網絡適配器可以配置單獨的QOS,IP,VLAN ,但是具體怎么切割網絡流量的,到底用途在哪里,我們到現在為止還看不到顯著的效果,網上很多文章都是做到這里就停了,搞得老王也是一頭霧水,單臺機器上面做這樣的架構其實在我看來意義并不大,只是好看而已,做出來了之后實際上做出來了之后單機上面并不會分割流量,除非配合VLAN,host文件等設定。

    因此,我們來到群集里面就可以看得清楚了,具體群集怎么搭建的步驟,老王這里不做解釋,相信大家都會的,在群集中我們可以看到添加進來的五個網絡

精彩繼續 1.Hyper-V 融合群集網絡

   經過調整之后如下圖所示,這下子五塊網卡就各盡啟用了,CLU網卡首要用于群集通信,完成運行狀況檢測,群集數據庫更新,CSV元數據更新,一旦CLU網卡不可用,群集會自動路由至其它mgmt或vm卡承擔群集通信流量,ISCSI01 ISCSI02兩塊網卡為MPIO網絡,不參與群集通信流量,管理流量,訪問流量,設置VM網卡為實時遷移時使用網卡,實際上微軟建議我們可以在這里設置多塊,例如設置VM和MGMT,VM網絡出現故障,還可以使用MGMT完成遷移,或者我們也可以通過powershell,群集會根據度量值和優先值選擇排名第二位的網絡用于實時遷移,或我們可以添加多個網絡,設置兩個網絡接近的度量值,這樣實時遷移就會在兩塊卡直接負載均衡

精彩繼續 1.Hyper-V 融合群集網絡

精彩繼續 1.Hyper-V 融合群集網絡

精彩繼續 1.Hyper-V 融合群集網絡

   文章進行到這里已經接近尾聲了,回想一下我們做了什么呢,我們底層使用了兩張卡做成的teaming,然后基于這組teaming建立虛擬交換機,再基于虛擬交換機創建出了三塊虛擬網絡適配器,并為其指定了單獨的QOS策略,確保每個虛擬網絡適配器在自己帶寬權重內運作,不會干擾到其它網絡,同時我們為每個虛擬網絡配置了IP地址,并最終加入了群集網絡,在群集的網絡模式配合下我們實現了真正的流量分割,每塊卡實現了各盡啟用


   老王認為這在群集網絡規劃時是一種新的思維,假設服務器只有兩個或四個口,或者交換機端口有限,不允許我們六塊卡八塊卡的占用,那么我們完全就可以考慮通過這種融合網絡的架構設計來節約端口的成本,又能夠通過QOS技術對虛擬出來的網絡適配器進行合理的管控,同時我們底層是teaming,也可以獲得teaming的容錯性,對于上層的虛擬網絡適配器,它只知道對應的是虛擬交換機,虛擬交換機只知道對應的是teaming,即是說只要teaming沒壞,整套架構就可以正常運作,一旦teaming里面單塊網卡出現故障,并不會導致整個架構的癱瘓,只需要再增加網卡進來即可,這對于上層的架構都不會有很大的感知。


   在關于融合網絡的架構中老王有一個地方一直沒有提到,為什么ISCSI你要單獨出來兩快卡,為什么不干脆都通過一組teaming虛擬出來,其實老王完全可以都放在一組teaming里面,但是我想給大家展示出最理想的的架構,經過翻閱國外的資料老王得知,ISCSI這種存儲技術是不支持NIC teaming的,如果要想獲得ISCSI的MPIO能力,只有單獨出來兩塊網卡,或者,兩個ISCSI網卡,分別對應兩個虛擬交換機,這樣物理層可以使用MPIO技術,群集虛擬機也可以得到。


  另外,NIC teaming技術在2012時代也不支援RDMA技術,如果你的融合群集底層是SOFS架構,那么你用了兩塊網卡做成teaming,也將失去RDMA的能力,如果是SMB架構,在2012時代老王建議單獨出來兩塊10GB卡,不做teaming,充分利用SMB多通道和SMB RDMA技術。


  當然微軟最終也聽從了廣大群眾的呼聲,在2016里面,提供了新的技術Switch Embedded Teaming,創建出來的虛擬交換機,將支援融合網絡中使用RDMA VRSS等技術


2016融合網絡新命令示例:


#創建支持RDMA與VRSS功能的Switch Embedded Teaming交換機

New-VMSwitch -Name CNSwitch -AllowManagementOS $True -NetAdapterName NIC01,NIC02 -EnableEmbeddedTeaming $Tru



#針對存儲網絡及遷移虛擬網絡適配器啟用RDMA

Get-NetAdapterRDMA -Name *Storage* | Enable-NetAdapterRDMA

Get-NetAdapterRDMA -Name *Live-Migration* | Enable-NetAdapterRDMA   



#在vNIC和物理NIC之間設置關聯

Set-VMNetworkAdapterTeamMapping –VMNetworkAdapterName Storage1 –ManagementOS –PhysicalNetAdapterName NIC1

Set-VMNetworkAdapterTeamMapping –VMNetworkAdapterName Storage2 –ManagementOS –PhysicalNetAdapterName NIC2



----------------------------------------------------------------------------

延伸閱讀

----------------------------------------------------------------------------

關于ISCSI與2012融合網絡的討論※


https://community.spiceworks.com/topic/314930-iscsi-in-hyper-v-2012-10gb-converged-fabric


https://social.technet.microsoft.com/Forums/windowsserver/en-US/1c23a379-e7d6-4d47-8e21-0963ad931484/iscsi-in-converged-network-scenario?forum=winserverhyperv


http://www.aidanfinn.com/?p=13947

http://www.aidanfinn.com/?p=14509

----------------------------------------------------------------------------

融合網絡適用場景及示例


http://www.davidmercer.co.uk/windows-2012-r2-hyper-v-converged-network-setup/


http://www.windows-infrastructure.de/hyper-v-converged-network/


https://www.starwindsoftware.com/blog/musings-on-windows-server-converged-networking-storage

----------------------------------------------------------------------------


關于DefaultFlowMinimumBandwidthAbsolute與 MinimumBandwidthWeight參數用途及深入解釋※


https://blogs.technet.microsoft.com/meamcs/2012/05/06/converged-fabric-in-windows-server-2012-hyper-v/


https://social.technet.microsoft.com/Forums/windowsserver/en-US/7c265109-b703-4e50-aab0-b7508b32207f/defaultflowminimumbandwidthweight-setvmswitch-question?forum=winserverpowershell


http://www.aidanfinn.com/?p=13891


----------------------------------------------------------------------------


通過SCVMM管理融合網絡架構


https://charbelnemnom.com/2014/05/create-a-converged-network-fabric-in-vmm-2012-r2/


https://www.starwindsoftware.com/blog/how-to-deploy-switch-embedded-teaming-set-using-scvmm-2016


----------------------------------------------------------------------------

2016 Switch Embedded Teaming


http://www.aidanfinn.com/?p=18813


https://technet.microsoft.com/en-us/library/mt403349.aspx


http://www.tech-coffee.net/how-to-deploy-a-converged-network-with-windows-server-2016/


https://community.mellanox.com/docs/DOC-2904

----------------------------------------------------------------------------



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲靖市| 友谊县| 定兴县| 江阴市| 汉阴县| 朔州市| 永修县| 溆浦县| 南江县| 冷水江市| 桃源县| 张北县| 石泉县| 临湘市| 漳浦县| 新沂市| 麻江县| 昌平区| 竹溪县| 玛纳斯县| 县级市| 广德县| 沙坪坝区| 读书| 庄河市| 怀远县| 汝城县| 皋兰县| 宿州市| 宁乡县| 孝感市| 攀枝花市| 潼关县| 嵩明县| 平昌县| 罗江县| 屯昌县| 孟州市| 连云港市| 永年县| 楚雄市|