5.5. 配置 Compute 节点,将文件支持的内存用于实例
您可以通过将 libvirt 内存后备目录中分配文件作为实例内存,使用文件支持的内存来扩展 Compute 节点内存容量。您可以配置可用于实例内存的主机磁盘量,以及实例内存文件磁盘上的位置。
计算服务会将为文件支持内存配置的容量报告到放置服务,作为系统内存总量。这使得 Compute 节点可以托管比通常适合系统内存更多的实例。
要将文件支持的内存用于实例,您必须在 Compute 节点上启用文件支持的内存。
限制
- 您无法在启用了文件支持内存的 Compute 节点之间实时迁移实例,以及未启用文件支持的 Compute 节点。
- 文件支持的内存与巨页不兼容。使用巨页的实例无法在启用了文件支持的内存的 Compute 节点上启动。使用主机聚合来确保使用巨页的实例不会被放在启用了文件支持的内存的 Compute 节点上。
- 文件支持的内存与内存过量使用不兼容。
-
您不能使用
NovaReservedHostMemory
为主机进程保留内存。当使用文件支持的内存时,保留内存对应于不为文件支持的内存设置磁盘空间。文件支持的内存作为总系统内存报告给放置服务,RAM 用作缓存内存。
先决条件
-
节点上的
NovaRAMAllocationRatio
必须设置为"1.0",并将该节点添加到的任何主机聚合。 -
NovaReservedHostMemory
必须设为 "0"。
流程
- 打开 Compute 环境文件。
通过在 Compute 环境文件中添加以下参数,将主机磁盘空间量(以 MiB 为单位)配置为可用于实例 RAM:
parameter_defaults: NovaLibvirtFileBackedMemory: 102400
可选: 要将目录配置为存储内存后备文件,请在 Compute 环境文件中设置
QemuMemoryBackingDir
参数。如果没有设置,则内存后备目录默认为/var/lib/libvirt/qemu/ram/
。注意您必须在默认目录位置
/var/lib/libvirt/qemu/ram/
的目录中找到您的后备存储。您还可以更改后备存储的主机磁盘。如需更多信息,请参阅 更改内存后备目录主机磁盘。
- 保存对 Compute 环境文件的更新。
使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yaml
5.5.1. 更改内存后备目录主机磁盘
您可以将内存后备目录从默认主磁盘位置移到备用磁盘中。
流程
在替代的后备设备中创建文件系统。例如,输入以下命令在
/dev/sdb
上创建ext4
文件系统:# mkfs.ext4 /dev/sdb
挂载后备设备。例如,输入以下命令将
/dev/sdb
挂载到默认 libvirt 内存支持目录中:# mount /dev/sdb /var/lib/libvirt/qemu/ram
注意挂载点必须与
QemuMemoryBackingDir
参数的值匹配。