資源計量是Hyper-V 2012時新增的功能,嚴格來說它應(yīng)該是Hyper-V的功能,但是為什么要和WSFC在一起說,因為老王發(fā)現(xiàn)資源計量和資源池可以和群集相整合,因此特地分享給大家
創(chuàng)新互聯(lián)專注于陽曲企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城網(wǎng)站制作。陽曲網(wǎng)站建設(shè)公司,為陽曲等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)資源計量是Hyper-V 2012開始原生自帶的虛擬化資源使用收集技術(shù),默認處于關(guān)閉狀態(tài),開啟后可以幫助我們收集各個虛擬機的CPU,內(nèi)存,硬盤,網(wǎng)絡(luò)消耗
Hyper-V資源計量典型的應(yīng)用場景
1.宿主機上面的托管了很多虛擬機,這些虛擬機可能被不同的部門所使用,管理員需要確保每個虛擬機使用符合的資源,不要影響到其他虛擬機,一方面可以通過資源計量監(jiān)視,一方面可以通過QOS策略限制調(diào)整
2.提供數(shù)據(jù)和接口,供計費系統(tǒng)調(diào)度,可以是Chargeback 或 Showback,在沒有SCOM和SCSM的情況下也能夠?qū)崿F(xiàn)簡單的計費管理
Hyper-V資源計量的技術(shù)特點
1.無圖形化界面,可以通過powershell或API調(diào)用管理
2.使用全新的調(diào)用方式,相比以前使用性能計數(shù)器輪詢的方式更節(jié)省資源
3.可以被用于統(tǒng)計單個虛擬機或資源池
4.資源計量將會跟隨虛擬機,不論虛擬機被遷移到那個主機,計量數(shù)據(jù)存儲在虛擬機配置XML文件
5.支持對于虛擬機或資源池執(zhí)行reset重新計量
6.對于性能消耗低,僅在輸出報告時會有一些磁盤和CPU活動
7.不是虛擬化監(jiān)控解決方案,只會收集有限的參數(shù)用于計量,監(jiān)控仍需配合WMI性能計數(shù)器與事件日志使用,如希望執(zhí)行更深入的虛擬化監(jiān)控,建議使用SCVMM,SCOM
Hyper-V資源計量可以收集的數(shù)據(jù)
1.平均 CPU 使用率,在一定時間內(nèi)以兆赫為單位進行測量。
2. 平均物理內(nèi)存使用量,以兆字節(jié)為單位進行測量。
3. 最小內(nèi)存使用量(物理內(nèi)存的最低數(shù)量)。
4. 大內(nèi)存使用量(物理內(nèi)存的高數(shù)量)。
5. 分配給虛擬機的大磁盤空間容量。
6. 針對虛擬網(wǎng)絡(luò)適配器的傳入網(wǎng)絡(luò)總流量,以兆字節(jié)為單位進行測量。
7. 針對虛擬網(wǎng)絡(luò)適配器的傳出網(wǎng)絡(luò)總流量,以兆字節(jié)為單位進行測量。
其中需要注意的地方
最小內(nèi)存使用量僅記錄VM開機狀態(tài)的數(shù)據(jù)
平均內(nèi)存使用量記錄VM開機以及VM關(guān)機的數(shù)據(jù),以提供虛擬機在計費周期內(nèi)使用內(nèi)存的準確視圖
CPU使用量使用轉(zhuǎn)換后的MHZ計量 ,不使用%,微軟認為如果報告百分比,虛擬機移動到具有不同處理能力的主機將失去意義
磁盤計量總值將顯示當(dāng)前分配的容量,而非當(dāng)前實際使用,因此對于動態(tài)磁盤,會顯示分配的磁盤大數(shù)值
磁盤計量總值部分會包括快照大小
磁盤計量不包括直通磁盤,DAS磁盤,ISCSI,虛擬光纖通道磁盤
網(wǎng)絡(luò)計量通過在虛擬機網(wǎng)絡(luò)適配器上設(shè)置ACL進行計量,ACL包括方向,IP,動作,開啟資源計量后動作為計量
Hyper-V資源計量自帶Command
啟用/禁用資源計量
Get-VMResourceMetering
Disable-VMResourceMetering
配置用于計量的VM資源
Set-VMProcessor
Set-VMHardDiskDrive
Set-VMMemory
Set -VMNetworkAdapter
Add-VMNetworkAdapterAcl
Remove-VMNetworkAdapterAcl
創(chuàng)建/刪除資源池
New-VMResourcePool
Set-VMResourcePool
Remove-VMResourcePool
測量VM和池
Measure-VM
Measure-VMResourcePool
Reset-VMResourceMetering
以上為大家簡單介紹了下Hyper-V資源計量的功能,幫助大家復(fù)習(xí)或了解下這個概念,關(guān)于Hyper-V資源計量我的好朋友徐庭寫了很好的單機實踐博客,這方面老王不再重復(fù),我們將主要實踐后面資源計量,資源池與群集的整合
接下來我們再看下Hyper-V資源池的概念,此資源池非彼資源池,在目前微軟的企業(yè)級生態(tài)圈中hyper-v資源池的概念主要被用于集合收集資源計量,或資源的冗余與負載均衡,針對于資源的冗余與負載均衡主要體現(xiàn)于虛擬交換機
根資源池
默認情況下在hyper-v中,所有資源都屬于一個根資源池,圖形界面無法看到,如單獨創(chuàng)建資源池,根資源池則會顯示出來。
根資源池默認處于禁用狀態(tài),即不會發(fā)揮作用
當(dāng)我們針對于虛擬機啟用資源計量時,根資源池被啟用
根資源池是默認的集合,所有主機托管的虛擬機資源都在里面,用于匯總顯示資源計量數(shù)據(jù)
資源池
創(chuàng)建資源池后可以通過資源計量匯總顯示某個資源池的整體使用情況
用戶自定義創(chuàng)建的池將會以根資源池的子集存在,但可以有獨立的配置
提供虛擬交換機資源池的冗余及負載均衡,實現(xiàn)虛擬機接入資源池,而非單個虛擬交換機,單個虛擬交換機故障,不會影響虛擬機通信
虛擬交換機資源池可以實現(xiàn)跨主機,如果不同主機資源池名稱一致,則可以執(zhí)行遷移
默認情況下虛擬機屬于根資源池,如果需要加入自定義資源池需關(guān)機后加入
同一主機不同資源類型資源池名稱可以一致
針對于VHD資源池可以通過在不同主機創(chuàng)建不同路徑,但相同名稱的VHD資源池,以實現(xiàn)虛擬機遷移過去自動更新存儲路徑
資源計量,資源池,與WSFC的整合
基礎(chǔ)打好后接下來該來到我們的主戲了,如果這兩項功能和群集在一起會怎么樣?
事實上老王相信如果企業(yè)部署了多臺虛擬化主機,則一定會考慮部署高可用群集,以實現(xiàn)業(yè)務(wù)連續(xù)性,避免單機故障影響上面的虛擬機,那么如果這時候如果我們需要資源計量應(yīng)該如何去使用,恰好,群集虛擬機配置文件是存放共享區(qū)域,而我們虛擬機資源計量的數(shù)據(jù)也是存在虛擬機配置文件,因此對于一個群集的虛擬機,我們僅需要在群集層面開啟資源計量,不論虛擬機遷移到任何一個節(jié)點,都不會影響到資源計量,針對于資源計量的層面也從單機上升至整個群集
實驗環(huán)境介紹
AD&北京ISCSI
Lan:10.0.0.2 255.0.0.0
ISCSI:30.0.0.2 255.0.0.0
12HV01
MGMT: 10.0.0.50 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.50 255.0.0.0
Heart:18.0.0.50 255.0.0.0
12HV02
MGMT: 10.0.0.51 255.0.0.0 DNS 10.0.0.100
ISCSI:30.0.0.51 255.0.0.0
Heart:18.0.0.51 255.0.0.0
當(dāng)前群集承載虛擬機三臺,虛擬機處于關(guān)機狀態(tài),本文使用12R2群集為例,該功能在16上面并無變化
實驗1.演示群集下開啟管理資源計量
群集本身并沒有提供資源計量的功能,老王這里找到一個通過Powershell function實現(xiàn)的方法,下載地址如下
ClusterResourcePoolFunctions.PS1
打開之后可以在ISE中看到function的實現(xiàn),加載function后才可以使用ClusterResourcePool命令
#獲取群集計量狀態(tài)
Get-ClusterResourcePool -Cluster hvcluster
#開啟群集虛擬機資源計量
這里我們可以通過VMFilter配合命令來控制資源計量,例如我們可以針對于虛擬機以國家,部門,用途命名,開啟資源計量僅針對一個命名范圍內(nèi)開啟
Enable-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT*
#開啟虛擬機
Start-VM -ComputerName 12HV01 -Name OGIT-SPDB
#獲取群集資源池計量狀態(tài),可以看到當(dāng)前部分已經(jīng)為True,所有資源屬于根存儲池,由根資源池負責(zé)匯總數(shù)據(jù)
#獲取群集資源計量報告
Measure-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT*
這里我們同樣可以利用VMFilter命令僅獲取群集某一個邏輯范圍內(nèi)的計量數(shù)據(jù),可以看到這里只有SPDB的數(shù)據(jù),因為開啟資源計量后其它虛擬機還沒開機過一次,一旦其它虛擬機開機后也會產(chǎn)生數(shù)據(jù)
如果我們在命令后面加上format-list參數(shù),則可以顯示出資源計量所收集的所有數(shù)據(jù),可以看到,由于我們使用了function,因此會顯示出群集所有節(jié)點開啟資源計量虛擬機的數(shù)據(jù)
實驗2.演示群集下創(chuàng)建資源池,以配合資源計量使用
#創(chuàng)建群集資源池
New-ClusterResourcePool -Cluster hvcluster -ResourcePool OGITPOOL
#獲取虛擬機所屬資源池狀態(tài)
Get-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT* | Format-Table
#設(shè)置虛擬機資源池為新創(chuàng)建群集資源池,需在虛擬機關(guān)機狀態(tài)下執(zhí)行
Set-ClusterResourcePoolVM -Cluster hvcluster -ResourcePool OGITPOOL -VMFilter OGIT*
#再次獲取群集虛擬機資源池狀態(tài)
Get-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT* | Format-Table
#開啟資源池內(nèi)范圍內(nèi)虛擬機
Start-VM -ComputerName (Get-ClusterNode -Cluster hvcluster).name -Name OGIT*
#獲取群集資源池資源計量報告,現(xiàn)在我們可以通過資源池來匯總顯示群集里面一定范圍內(nèi)虛擬機的計量數(shù)據(jù),如果群集各節(jié)點中有很多虛擬機,現(xiàn)在我們可以通過這種方式匯總出來我們需要的計量數(shù)據(jù)
Measure-ClusterResourcePool -Cluster hvcluster -poolname -OGITPOOL
實驗3. 重置虛擬機,資源池資源計量數(shù)據(jù)
#關(guān)閉資源池范圍內(nèi)虛擬機,事實上如果不關(guān)機也可以執(zhí)行重置操作,但是在線重置之后數(shù)據(jù)會立刻增加,如果為了重新初始化數(shù)據(jù),建議還是關(guān)機執(zhí)行操作
Stop-VM -ComputerName (Get-ClusterNode -Cluster hvcluster).name -Name OGIT*
#獲取群集資源池計量報告
measure-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT*
#重置單臺虛擬機計量數(shù)據(jù)
Reset-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT-SPDB
#重置整個群集資源池計量數(shù)據(jù),重置完成后再次開機時虛擬機將重新計量
Reset-ClusterResourcePool -Cluster hvcluster -ResourcePool OGITPOOL
實驗4.關(guān)閉群集虛擬機資源計量,群集資源池
#將虛擬機從自定義資源池移除,返回根資源池(需在虛擬機關(guān)機狀態(tài)下執(zhí)行)
Set-ClusterResourcePoolVM -Cluster hvcluster -ResourcePool "Primordial" -VMFilter OGIT*
#關(guān)閉群集虛擬機資源計量
Disable-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT*
#刪除自定義資源池(需確保資源池下無內(nèi)容后執(zhí)行)
Remove-ClusterResourcePool -Cluster hvcluster -ResourcePool OGITPOOL
#獲取群集虛擬機計量開啟狀態(tài)
Get-ClusterResourcePool -Cluster hvcluster
#獲取虛擬機資源池狀態(tài)
Get-ClusterResourcePoolVM -Cluster hvcluster -VMFilter OGIT*| Format-Table * -AutoSize
參考鏈接:http://www.hypervrockstar.com/dd_resource-metering/
到這里我們完成了本章的全部實驗,通過老王的介紹相信大家對于資源計量,資源池,以及與群集的配合會有新的思考,嚴格來說這是三個不同的功能,但是結(jié)合在一起就能發(fā)揮出更好的效果,資源計量可以針對于單機,主機全部,群集,資源池虛擬機進行使用計量,資源池可以針對虛擬資源進行匯總分析,實現(xiàn)冗余和負載均衡,配合群集,可以實現(xiàn)資源計量群集里面的指定范圍虛擬機,通過資源池匯總?cè)杭锩嬷付ǚ秶摂M機的計量,希望未來這項功能可以越來越實用,有更多的場景可以用上,希望看到的朋友都能有自己的收獲
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。