永久内存 (PMem) 也称为非易失性内存 (NVM),它即使在断电之后也能够保持数据不丢失。对停机时间敏感并要求高性能的应用程序可以使用 PMem。

可将虚拟机配置为在独立主机或集群中使用 PMem。PMem 会被视为本地数据存储。永久内存可显著降低存储延迟时间。在 ESXi 中,您可以创建配置了 PMem 的虚拟机,由此带来的速度提升也可以让这些虚拟机内的应用程序受益。虚拟机首次打开电源后,无论虚拟机电源打开还是关闭,都将为其预留 PMem。此 PMem 将一直预留,直到虚拟机被迁移或移除为止。

虚拟机可在两种不同模式下消耗永久内存。旧版客户机操作系统仍可以利用虚拟永久内存磁盘功能。

  • 虚拟永久内存 (vPMem)
    使用 vPMem 时,内存将作为虚拟 NVDIMM 提供给客户机操作系统使用。这使客户机操作系统能够在字节可寻址随机模式下使用 PMem。
    注: 您必须使用虚拟机硬件版本 14 和支持 NVM 技术的客户机操作系统。
  • 虚拟永久内存磁盘 (vPMemDisk)

    使用 vPMemDisk 时,内存将以虚拟 SCSI 设备的形式供客户机操作系统访问,但虚拟磁盘存储在 PMem 数据存储中。

如创建带有 PMem 的虚拟机,系统会在硬盘创建时为虚拟机预留内存。在硬盘创建时还将执行准入控制。

在集群中,每个虚拟机都具有一部分 PMem 容量。PMem 的总量必须大于集群中的可用总量。已打开电源和已关闭电源的虚拟机均会消耗 PMem。如果虚拟机配置为使用 PMem,但您未使用 DRS,则必须手动选择具有足够 PMem 可放置该虚拟机的主机。

NVDIMM 和传统存储

NVDIMM 可作为内存访问。使用传统存储时,应用程序和存储设备之间存在软件,这可能会导致处理时间出现延迟。使用 PMem 时,应用程序将直接使用存储。这意味着 PMem 性能优于传统存储。存储位于主机本地。但是,由于系统软件无法跟踪所做的更改,因此备份和 HA 之类解决方案目前无法与 PMem 结合使用。

命名空间

PMem 的命名空间在 ESXi 启动之前配置。命名空间与系统中的磁盘相似。ESXi 读取命名空间,并通过写入 GPT 头将多个命名空间合并成一个逻辑卷。如果以前未配置命名空间,则默认情况下命名空间会自动格式化。如果已经格式化,ESXi 会尝试挂载 PMem。

GPT 表

PMem 存储中的数据损坏可能会导致 ESXi 发生故障。为避免这种情况,ESXi 会在 PMem 挂载期间检查元数据是否有误。

PMem 区域

PMem 区域是表示单个 vNVDIMM 或 vPMemDisk 的连续字节流。每个 PMem 卷仅属于一台主机。如果管理员必须管理具有大量主机的集群中的每台主机,则可能会面临管理难题。但是,您无需管理每个单独的数据存储。相反,您可以将集群中的整个 PMem 容量视为一个数据存储。

VC 和 DRS 将自动执行 PMem 数据存储的初始放置操作。请在创建虚拟机时或向虚拟机添加设备时,选择本地的 PMem 存储配置文件。系统将自动运行其余的配置操作。这么做有一个限制,那就是 ESXi 不允许将虚拟机主目录放在 PMem 数据存储上。因为这会占用宝贵的空间来存储虚拟机日志文件和统计信息文件。这些区域用于表示虚拟机数据,并且可以作为字节可寻址 NVDIMM 或 VpMem 磁盘被访问。

迁移

因为 PMem 是本地数据存储,因此想要移动虚拟机就必须使用 Storage vMotion。具有 vPMem 的虚拟机只能迁移到具有 PMem 资源的 ESX 主机,而具有 vPMemDisk 的虚拟机可迁移到没有 PMem 资源的 ESX 主机。

错误处理和 NVDIMM 管理

主机故障会导致可用性损失。如果出现灾难性错误,您可能会丢失所有数据且必须采取手动步骤重新格式化 PMem。

vSphere Client 的 vSphere 永久内存

有关永久内存的概念简介,请参阅:

在 vSphere Client 中使用 PMEM 增强功能

有关使用 PMem 时基于 HTML5 的 vSphere Client 中的增强功能的简要概述,请参见:

在 vSphere Client 中迁移和克隆使用 PMEM 的虚拟机

有关迁移和克隆使用 PMem 的虚拟机的简要概述,请参见: