永久内存 (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 发生故障。为避免这种情况,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 管理
主机故障可能会导致未处于完全写入模式的 vPMem 虚拟机丧失可用性。如果出现灾难性错误,您可能会丢失所有数据且必须采取手动步骤重新格式化 PMem。
vSphere Client 的 vSphere 永久内存
有关永久内存的概念简介,请参阅:
在 vSphere Client 中使用 PMEM 增强功能
有关使用 PMem 时基于 HTML5 的 vSphere Client 中的增强功能的简要概述,请参见:
在 vSphere Client 中迁移和克隆使用 PMEM 的虚拟机
有关迁移和克隆使用 PMem 的虚拟机的简要概述,请参见: