分享

openstack虚拟机获取不到IP地址的诊断实例

 pcnewage 2019-07-12
张伟 Joy

    Joy 3月26号找到我,说“云主机开启后ping不通”,“登录云主机后没有得到IP”,Joy的检查如下图。
从图片中可以看到网络服务看着正常,虚拟机状态正常,显示的IP地址192.168.1.202,然后从controller结点ping虚拟机的IP地址ping不通。而且交谈中得知,有个同事帮检查过一次,没有找到问题;搭建了两遍都卡到了这个地方,使用的是下面来复现一26号的故障排查过程。
一、基本问题排查
1、通过沟通这个基础工作都已经做过了,防火墙、selinux都已经关闭。
2、重建网络和虚拟机、重启机器都试过。
二、了解网络的拓扑结构
1、Provider networks
网络比较简单,一个网卡,参考官网的Provider networks来配置的,如下图所示。
2、网络拓扑结构
两台主机,网络结构如下图所示。
Provider Networks的详细接口如下图所示。
了解了基本情况之后,开始远程TeamViewer。
三、确认相关信息
1、防火墙、selinux都关闭;
2、确认配置没有问题;
3、重新创建外部网络,更换镜像启动虚拟机,仍然获取不到地址。
4、参考ProviderNetworks图,确认个个接口,没有发现问题,参考如下图所示。
5、iptables清空后,故障依旧,但重新创建虚拟机后,会生成新的规则,示例如下图所示。
从中能看到DHCP协议是放行的,考试抓包分析等确认问题在什么地方,实际是通过ping的方式来测试的。
四、故障诊断与排除
1、手工配置虚拟机的IP地址
当虚拟机启动后通过手工方式配置IP地址,去ping brq7caf9c85-47的地址,见示例图。
在虚拟机的IP地址ping 192.168.1.111是可以ping通的,但ping 192.168.1.1网关和192.168.1.110 管理节点ping不通。
到Linux bridge上是通的,下面进一步确认到网卡的接口,也就是上图中的ens160。在计算结点上手工给ens160配置同一网段的地址192.168.1.112,从虚拟机内部ping 192.168.1.112可以ping通。到这里可以判断配置没有问题,服务没有问题,虚拟机也没有问题,数据包因为某种原因没有从计算结点出去,也就是ping不通和获取不到DHCP数据的原因。基本就是交换机的问题了。
开始怀疑是vsphere的设置问题,询问Joy,得知使用的是Esxi的标准交换机。建设换个网络。Joy受到启发,把网卡设置成混杂模式,虚拟机居然可以ping通管理结点了!应该说Joy还是比较兴奋的,聊天如下图所示。
混杂模式的配置,如下图所示。
小结
     大家在安装部署时经常会遇很多问题,不要浮躁,首先自己检查一下配置、服务等内容,画好网络拓扑结构,自己有准备之后再请周边的同事、朋友帮忙查看解决。学样自己才会有提高,如果没有准备把高手叫过来,问题帮你解决了,但你没有学到什么,永远没有提高。一个问题你花一周的时间才解决,估计你会记住一辈子。今天就到这里,希望也能看到大家分享的案例。
作者介绍:
    张伟,从事过多年的软件开发工作,精通Linux系统管理,曾经做过RHCE培训讲师、熟悉公有云、私有云(OpenStack)的体系架构、熟悉OpenStack安装部署、系统运维、系统开发,拥有多年的私有云安装部署运维经验,主编了《深度实践OpenStack》系列教材(18年3月出版)。目前是OpenStack私有云的资深培训讲师、COA认证讲师、架构师、解决方案总监,曾经为腾讯、中国移动通信有限公司、中国移动(南方基地)、中国移动苏州科技有限公司、中国电信(政企事业部)、四川电信、国家电网(银川)、锐捷、北京市计算中心、中铁信息工程集团、惠普、临沂大学等开展过相关培训。目前在从事云计算人才的就业培训工作,欢迎有需求的企业及个人沟通洽谈,个人QQ:123640869,微信同号。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多