我在Ubuntu 14.04上通过devstack安装了openstack。我的计算机上有8 gb的ram,我已经创建了大约8个VM,我不能同时使用这些VM,因为我使用VM的方式不同。 现在我无法创建更多虚拟机。我收到一条错误消息
未找到有效主机。 没有足够的主机可用。
有人可以建议我该怎么办?
答案 0 :(得分:8)
既然你说这是一个devstack安装,我假设你没有在生产环境中运行它。 Openstack允许用户提高RAM的超额认购率。默认情况下,它保持在机器可用物理RAM的1.5倍。因此,它应该是12 Gb的可用内存。要更改订阅率:
sudo vim /etc/nova/nova.conf
#Add these two lines
ram_allocation_ratio=2
cpu_allocation_ratio=20 # Default value here is 16
这些值只是一个粗略估计。更改周围的值以使它们适合您的环境。重启Devstack。
要检查是否进行了更改,请登录mysql(或任何支持devstack的DB)并检查:
mysql> use nova;
mysql> select * from compute_nodes \G;
*************************** 1. row ***************************
created_at: 2015-09-25 13:52:55
updated_at: 2016-02-03 18:32:49
deleted_at: NULL
id: 1
service_id: 7
vcpus: 8
memory_mb: 12007
local_gb: 446
vcpus_used: 6
memory_mb_used: 8832
local_gb_used: 80
hypervisor_type: QEMU
disk_available_least: 240
free_ram_mb: 3175
free_disk_gb: 366
current_workload: 0
running_vms: 4
pci_stats: NULL
metrics: []
.....
1 row in set (0.00 sec)
调度程序查看free_ram_mb。如果free_ram_mb为3175,并且如果要运行具有4096M内存的新m1.medium实例,则调度程序将在日志中结束此消息:
WARNING nova.scheduler.manager Failed to schedule_run_instance: No valid host was found.
因此,请务必留意在进行这些更改后启动新VM时的那些。