失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > openstack虚拟机无法获取IP地址

openstack虚拟机无法获取IP地址

时间:2021-03-17 05:10:08

相关推荐

openstack虚拟机无法获取IP地址

openstack平台中创建虚拟机后,命令行可以看到虚拟机获取IP地址,但是虚拟机内部无法获取IP地址,排查步骤如下:

step1.查看opensatck中neutron服务状态,确保dchp服务正常运行。

step2.查看dnsmsp服务是否正常启动,该服务负责生成IP地址.

step3.以上都正常的话,查看虚拟机xml文件,找到相应的tap设备,该设备连接虚拟机,从虚拟机到宿主机的连接图如图所示:

图1:

(1)虚拟机xml中的tap设备对应图1中的A

(2)从中可以看到tap设备还连接qbr(图中qbr-xxx),在宿主机中用brctl也可以查看

(3)qvb和qvo是一对veth设备,一端连接qbr,一端连接br-int,

step4.在br-int中也有一个tap设备,连接dhcp服务,进入对应的namespace中查看,可以看到有相应的tap设备,如果没有,虚拟机仍旧无法拿到Ip地址。

到step4仍旧无法拿到IP原因:

当dhcp-agent负载很重时,就是需要不停的更新hosts文件,还有ip地址的lease更新,这样就导致dhcp-agent发送给neutron-server的report延迟了,从而进一步导致neutron server认为dhcp-agent已经down了,就不会将port creation发送给dhcp-agent,最终,dnsmasq host file没有得到更新,就无法为新创建的虚拟机提供ip地址了

解决办法:1)增加neutron.conf中的report_interval=15(默认值是4) agent_down_time = 30(默认值是9)

2)重启neutron-dhcp-agent服务查看。

tips: 虚拟机网络命名空间中的169.254.169.254 是个什么地址?

这个地址来源于 AWS,当年亚马逊在设计公有云的时候,为了让 instance 能够访问 metadata,就将169.254.169.254这个特殊的 IP 作为 metadata 服务器的地址,instance 启动时就会向169.254.169.254请求 metadata。OpenStack 之后也沿用了这个设计,采用169.254.169.254让虚拟机去拿到metadata 数据。

如果觉得《openstack虚拟机无法获取IP地址》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。