文章目录
  1. 1. Nova 关键配置
  2. 2. 宿主资源隔离
    1. 2.1. 验证

Nova 关键配置

scheduler_default_filter = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ImagePropertiesFilter, JsonFilter, EcuFilter, CoreFilter

nova-scheduler 可用的过滤器, Retry 是用来跳过已经尝试创建但是失败的计算节点,防止重调度死循环;AvailabilityZone 是过滤那些用户指定的 AZ 的,防止用户的虚拟机创建到未指定的 AZ 里面;Ram 是过滤掉内存不足的计算节点;Core 是过滤掉 VCPU 数量不足的计算节点;

宿主资源隔离

vcpu_pin_set = 4-$

虚拟机vCPU的绑定范围,可以防止虚拟机争抢宿主机进程的CPU资源,建议预留前几个物理CPU,把后面的所有CPU分配给虚拟机使用,可以配合cgroup或者内核启动参数来实现宿主进程不占用虚拟机使用的哪些CPU资源

cpu_allocation_ratio = 4.0

物理CPU超售比例,默认是16倍,超线程也算作一个物理CPU

ram_allocation_ratio = 1.0

内存分配超售比例,默认是1.5倍,生产环境不建议开启超售

reserved_host_memory_mb = 4096

内存预留量,这部分内存不能被虚拟机使用

reserverd_host_disk_mb = 10240

磁盘预留空间,这部分空间不能被虚拟机使用

multi_host = True

是否开启nova-network的多节点模式,如果需要多节点部署,则该项需要设置为True

验证

校验虚拟机的vCPU亲和性,检查CPU是否成功隔离,创建一个虚机,然后通过libvirt参看

1
2
3
4
5
6
7
8
9
10
11
12
$ virsh list
Id Name State
----------------------------------------------------
42 instance-00000553 running
43 instance-00000596 running

$ virsh vcpuinfo 42
VCPU: 0
CPU: 4
State: running
CPU time: 324210.2s
CPU Affinity: ----yyyyyyyyyyyyyyyyyyyyyyyyyyyy

这就说明,虚拟机的vCPU对物理CPU的前四个核非亲和,他一般就会在后面的物理CPU中调度执行各种服务。

文章目录
  1. 1. Nova 关键配置
  2. 2. 宿主资源隔离
    1. 2.1. 验证