在Windows Server 2012 中,Hyper-V包含了一種新的資源計量技術,可以對虛拟機的負載使用情況進行記錄和統計。Hyper-V可對CPU和記憶體資源使用情況進行計量,Windows Server 2012提供了兩種方法來擷取客戶對虛拟機資源使用情況的曆史資料:Windows PowerShell中的Hyper-V cmdlet,以及虛拟化WMI提供程式中新增的API。Hyper-V托管供應商啟用資源計量技術需要:
1、 為客戶建立虛拟機,随後針對虛拟機啟用資源計量功能一次。在多租戶環境中,提供商對每個資源池啟用計量。随後Hyper-V即可追蹤每個虛拟機的資源使用情況,直到該虛拟機被删除。
2、 在每個記賬周期的結尾時查詢資源用量資料,如果需要即可使用該資料對客戶收費。
3、 在每個收款周期結尾時重置統計資料,Hyper-V就會用一個新的收款周期重新統計資源用量。
Windows Server 2012中的Hyper-V可以讓提供商建構多租戶環境,在這樣的環境中,虛拟機可以通過更隔離,更安全的方式提供給多個客戶。因為一個客戶可能需要多個虛拟機,Windows Server 2012通過使用資源池這一Hyper-V功能令此任務大為簡化。資源池是一種邏輯容器,可将屬于同一位客戶的所有虛拟機的資源聚集在一起,并可對客戶的資源使用總量進行單點查詢。資源計量功能可用于所有Hyper-V操作。在Hyper-V主控端之間移動虛拟機(例如使用實時遷移,脫機遷移,或存儲遷移)并不會影響所收集到的資料。
Windows PowerShell 中的 Hyper-V cmdlet 和虛拟化 WMI 提供程式中新的 API。這些工具可以獲得虛拟機在特定時間内使用如下資源的名額:
1、 平均 CPU 使用率,在一定時間内以兆赫為機關進行測量。
2、 平均實體記憶體使用量,以兆位元組為機關進行測量。
3、 最小記憶體使用量(實體記憶體的最低數量)。
4、 最大記憶體使用量(實體記憶體的最高數量)。
5、 配置設定給虛拟機的最大磁盤空間容量。
6、 針對虛拟網絡擴充卡的傳入網絡總流量,以兆位元組為機關進行測量。
7、 針對虛拟網絡擴充卡的傳出網絡總流量,以兆位元組為機關進行測量。
在我們下面的實驗中将通過Windows PowerShell啟用并配置Hyper-V Server資源計量。具體步驟如下:
登陸Hyper-V伺服器并以管理者身份運作Windows PowerShell:
<a href="http://s3.51cto.com/wyfs02/M01/7A/B0/wKioL1awYcbAOibUAABMusetK5w570.png" target="_blank"></a>
1、 使用以下語句啟用Hyper-V Server資源計量這一功能:
Enable-VMResourceMetering –VMName *
<a href="http://s3.51cto.com/wyfs02/M02/7A/B1/wKiom1awYXrjqewdAABQrwm38Rk821.png" target="_blank"></a>
2、 如果希望為單獨的Hyper-V虛拟機都啟用資源計量這一功能,您可以使用:
Enable-VMResourceMetering –VMName MDT
<a href="http://s3.51cto.com/wyfs02/M02/7A/B0/wKioL1awYcrw7JfoAABt6pzgWTs983.png" target="_blank"></a>
3、 使用“Measure-VM”指令擷取該虛拟機的詳細資源資訊:
Measure-VM –VMName MDT
<a href="http://s3.51cto.com/wyfs02/M02/7A/B0/wKioL1awYczBuxo8AACLIjf6Is8192.png" target="_blank"></a>
4、 使用下面的指令獲得更多關于虛拟機的資源資訊:
Measure-VM -VMName MDT | Format-List
<a href="http://s3.51cto.com/wyfs02/M00/7A/B0/wKioL1awYdCAgQIIAAExvXa-OeE481.png" target="_blank"></a>
5、 使用如下指令檢視那些虛拟機開啟了Hyper-v資源計量功能:
Get-VM * | Format-List Name,ResourceMeteringEnabled
<a href="http://s3.51cto.com/wyfs02/M00/7A/B1/wKiom1awYYXDeGLVAABsboERaPw902.png" target="_blank"></a>
6、 使用如下指令啟用Hyper-V虛拟機中關于記憶體資源計量的資源池:
Enable-VMResourceMetering –ResourcePoolName Primordial –ResourcePoolType Memory
<a href="http://s3.51cto.com/wyfs02/M01/7A/B0/wKioL1awYdWzUlsiAAAzPAu7pUE825.png" target="_blank"></a>
7、 使用下面的指令檢視詳細的關于記憶體資源計量的資源池:
Measure-VMResourcePool -Name Primordial -ResourcePoolType Memory
<a href="http://s3.51cto.com/wyfs02/M02/7A/B1/wKiom1awYYjAPkPwAABfOehk130202.png" target="_blank"></a>
8、 使用下面的指令檢視虛拟機的網絡擴充卡的傳入/傳出網絡總流量:
(Measure-VM -VMName MDT).NetworkMeteredTrafficReport
<a href="http://s3.51cto.com/wyfs02/M02/7A/B0/wKioL1awYdizunTwAAB9S2GP4ds396.png" target="_blank"></a>
9、 使用下面的指令重置Hyper-V資源計量資料:
Reset-VMResourceMetering –VMName MDT(重置一台)
<a href="http://s3.51cto.com/wyfs02/M02/7A/B0/wKioL1awYdrQTqF6AABBoaknQPU133.png" target="_blank"></a>
Reset-VMResourceMetering –VMName *(重置所有)
<a href="http://s3.51cto.com/wyfs02/M02/7A/B1/wKiom1awYY3jm5f1AABDN1bQdIo982.png" target="_blank"></a>
10、 禁用Hyper-V Server資源計量:
Disable-VMResourceMetering –VMName MDT(針對一台VM)
<a href="http://s3.51cto.com/wyfs02/M01/7A/B1/wKiom1awYY6AzcPVAABCOnKx4-U742.png" target="_blank"></a>
Disable-VMResourceMetering –VMName *(針對所有VM)
<a href="http://s3.51cto.com/wyfs02/M01/7A/B0/wKioL1awYd2wn6vQAAA8kZ1wYlA775.png" target="_blank"></a>
11、 驗證虛拟機是否已經禁用了Hyper-V資源計量這一功能:
<a href="http://s3.51cto.com/wyfs02/M02/7A/B1/wKiom1awYZChFHoSAABjqycmU_I028.png" target="_blank"></a>
本文轉自wuyvzhang 51CTO部落格,原文連結:http://blog.51cto.com/wuyvzhang/1740703,如需轉載請自行聯系原作者