Hyper V Server記憶體技術

2021-09-22 00:25:24 字數 4484 閱讀 1248

記憶體分配給虛擬機器之後,hyper-v主機把系統可用記憶體資源分配給建立之後的虛擬機器,預設的記憶體我們稱之為靜態記憶體,即當你建立虛擬機器時你給多少g記憶體那麼虛擬機器就分配多少g記憶體,windows server 2012/r2 hyper-v提供的動態記憶體功能,管理員可以重新調整資源,讓有限的記憶體資源能夠得到充分利用,以便達到更好的記憶體整合和更高的管理效率。

一:靜態記憶體:即分配給虛擬機器的記憶體。虛擬機器沒有啟動的時候,不會占用物理計算機記憶體,虛擬機器啟動時,將從物理計算機記憶體中劃分出指定大小的記憶體給虛擬機器使用,物理計算機將減少同樣大小的記憶體。

二:動態記憶體:

(一) 技術概述:在 windows server 2008 r2 service pack 1 (sp1) 中引入的「動態記憶體」,將啟動記憶體定義為虛擬機器的最低記憶體數量。但是,windows 在啟動過程中比在穩定狀態中需要更多記憶體。因此,管理員有時會給虛擬機器分配額外的記憶體,因為 hyper-v 無法在啟動後從這些虛擬機器**記憶體。在 windows server 2012/r2 中,「動態記憶體」引入了最低記憶體設定,從而允許 hyper-v 從虛擬機器**未使用的記憶體。這反映在增加的虛擬機器合併數量方面,尤其是在虛擬桌面基礎結構 (vdi) 環境中。windows server 2012/r2 還引入了「智慧型分頁」技術以獲得可靠的虛擬機器重新啟動操作。雖然最低記憶體可以增加虛擬機器的合併數量,但它也帶來一項挑戰。如果一台虛擬機器具有比其啟動記憶體更小數量的記憶體,如果它重新啟動,則 hyper-v 需要附加的記憶體才能重新啟動虛擬機器。由於主機記憶體壓力或虛擬機器狀態的原因,hyper-v 可能並不總是有附加記憶體可用。這可能偶爾會導致虛擬機器重新啟動失敗。「智慧型分頁」用於彌補最低記憶體和啟動記憶體之間的差距,使得虛擬機器能可靠地重新啟動。

(二) 術語:

a. 記憶體過量:

1、什麼是記憶體過量:記憶體過量使用允許虛擬機器使用比物理主機可用的更多地記憶體,例如宿主機有2g記憶體,可以在其上執行4臺擁有1g記憶體的虛擬機器。記憶體過量使用時因為有比宿主機更多的虛擬記憶體,因此企業管理員能夠最大化物理主機中虛擬機器數量,而不用照顧物理記憶體總量的限制。如果沒有這個技術,虛擬機器記憶體大小最多只能和虛擬主機記憶體使用相同。在企業實際生產環境中虛擬機器通常消耗的記憶體比需求的的要少,這樣不利於充分利用硬體資源,並限制了在當前伺服器上能執行的虛擬機器數量。

2、hyper-v不支援記憶體過量使用:hyper-v不允許記憶體過量使用,例如如果分配4gb記憶體給hyper-v的一台虛擬機器,實際當啟動這台虛擬機器的時候只使用2gb記憶體,但是hyper-v會檢查是否有4gb的物理記憶體可用,如果有,以分配給這台虛擬機器的4gb記憶體將會被鎖定,只能用於這台虛擬機器,如果4gb不可用則無法啟動這台虛擬機器,即使只需要2gb記憶體也依然無法啟動這台虛擬機器。

3、hyper-v記憶體使用機制:hyper-v通過提供「記憶體緩衝區」、「記憶體權重」以及「記憶體優先順序」來允許根據記憶體使用率酉華虛擬機器記憶體使用。當出現爭用記憶體時,配置了高優先順序的虛擬機器首先獲得內記憶體資源。hyper-v管理器顯示沒太虛擬機器的記憶體使用情況幫助管理員更好的管理記憶體分配。

b. 記憶體緩衝區:

1、什麼事記憶體緩衝區:hyper-v虛擬記憶體的基本設定,為每台虛擬機器保留額外空間。記憶體緩衝區為虛擬機器提供比實際需求更多地記憶體使用空間。虛擬機器記憶體緩衝區使用百分比計算,預設為20%,微軟緩衝區百分比範圍為5%至95%。

2、記憶體緩衝區執行機制:

(1) 當記憶體需求在磨某一時間間隔突然增大時,可以使用保留區域,。在沒有快取情況下,這一時間間隔內突然增大的記憶體需求會迫使虛擬機器進入記憶體溢位狀態,這一狀態下記憶體頁面檔案將被自動寫入磁碟,資料從高速執行的記憶體空間中轉移到相對極慢的磁碟上,會導致計算效能明顯下降。

(2) 當記憶體需求發生改變時,額外保留的空間可以降低虛擬機器吧記憶體資料寫入磁碟的概率。同時,更大的快取空間也帶來了浪費。保留的記憶體區域總是處於可用狀態,因此在虛擬機器用到它之前都是閒置的。使用者設定範圍很大,微軟緩衝區百分比範圍為5%至95%,管理員可以設定任意數字。一般較為建議的是,開始的時候設定較低一些,當發現虛擬機器總是發生寫入磁碟的情況時對這一百分比進行調整。

c. 記憶體權重:

1、什麼是記憶體權重:hyper-v動態記憶體技術總是不斷的平衡記憶體使用,但有時記憶體資源無法滿足所有虛擬機器的需求。如果啟用過多的虛擬機器,或者某台虛擬機器執行某個應用程式時突然需要大量記憶體資源,當發生這種情況時,記憶體權重設定可以對虛擬機器設定優先權分類。低優先順序的虛擬機器在高優先順序虛擬機器記憶體分配完之前無法獲得記憶體資源。

2、記憶體權重的作用:

(1) 高優先順序的虛擬機器得到更多的記憶體;

(2) 低優先順序的虛擬機會被優先「奪走」記憶體;

(3) 當啟動一台「新」虛擬機器時,所給予他的記憶體**於已經執行的虛擬機器占有的記憶體,具體分配多少,則要看啟動虛擬機器的記憶體權重的高低。

3、記憶體計算:

(1) 計算公式:虛擬機器可用記憶體=啟動記憶體+啟動記憶體*(緩衝區百分比/(1-緩衝區百分比));

(2) 例項:管理員新建一台虛擬機器,分配的記憶體大小為1200mb,緩衝區百分比為20%,則hyper-v會附加額外的20%/(1-20%)=300mb,即總共1500mb記憶體給虛擬機器。如果管理員設定的緩衝區百分比為80%,則會附加額外的80%/(1-80%)*1200mb=4800mb,即總共6000mb記憶體給虛擬機器。

d. 智慧型分頁:

windows server 2012/r2 還引入了「智慧型分頁」技術以獲得可靠的虛擬機器重新啟動操作。雖然最低記憶體可以增加虛擬機器的合併數量,但它也帶來一項挑戰。如果一台虛擬機器具有比其啟動記憶體更小數量的記憶體,如果它重新啟動,則 hyper-v 需要附加的記憶體才能重新啟動虛擬機器。由於主機記憶體壓力或虛擬機器狀態的原因,hyper-v 可能並不總是有附加記憶體可用。這可能偶爾會導致虛擬機器重新啟動失敗。「智慧型分頁」用於彌補最低記憶體和啟動記憶體之間的差距,使得虛擬機器能可靠地重新啟動。如果虛擬機器配置了比啟動記憶體更少的最低記憶體,為了提供可靠的重新啟動操作,則 hyper-v 會在 windows server 2012/r2 中使用「智慧型分頁」。當重新啟動虛擬機器需要更多記憶體時,這種記憶體管理方法將使用磁碟資源作為附加的臨時記憶體。這種方法既有優點,也有缺點。它提供了一種可靠的方法,在沒有可用的物理記憶體時,仍可確保虛擬機器正常執行。但是,它也會降低虛擬機器的效能,因為磁碟訪問速度比記憶體訪問速度慢得多。

1、為了儘量減少「智慧型分頁」對效能的影響,hyper-v 只在如下情況下才使用它:

(1) 正在重新啟動虛擬機器時;

(2) 沒有可用的物理記憶體時;

(3) 在主機上執行的其他虛擬機器中沒有可**的記憶體時;

2、「智慧型分頁」不能在以下情況下使用:

(1) 虛擬機器正從「關閉狀態」啟動(而不是重新啟動);

(2) 需要超額認購記憶體用於執行虛擬機器時;

(3) 虛擬機器正在 hyper-v 群集中執行故障轉移時

當主機記憶體被超額認購時,hyper-v 在來賓作業系統中繼續依靠分頁操作,因為它比「智慧型分頁」更有效。在來賓作業系統中,分頁操作由 windows 記憶體管理器來執行。windows 記憶體管理器比 hyper-v 主機掌握更多有關虛擬機器內的記憶體使用資訊,這意味在選擇用於分頁的記憶體時,windows 記憶體管理器可以提供比 hyper-v 更好的資訊。正因如此,相比「智慧型分頁」它會導致更少的系統開銷。為進一步降低「智慧型分頁」的影響,hyper-v 將在完成啟動之後從虛擬機器中刪除記憶體。為達到此目,它會在來賓作業系統中與「動態記憶體」元件進行協調(該過程有時也被稱為「氣球」(ballooning)),從而使虛擬機器停止使用「智慧型分頁」。利用這種技術,「智慧型分頁」的使用只是暫時的,並且預計不會超過 10 分鐘。需要注意:

(1) 只有在虛擬機器需要時才會建立「智慧型分頁」檔案;

(2) 在刪除附加數量的記憶體之後,系統還會刪除「智慧型分頁」檔案;

(3) 直到下一次在沒有足夠物理記憶體的情況下需要重新啟動虛擬機器之前,它一直不能再次使用「智慧型分頁」。

下圖顯示了使用 hyper-v 智慧型分頁進行重啟的虛擬機器的記憶體對映情況。

為了進一步降低 hyper-v 智慧型分頁的影響,在虛擬機器啟動完成之後,hyper-v 會從虛擬機器移除記憶體,與客戶機內的動態記憶體元件協調(這個過程有時稱為「膨脹」),因此虛擬機器停止使用 hyper-v 智慧型分頁。在這項技術中,hyper-v 智慧型分頁的使用是臨時的,不應超過 10 分鐘。下圖顯示了 hyper-v 在虛擬機器完成啟動之後,從虛擬機器移除記憶體。

windows server 2012/r2開始對hyper-v 動態記憶體的增強,有助於在增強 hyper-v 操作可靠性的同時,實現更高的合併數量。可以不關閉虛擬機器而修改虛擬機器的記憶體配置。如果有空閒虛擬機器或低負載虛擬機器,例如在池化vdi 環境,hyper-v 增加的動態記憶體可以用來提高合併量,並提高重啟操作的可靠性。這可以降低客戶的成本,尤其在有許多空閒或低負載虛擬機器的池化環境中更是如此。利用對動態記憶體的執行時配置修改,可以減少停機時間、提高響應需求變化的敏捷性,從而帶來整體的 it 生產力提高。利用這些新功能,還實現了響應需求變化的敏捷性。

Hyper v Server記憶體管理

許多早期接觸hyper v的朋友都知道在windows server 2008 r2 sp1之前的hyper v版本中,管理員只能固定虛擬機器所使用的物理內的存大小,當虛擬機器啟動時會和物理計算機啟動一樣,自動的將管理員分配的記憶體完全占用。這樣可能會出現以下2個問題 1 因為hyper v不支援記...

配置Hyper V Server 資源計量

企業管理員為了實施可同時測量已分配資源和實際使用資源的高階計費策略,早期版本的 hyper v 要求使用者開發自己的 對效能計數器進行輪詢和彙總的計費解決方案。這些解決方案的開發成本可能比較高,而且有時還會導致歷史資料的丟失。為了幫助更準確 更簡單地收費同時保護歷史資訊,從windows serve...

Hyper V Server網路高階功能特性介紹

一 mac位址 hyper v上執行著的虛擬機器,管理員一般都會繫結網路到一定的網路中並分配網絡卡,配置網絡卡屬性,不管它使用的網路型別是外部內部 還是專用。當管理員安裝完成hyper v角色以後,hyper v就內建了256個mac位址以供虛擬機器使用,這256個mac位址,也就是mac位址池。為...