Openstack-Devstack:无法创建实例,没有足够的主机可用

时间:2016-02-03 18:30:36

标签: ubuntu-14.04 openstack devstack

我在Ubuntu 14.04上通过devstack安装了openstack。我的计算机上有8 gb的ram,我已经创建了大约8个VM,我不能同时使用这些VM,因为我使用VM的方式不同。 现在我无法创建更多虚拟机。我收到一条错误消息

  

未找到有效主机。   没有足够的主机可用。

有人可以建议我该怎么办?

1 个答案:

答案 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时的那些。