一、现象描述

  openstack平台中创建虚拟机后,虚拟机在web页面中显示获取到了ip,但是打开虚拟机控制台后查看网络状态,虚拟机没有ip地址,下图为故障截图:

二、分析

1、查看neutron服务状态,确保DHCP服务正常运行

[root@ren3 ~]# neutron agent-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+----------+------------+------+-------------------+-------+----------------+-----------+
| id | agent_type | host | availability_zone | alive | admin_state_up | binary |
+----------+------------+------+-------------------+-------+----------------+-----------+
| 8279aaae | Open | ren3 | | :-) | True | neutron-o |
| -eb89-4c | vSwitch | | | | | penvswitc |
| 71-bbae- | agent | | | | | h-agent |
| 009971a6 | | | | | | |
| 97e3 | | | | | | |
| 954aaea4 | L3 agent | ren3 | nova | :-) | True | neutron-l |
| -b4c3-4d | | | | | | 3-agent |
| bc-b104- | | | | | | |
| 76917908 | | | | | | |
| 7cd0 | | | | | | |
| a1b7aee2 | Metadata | ren3 | | :-) | True | neutron- |
| -2881-4d | agent | | | | | metadata- |
| 85-b119- | | | | | | agent |
| 1bf8195f | | | | | | |
| 66fc | | | | | | |
| e67163c1 | DHCP agent | ren3 | nova | :-) | True | neutron- |
| -8513-4f | | | | | | dhcp- |
| d7-be6a- | | | | | | agent |
| ae8e0acf | | | | | | |
| 83ce | | | | | | |
| ed288124 | Open | ren4 | | :-) | True | neutron-o |
| -f0ab- | vSwitch | | | | | penvswitc |
| 4a63 | agent | | | | | h-agent |
| -aa4e-a2 | | | | | | |
| 04051ef8 | | | | | | |
| b8 | | | | | | |
+----------+------------+------+-------------------+-------+----------------+-----------+

2、查看dnsmasq进程是否正常

[root@ren3 ~]# ps aux |grep dnsmasq
nobody 33180 0.0 0.0 53900 1124 ? S 15:40 0:00 dnsmasq --no-hosts --no-resolv --strict-order --except-interface=lo --pid-file=/var/lib/neutron/dhcp/062d2b07-339e-4d54-aaca-6b9169d17f6c/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/062d2b07-339e-4d54-aaca-6b9169d17f6c/host --addn-hosts=/var/lib/neutron/dhcp/062d2b07-339e-4d54-aaca-6b9169d17f6c/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/062d2b07-339e-4d54-aaca-6b9169d17f6c/opts --dhcp-leasefile=/var/lib/neutron/dhcp/062d2b07-339e-4d54-aaca-6b9169d17f6c/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tap3ca314b5-43 --dhcp-range=set:tag0,12.12.12.0,static,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
nobody 33556 0.0 0.0 53900 1124 ? S 15:49 0:00 dnsmasq --no-hosts --no-resolv --strict-order --except-interface=lo --pid-file=/var/lib/neutron/dhcp/d97c8576-1990-4920-adea-98589cc816ab/pid --dhcp-hostsfile=/var/lib/neutron/dhcp/d97c8576-1990-4920-adea-98589cc816ab/host --addn-hosts=/var/lib/neutron/dhcp/d97c8576-1990-4920-adea-98589cc816ab/addn_hosts --dhcp-optsfile=/var/lib/neutron/dhcp/d97c8576-1990-4920-adea-98589cc816ab/opts --dhcp-leasefile=/var/lib/neutron/dhcp/d97c8576-1990-4920-adea-98589cc816ab/leases --dhcp-match=set:ipxe,175 --bind-interfaces --interface=tap555b8d55-16 --dhcp-range=set:tag0,192.168.11.0,static,86400s --dhcp-option-force=option:mtu,1450 --dhcp-lease-max=256 --conf-file= --domain=openstacklocal
root 34383 0.0 0.0 112728 976 pts/0 R+ 16:22 0:00 grep --color=auto dnsmasq

3、检查ovs网桥中的br-int集成网桥是否有tap设备连接到了dhcp-agent的namespace上

[root@ren3 ~]# ovs-vsctl show
3cbc68ee-1b32-41ae-84a9-f78570fa3259
Manager "ptcp:6640:127.0.0.1"
is_connected: true
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Port "qg-f801c87d-7f"
Interface "qg-f801c87d-7f"
type: internal
Port "ens38"
Interface "ens38"
Bridge br-tun
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port br-tun
Interface br-tun
type: internal
Port "vxlan-c0a80687"
Interface "vxlan-c0a80687"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="192.168.6.134", out_key=flow, remote_ip="192.168.6.135"}
Bridge br-int
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "qr-9c86abfa-c5"
tag: 2
Interface "qr-9c86abfa-c5"
type: internal
Port "tap555b8d55-16"
tag: 3
Interface "tap555b8d55-16"
type: internal
Port br-int
Interface br-int
type: internal
Port "tap3ca314b5-43"
tag: 2
Interface "tap3ca314b5-43"
type: internal
ovs_version: "2.9.0"

  在dhcp命名空间中找到对应网络的namespace中br-int网桥上对应的tap设备,然后查看ip配置:

[root@ren3 ~]# ip netns show
qdhcp-d97c8576-1990-4920-adea-98589cc816ab (id: 2)
qrouter-84d406c2-3923-4a52-9368-9e310a40edb9 (id: 1)
qdhcp-062d2b07-339e-4d54-aaca-6b9169d17f6c (id: 0)
[root@ren3 ~]# ip netns exec qdhcp-062d2b07-339e-4d54-aaca-6b9169d17f6c ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
16: tap3ca314b5-43: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether fa:16:3e:8f:fd:0e brd ff:ff:ff:ff:ff:ff
inet 12.12.12.10/24 brd 12.12.12.255 scope global tap3ca314b5-43
valid_lft forever preferred_lft forever
inet 169.254.169.254/16 brd 169.254.255.255 scope global tap3ca314b5-43
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe8f:fd0e/64 scope link
valid_lft forever preferred_lft forever
[root@ren3 ~]# ip netns exec qdhcp-d97c8576-1990-4920-adea-98589cc816ab ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
18: tap555b8d55-16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default qlen 1000
link/ether fa:16:3e:21:c9:25 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.100/24 brd 192.168.11.255 scope global tap555b8d55-16
valid_lft forever preferred_lft forever
inet 169.254.169.254/16 brd 169.254.255.255 scope global tap555b8d55-16
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe21:c925/64 scope link
valid_lft forever preferred_lft forever

  dhcp已启用(在创建虚拟机发请求后,dnsmasq进程会给虚拟机分配好mac地址和ip地址,并写入到/var/lib/neutron/dhcp/network-id 目录下的host文件中。虚拟机在内网中发送广播来获取ip的过程中,dnsmasq 会监听到然后将host文件中的对应ip通过dchp-namespace分配给虚拟机。)

4、查看环境

防火墙开着(我是开着防火墙操作的,但是添加了没有服务的端口规则,可还是没有ip),但关闭防火墙之后重启虚机就有IP了。

5、在差错过程中,还可以查看dhcp-agent日志,若报错" Stderr: 'Object "netns" is unknwn "

可在网络节点中安装iproute软件包

yum -y install iproute

三、openstack安装过程的一些错误

1、错误

ERROR nova.compute.manager ResourceProviderRetrievalFailed: Failed to get resource provider with UUID dd4a5198-e199-45fe-99a2-00110fea1f57

解决

在controller查看[root@controller ~]# openstack compute service list --service nova-compute 发现为空
重启compute的nova服务:systemctl restart  openstack-nova-compute.service
在控制节点同步数据库:
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
openstack compute service list --service nova-compute

2、错误1006

查看日志/var/log/nova/nova-novncproxy.log

2019-04-03 16:07:16.900 27138 INFO nova.console.websocketproxy [req-a97f2f1a-0aa5-4976-aadf-c3160007da0d - - - - -] handler exception: [Errno 113] EHOSTUNREACH

提示链接不可达

解决:关闭防火墙或者添加5900/tcp规则

云计算OpenStack---虚拟机获取不到ip(12)的更多相关文章

  1. 云计算openstack——虚拟机获取不到ip(13)

    一.现象描述: openstack平台中创建虚拟机后,虚拟机在web页面中显示获取到了ip,但是打开虚拟机控制台后查看网络状态,虚拟机没有ip地址,下图为故障截图: 二.分析思路: (1)查看neut ...

  2. openstack虚拟机获取不到ip

    一.现象描述: openstack平台中创建虚拟机后,虚拟机在web页面中显示获取到了ip,但是打开虚拟机控制台后查看网络状态,虚拟机没有ip地址,下图为故障截图: 二.分析思路: (1)查看neut ...

  3. linux虚拟机获取不到ip的解决方法 --

    问题描述: 在win10操作系统上,安装了centos7 虚拟机,安装后,用wifi网络可以获取ip,但是切换到手机热点或有线网络就获取不到ip 解决办法: 按照一般的修改ONBOOT =yes, 然 ...

  4. OpenStack中虚拟机获取不到IP地址的解决方法

    OpenStack源码交流群: 538850354 系统环境: centos6.5 + icehouse多节点部署 问题描述: 使用测试镜像cirros,虚拟机实例可以正常启动,但是不能从IP池中获取 ...

  5. 云计算与OpenStack(虚拟机Nova篇)

    <云计算与OpenStack(虚拟机Nova篇)> 基本信息 作者: 伯龙 程志鹏 张杰 出版社:电子工业出版社 ISBN:9787121201202 上架时间:2013-8-5 出版日期 ...

  6. java获取本机ip(排除虚拟机等一些ip)最终解,总算找到方法了

    本文参考https://blog.csdn.net/u011809209/article/details/77236602 本文参考https://blog.csdn.net/yinshuomail/ ...

  7. linux虚拟机正常安装完成后获取不到IP的解决办法

    通常正常情况下安装完linux虚拟机,只需要使用桥接并修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,将如下参数值改为如下: ONBOOT=yes NM ...

  8. 获取本机的ip地址(排除虚拟机,蓝牙等ip)

    项目中遇到了要获取本地ip的需求,网上查找资料遇到很多坑,很多Java获取本机ip地址的方法要么是根本获取不到,要么是获取的有问题. 网上常见的方法如下 InetAddress.getLocalHos ...

  9. 虚拟机Linux下一直获取不到ip怎么办

    虚拟机Linux下一直获取不到ip怎么办 Ifconfig -a 只显示了本地的ip127.0.0.1 和另一个eth1 但是找不到ip地址. 需要做的是: 申请ipdhclient eth1 另外释 ...

随机推荐

  1. Updating a Dictionary UVA - 12504

    In this problem, a dictionary is collection of key-value pairs, where keys are lower-case letters, a ...

  2. JUC包的线程池详解

    为什么要使用线程池 创建/销毁线程需要消耗系统资源,线程池可以复用已创建的线程. 控制并发的数量.并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃.(主要原因) 可以对线程做统一管理. JUC ...

  3. 对DiscuzQ的一些使用见解

    之前因为体验了DiscuzQ,在几番纠结后,把博客换成了DiscuzQ(以下简称DZQ). 在一个月的使用中,发现这个程序对于个人来说,十分不友好. 于是今天又换回了Wordpress. 在这里说一下 ...

  4. Android Dex文件格式解析

    Dex文件是Android虚拟机下的可执行文件,包含了应用程序所用到所有操作指令和运行时数据.在程序编译过程中,java源文件先被编译成class文件,然后通过dx工具将多个class文件整合为一个d ...

  5. 使用DirectX截屏

    网上有很多关于DirectX截屏的文章,但大都是屏幕截图,很少有窗口截图,本文则两者都涉及到,先讲如何截取整个屏幕,再讲如何截取某个窗口,其实二者的区别不大,只是某个参数的设置不同而已,最后我们还将扩 ...

  6. Python中的时间日期模块(time、datetime)

    目录 Datetime 获取当前时间 获取当前日期 获取当前时间的tuple元组 格式化日期和时间 时间移动 获取两个时间的时间差 时间格式转换 Time 获取距元年(1970.1.1)的秒数 当时时 ...

  7. React-条件渲染

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title&g ...

  8. 每天一道面试题LeetCode 26--删除排序数组中的重复项(python实现)

    题目1:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. ...

  9. SpringBoot学习笔记:Spring Data Jpa的使用

    更多请关注公众号 Spring Data Jpa 简介 JPA JPA(Java Persistence API)意即Java持久化API,是Sun官方在JDK5.0后提出的Java持久化规范(JSR ...

  10. MFC对话框不能使用菜单更新宏ON_UPDATE_COMMAND_UI

    菜单更新宏的原理 更新处理宏的工作原理是基于框架窗口类的.MFC中对话框菜单更新宏的原理是:当我们使用从CFrameWnd框架窗口类中派生的类创建窗口时,当我们单击菜单且菜单还未弹出前会产生WM_IN ...