持續性記憶體 (PMem) 也稱為非揮發性記憶體 (NVM),即使在電源中斷後也能維護資料。PMem 可供對停機時間敏感且需要高效能的應用程式使用。

可以設定虛擬機器在獨立主機或叢集中使用 PMem。會將 PMem 視為本機資料存放區。持續性記憶體可顯著減少儲存區延遲。在 ESXi 中,您可以建立設定了 PMem 的虛擬機器,並且這些虛擬機器中的應用程式可以利用此增加的速度。最初開啟虛擬機器的電源後,會為其保留 PMem,無論是否已開啟或關閉電源。此 PMem 仍保持保留狀態,直到移轉或移除虛擬機器。

處於兩種不同模式的虛擬機器可耗用持續性記憶體。舊版客體作業系統仍可利用虛擬持續性記憶體磁碟功能。

  • 虛擬持續性記憶體 (vPMem)
    使用 vPMem 時,記憶體會做為虛擬 NVDIMM,向客體作業系統公開。這會讓客體作業系統在位元組可定址隨機模式下使用 PMem。
    備註: 您必須使用虛擬機器硬體版本 14 和支援 NVM 技術的客體作業系統。
    備註: 設定 PMem 虛擬機器的 vSphere HA 時,必須使用虛擬機器硬體版本 19。如需詳細資訊,請參閱 設定 PMem 虛擬機器的 vSphere HA
  • 虛擬持續性記憶體磁碟 (vPMemDisk)

    使用 vPMemDisk 時,記憶體可做為虛擬 SCSI 裝置,由客體作業系統存取,但虛擬磁碟儲存在 PMem 資料存放區中。

當您建立具有 PMem 的虛擬機器時,會在建立硬碟時為其保留記憶體。在建立硬碟時也會進行許可控制。如需詳細資訊,請參閱 vSphere HA 許可控制 PMem 保留

在叢集中,每個虛擬機器具有部分 PMem 容量。PMem 的總量不得大於叢集中的可用總量。PMem 的耗用包括已開啟電源和已關閉電源的虛擬機器。如果將虛擬機器設定為使用 PMem,且您不使用 DRS,則必須手動選擇具有足夠 PMem 來放置虛擬機器的主機。

NVDIMM 和傳統儲存區

NVDIMM 做為記憶體進行存取。當您使用傳統儲存區時,應用程式和儲存裝置之間存在軟體,這可能會導致處理時間延遲。使用 PMem 時,應用程式會直接使用儲存區。這表示 PMem 效能優於傳統儲存區。儲存區位於主機本機。但是,由於系統軟體無法追蹤所做的變更,備份之類的解決方案目前不會使用 PMem。

如果在不是完全寫入非 PMem 資料存放區的模式下使用 vPMem,vSphere HA 之類的解決方案範圍會有限。為啟用了容錯移轉的 vPMem 虛擬機器啟用 vSphere HA 後,虛擬機器可以容錯移轉至不同主機。發生此情況時,虛擬機器會使用新主機上的 PMem 資源。為了釋放舊主機上的資源,廢棄項目收集器會定期識別和釋放這些資源供其他虛擬機器使用。

命名空間

PMem 的命名空間會在 ESXi 啟動之前進行設定。命名空間類似於系統上的磁碟。ESXi 會讀取命名空間,並透過寫入 GPT 標頭,將多個命名空間合併為一個邏輯磁碟區。如果您先前未設定命名空間,依預設會自動進行格式化。如果已進行格式化,ESXi 會嘗試掛接 PMem。

GPT 資料表

如果 PMem 儲存區中的資料已損毀,可能會導致 ESXi 失敗。為避免這種情況,在 PMem 掛接期間,ESXi 會檢查中繼資料是否有錯誤。

PMem 區域

PMem 區域是代表單一 vNVDimm 或 vPMemDisk 的連續位元組資料流。每個 PMem 磁碟區屬於單一主機。如果管理員必須管理具有大量主機的叢集中的每個主機,這可能會難以管理。但是,您不必管理每個個別資料存放區。可以改為將叢集中的整個 PMem 容量視為一個資料存放區。

VC 和 DRS 會自動化 PMem 資料存放區的初始放置。建立虛擬機器時,或將裝置新增至虛擬機器時,請選取本機 PMem 儲存區設定檔。其餘設定會自動進行。有一項限制,就是 ESXi 不允許您將虛擬機器主資料夾放置於 PMem 資料存放區。這是因為,它會使用寶貴空間來儲存虛擬機器記錄檔和狀態檔案。這些區域用來代表虛擬機器資料,並可以公開為位元組可定址 NVDIMM 或 vPMem 磁碟。

移轉

由於 PMem 是本機資料存放區,如果您想要移動虛擬機器,必須使用 Storage vMotion。具有 vPMem 的虛擬機器只能移轉至具有 PMem 資源的 ESX 主機。具有 vPMemDisk 的虛擬機器可以移轉至不具有 PMem 資源的 ESX 主機。

錯誤處理和 NVDimm 管理

主機故障可能會導致未在完全寫入模式下的 vPMem 虛擬機器上失去可用性。如果發生災難性錯誤,您可能會遺失所有資料,且必須執行手動步驟來重新格式化 PMem。

vSphere Client 的 vSphere 持續性記憶體

關於持續性記憶體的簡要概述,請參閱:

在 vSphere Client 中使用 PMem 的增強功能

如需使用 PMem 時以 HTML5 為基礎的 vSphere Client 中的增強功能的簡要概觀,請參閱:

在 vSphere Client 中移轉和複製使用 PMem 的虛擬機器

如需移轉和複製使用 PMem 之虛擬機器的簡要概觀,請參閱:

設定 PMem 虛擬機器的 vSphere HA

您可以在直接寫入模式下設定 PMem 虛擬機器的 vSphere HA,以便當主機發生故障時,虛擬機器可在另一台正常運作的主機上還原。

必要條件

  • 您必須選取硬體版本 19。
  • 不支援具有 vPMemDisks 的 PMem 虛擬機器。

程序

  1. 新增虛擬機器精靈中建立新虛擬機器時,請選取自訂硬體
    1. 按一下新增裝置,然後從下拉式功能表中選取新增 NVDIMM
    2. 按一下核取方塊允許所有 NVDIMM 裝置在其他主機上進行容錯移轉
    3. 下一步,然後完成新增虛擬機器精靈。
      主機發生故障時,NVDIMM PMem 資料無法復原。依預設,HA 將不會嘗試在另一台主機上重新啟動此虛擬機器。在主機發生故障時允許 HA 對虛擬機器進行容錯移轉,這樣可在具有新的空白 NVDIMM 的另一台主機上重新啟動虛擬機器。
  2. 若要在現有的虛擬機器上啟用 HA,請瀏覽至該虛擬機器。
    1. 虛擬機器硬體下,按一下編輯
    2. 選取 NVDIMM。
    3. 按一下核取方塊允許所有 NVDIMM 裝置在其他主機上進行容錯移轉
    4. 按一下確定
      在主機發生故障時,HA 將在具有新的空白 NVDIMM 的其他主機上重新啟動此虛擬機器。

vSphere HA 許可控制 PMem 保留

許可控制是 vSphere HA 用於確保叢集內之容錯移轉容量的一項原則。

提高容許的潛在主機故障次數將增加可用性限制和保留的容量。您可以為主機容錯移轉容量保留一定百分比的持續性記憶體。這是已封鎖的實際儲存區容量,必須考慮關閉主機電源。

編輯叢集設定下您可以選取許可控制以指定主機將容許的故障次數。

如果選取由以下項目定義的 CPU/記憶體保留區:

  • 叢集資源百分比,叢集中的部分持續性記憶體容量專用於容錯移轉用途,即使叢集中的虛擬機器目前未使用持續性記憶體亦是如此。此百分比可透過一個覆寫指定,或是根據容許的主機故障次數設定自動計算。啟用 PMem 許可控制時,即使存在使用 PMem 做為磁碟的虛擬機器,系統也一併保留整個叢集的 PMem 容量。
  • 插槽原則 (已開啟電源的虛擬機器),會使用叢集資源百分比原則覆寫插槽原則 (僅限持續性記憶體資源)。百分比值是透過叢集容許的主機故障次數設定自動計算得出的,且無法被覆寫。
  • 專用容錯移轉主機,專用容錯移轉主機的持續性記憶體專用於容錯移轉用途,而您將無法在這些主機上佈建具有持續性記憶體的虛擬機器。
備註: 選取許可控制原則後,還必須按一下 保留持續性記憶體容錯移轉容量核取方塊,以啟用 PMem 許可控制。

vSphere 記憶體監控和修復

vMMR 收集資料並顯示效能統計資料,以便您可以確定應用程式工作負載是否因記憶體模式而出現效能降低問題。

可以在應用程式直接模式或記憶體模式下,在 BIOS 設定中設定 Intel Optane 持續性記憶體。在應用程式直接模式下,持續性記憶體可以作為位元組可定址持續性記憶體和 DRAM 一起存取。在記憶體模式下,DRAM 將成為硬體快取,較大的 PMem 將變為揮發性記憶體並顯示為系統記憶體。

記憶體模式對虛擬機器不可見且透明。在記憶體模式下設定系統後,系統將顯示為具有 DRAM 的傳統系統。一個叢集可以包含一組具有不同組態的主機。vSphere 顯示有關處於記憶體模式的系統的其他資訊。ESXi 可對用於收集主機層級和虛擬機器層級統計資料的相關資訊的效能計數器進行程式設計。這些效能統計資料用於建立警示。還可以在效能圖中追蹤統計資料。

可以透過主機摘要索引標籤下的記憶體分層: 硬體和一些其他詳細資訊瞭解系統是否處於記憶體模式。

螢幕擷取畫面顯示在主機 [摘要] 索引標籤下的 [記憶體分層: 硬體和一些其他詳細資訊] 中,系統處於記憶體模式。

還可以在設定 > 硬體 > 概觀 > 記憶體下檢視 DRAM 和 PMEM 的大小。

螢幕擷取畫面顯示 [設定] > [硬體] > [概觀] > [記憶體] 下的 DRAM 和 PMEM 的大小。

ESXi 收集並公開兩種記憶體統計資料:

  • 主機層級統計資料:記憶體子元件透過對效能計數器進行程式設計衡量 DRAM 和 PMem 效能。主機層級統計資料包括不同記憶體類型 (DRAM、PMem) 的總計、讀取/寫入頻寬、讀取/寫入延遲和遺漏率。
  • 虛擬機器層級統計資料:vSphere 監控效能計數器,以取得有關虛擬機器的 DRAM 和 PMEM 讀取頻寬資料。

主機和虛擬機器的效能圖下都有新的 [記憶體] 窗格。該窗格將顯示記憶體詳細資訊,如「記憶體利用率」、「記憶體回收」以及新的統計資料。在 ESXi 主機層級上,可以監控記憶體頻寬和記憶體遺漏率圖。在虛擬機器層級,可以檢視 PMem 讀取頻寬和 DRAM 讀取頻寬。

ESXi 主機的虛擬機器索引標籤中,可以檢視包含位於該主機上的所有虛擬機器的效能資訊的清單。若要顯示記憶體模式對虛擬機器的影響的相關資訊,請按一下視圖資料行 (視圖資料行圖示) 圖示,然後選取「作用中記憶體」、「DRAM 讀取頻寬」和「PMem 讀取頻寬」度量。

有兩個預先設定的預設警示,一個在主機層級 (主機記憶體模式作用中 DRAM 使用量較高),另一個在虛擬機器層級 (虛擬機器 PMem 頻寬使用量較高)。如果滿足警示條件,將發佈事件以觸發相應的警示。您還可以根據效能度量建立自訂警示。vMMR 警示僅可在設定了記憶體模式的主機上運作。

在叢集中啟用並完全自動化 DRS 時,如果主機的作用中記憶體利用率高於 DRAM 快取大小的一定百分比,則 DRS 可能會將某些虛擬機器移出主機以均衡負載。

如需詳細資訊,請參閱〈vSphere 監控和效能〉

備註: Intel Broadwell、Skylake、Cascade Lake 和 Ice Lake 平台支援 vMMR。主機層級的 DRAM 統計資料在這些平台上可用。主機和虛擬機器層級的 PMem 統計資料僅在記憶體模式下設定的 Cascade Lake 和 Ice Lake 主機中可用。