问题分析

  1. 查看日志

    /var/log/ 下的日志信息通常会给出各组件出错的原因,如 数据库的连接和权限问题、消息队列无法连接、网络连接问题、依赖的服务未运行、配置文件错误等。一般启动相应的组件,或修改配置文件中IP和端口可解决问题。

  2. 开启 Debug 模式

    一种方式是修改配置文件,设置 Debug 为 True;另一种是运行命令的时候加入命令行参数 –debug。后者可以显示出在调用哪个API时出错或卡死,根据访问的端口号和API可以判断出是哪个服务,查看相应的日志获取错误信息。

  3. 磁盘空间不足导致的配额不足

    OpenStack各组件需要的空间默认是在 /var/lib 下,也就是和根目录使用同一分区的空间。这会导致空间不足的问题。方法是修改各个组件配置文件中的路径相关参数。或者将其它分区的文件夹挂载到 /var/lib 文件夹下。修改路径后,需要确保新的路径具有合适的访问权限。

  4. Dashboard 的编码问题导致出错

    Dashboard 某些地方对中文的支持有问题,所以运行 Apache 的 httpd 前,可以先将环境设置为英文环境 export LANG=en_US.utf8

  5. 网络的问题

    配置 nova 或启动虚拟机时,nova 可能会更改系统中的网络配置,从而导致服务器之间、服务器与外网间或 VM 与外网间的连接问题。此时应该检查网络设置,通过设置IP、添加NAT或者端口映射的方式解决网络的问题。

  6. 虚拟机无法自动获得 IP

    查看主节点上的 dnsmasq 的运行和设置是否正常。可以尝试关闭 dnsmasq 或重新启动 nova-network。