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