OpenStack虚机相关错误

OpenStack配置起来还是挺麻烦的,特别是网络那块。虽然官方文档越来越清晰,但有时还是会出各种错。排错主要是看日志、看官方文档和google

以下就一些虚机相关常见的错误做一下总结(基于Icehouse版):

1.起虚机时报 ‘No valid host‘ 错误

个人觉得 No valid host 是比较简单的错,那几个单词的意思就已经告诉我们很多信息了,No valid host 原因有很多种

(1)nova compute服务异常,用openstack-status查看各个服务是否是active,若服务未正常启动,查看相应日志,比如查看/var/log/nova/compute.log

(2)nova compute启动ok,但是没有跟controller连上,在controller节点上运行nova-manage service list看看,如下:

上图有两个compute,状态都是笑脸。如果有多个compute,而有的compute不能和controller相连的话,就会显示不出来。如果确实没能和controller连上,把controller的iptables关了试试,如果有用就说明需要在iptables中开放端口,比如qpid端口5672等

(3)计算节点确实没有flavor中定义的那么多资源了,具体可以查看/var/log/nova/scheduler.log

(4)计算节点不支持kvm,修改nova.conf中的virt_type为qemu。查看是否支持kvm,执行 egrep -c ‘(vmx|svm)‘ /proc/cpuinfo  如果输出结果大于0,那么就表示支持kvm。

(5)其他,自行查看日志

2.启动虚机时,一直spawning,拿不到fixed IP

拿不到IP肯定是网络的问题,首先检查计算节点上neutron组件是否安装配置正确,然后检查nova.conf是否有如下配置:

network_api_class = nova.network.neutronv2.api.API
neutron_url = http://controller:9696
neutron_auth_strategy = keystone
neutron_admin_tenant_name = service
neutron_admin_username = neutron
neutron_admin_password = neutron_pass
neutron_admin_auth_url = http://controller:35357/v2.0

3.虚机正常启动,但fixed ip ping不通

(1)查看安全组是否开放ICMP,需要开放ICMP

(2)直接ping fixed ip肯定ping不通,需要路由。具体如下:

执行 ip netns,然后找到虚机所在子网的路由,然后再ping。

4. 虚机看似启动没问题,也显示有fixed ip,但是nova console-log显示如下:

Starting network...
udhcpc (v1.20.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
WARN: /etc/rc3.d/S40-network failed
cirros-ds ‘net‘ up at 181.07
checking http://169.254.169.254/2009-04-04/instance-id...

具体往下看虚机信息,就能看到虚机没有真正拿到fixed ip。解决办法:

(1)在网上看到有人说执行一条命令,如下:

iptables -A POSTROUTING -t mangle -p udp --dport 68 -j CHECKSUM --checksum-fill

--checksum-fill
    Compute and fill in the checksum in a packet that lacks a checksum. This is particularly useful, if you need to work around old applications such as dhcpclients, that do not work well with checksum offloads, but don‘t want to disable checksum offload in your device.

但是我执行了没用,大概错误不一样吧。

(2)neutron在controller节点少配置了一些东东。

由于跟网络相关,自然想到是否neutron没有配置正确,仔细查看了一下。发现controller节点没有配置如下东东:

service_neutron_metadata_proxy=true
neutron_metadata_proxy_shared_secret=METADATA_SECRET

因为这个配置在官方文档中写在 Add a Networking service->Configure network node小节,没想到其中还有关于controller节点的配置。

(3)其他neutron相关错误。比如计算节点ovs local_ip配置错误。

时间: 10-20

OpenStack虚机相关错误的相关文章

OpenStack虚机迁移live-migration失败(error: internal error Attempt to migrate guest to the same host)

现象:执行迁移live-migration操作后,显示成功迁移,但是实际没有执行迁移动作 解决过程: 在dashboard执行虚机热迁移操作,提示操作成功,但是实际虚机没有迁移: 之前遇到过内存不足导致迁移失败,但是经过查看发现源和目的节点资源充足: 然后在nova的log看到如下内容:DestinationDiskExists_Remote: The supplied disk path (/var/lib/nova/instances/e40708e3-7f19-4f9c-8d19-3e60

Openstack虚机实例状态错误手工恢复vm_state:error

1.找到状态为出错状态的VM.在数据库里面表现Status为ERROR而非ACTIVE. 2.找到出错状态VM的UUID. 3.使用MYSQL 客户端工具连接到MySQL数据库. 4.连接到MYSQL数据库后,执行use nova;使用nova数据库. 5.select * from instances where uuid='实例的ID '\G;可以查看到字段vm_state值为error. 6.执行语句:UPDATE instances SET vm_state = 'active' and

OpenStack之虚机热迁移代码解析

OpenStack之虚机热迁移代码解析 话说虚机迁移分为冷迁移以及热迁移,所谓热迁移用度娘的话说即是:热迁移(Live Migration,又叫动态迁移.实时迁移),即虚机保存/恢复(Save/Restore):将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上.恢复以后,虚机仍旧平滑运行,用户不会察觉到任何差异.OpenStack的虚机迁移是基于Libvirt实现的,下面来看看Openstack虚机热迁移的具体代码实现. 首先,由API入口进入到nova/

OpenStack 企业私有云的几个需求(1):Nova 虚机支持 GPU

本系列会介绍OpenStack 企业私有云的几个需求: GPU 支持 自动扩展(Auto-scaling)支持 混合云(Hybrid cloud)支持 物理机(Bare metal)支持 CDN 支持 企业负载均衡器(F5)支持 大规模扩展性(100个计算节点)支持 商业SDN控制器支持 内容比较多,很多东西也没有确定的内容.想到哪就写到哪吧.先从 GPU 支持开始. 1. 基础知识 1.1 VGA(图像显示卡),Graphics Card(图形加速卡),Video Card(视频加速卡),3D

Openstack之Nova创建虚机流程分析

前言  Openstack作为一个虚拟机管理平台,核心功能自然是虚拟机的生命周期的管理,而负责虚机管理的模块就是Nova. 本文就是openstack中Nova模块的分析,所以本文重点是以下三点: 先了解Openstack的整体架构,搞清楚为什么要用这样的架构: 然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互: 了解虚机的启动过程,能在遇到问题时发现问题出在哪个模块中的哪个组件. Nova组件介绍 接下来进行详细介绍,如有错误,欢迎拍砖! 下图为创建虚拟机的一个大概流程图.

从头搭建Openstack运行环境(五)--虚机添加floating ip

6.虚机添加floating ip 为虚机添加floating ip的功能是在neutron网络功能中非常重要的一项,在虚机创建完成后,如果此虚机所在的网络已经加入一个与外网的router中,那这个虚机可以通过SNAT的方式直接访问外网,但外网用户无法访问进虚机.如果想让外网用户访问虚机需要为虚机分配外网的floating ip.以下是为vm4虚机分配外网ip的具体步骤: 1)fixip与floating ip对应 vm4  fixip:10.0.2.84  floating ip:10.255

openstack在vmware虚机环境(exsi或者workstation)中实例挂死

在vmware虚机环境中安装了openstack平台,创建实例cirros和centos,openstack并未报错,但是在novnc里查看cirros实例卡在grub无法进入系统,centos实例卡在install centos7之后的界面,并且报内核错误. 后来发现comtute节点的nova.conf中的virt_type=kvm,后改为virt_type=qemu后正常

Openstack中用keypair生成和访问虚机的方法

Openstack中用镜像文件生成的image来创建虚机(VM或Instance)时, 通常不支持用户名加密码的ssh方式登录访问该VM,而是key file方式. 这里以Centos的镜像为例, 介绍用keypair生成和访问虚机的方法. 1) 查看系统中的keypair:[email protected]:~# openstack keypair list+----------+-------------------------------------------------+| Name 

OpenStack 创建虚机过程简要汇总

1. 总体流程 翻译自原文(英文):https://ilearnstack.com/2013/04/26/request-flow-for-provisioning-instance-in-openstack/ 创建虚机的请求流如下: Dashboard 或者 CLI 获取用户的登录信息,调用 Keystone 的 REST API 去做用户身份验证. Keystone 对用户登录信息进行校验,然后产生验证token并发回.它会被用于后续 REST 调用请求. Dashboard 或者 CLI