OpenStack 节点重启后无法联网的问题
问题
五一归来,大量服务器被重启了,其中一台服务器失联了。通过远程桌面登录之后发现服务器的 IP 地址是 “正常” 的,可以 Ping 通自己的 IP,但 Ping 不同网关。
解决
仔细一看,原来的 IP 在重启之后被设置到 ens160 Interface 上了,但该 Interface 却被挂载到 OvS Bridge 之上了:
Bridge br-ex
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}
Port "ens160"
Interface "ens160"
Port br-ex
Interface br-ex
type: internal
众所周知,挂载到 Bridge 上的物理网络接口的 IP 地址是无效的,只有 type: internal 的 OvS Interface 的 IP 地址是有效的。所以删除了 ens160 上的 IP 地址:
ifconfig ens160 0.0.0.0 up
将 IP 地址设置到 OvS Bridge br-ex 的 br-ex Internal Interface 上:
ifconfig br-ex 182.18.22.200/24 up
此时该阶段就可以 Ping 通同网段的 IP 了,但依旧不能 Ping 通公网。第一个反应当然就是查看路由表项了,果然发现没有了默认路由,添加之:
ip route add default via 172.18.22.1/24 dev br-ex
这样该节点的网络通信就恢复了。
除此之外,该节点曾经还遇见过 ARP 欺诈的问题。表现为无法 Ping 通外网,但是可以 Ping 通网关,外部 SSH 登录该节点时灵时不灵。最后通过 tcpdump 抓包知道,arping 网关 IP 地址返回的是一个 “假” 的 MAC 地址,是因为本节点上莫名的被配置了网关 IP,所以返回的实际上是本机的 MAC 地址。真可谓 “自己骗自己” 了。
总结
小结两点经验,在 OpenStack 环境中:
- 无法 Ping 通同网段 IP,则检查自身 IP 地址设置。
- 无法 Ping 通公网,则检查自身 Route 表项设置。
- 能 Ping 通网关、但无法 Ping 通公网,则检查是否存在 ARP 欺诈。
OpenStack 节点重启后无法联网的问题的更多相关文章
- rac 11g_第二个节点重启后无法启动实例:磁盘组dismount问题
原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...
- redis集群节点重启后恢复
服务器重启后,集群报错: [root@SHH-HQ-NHS11S nhsuser]# redis-cli -c -h ip -p 7000ip:7000> set cc dd(error) CL ...
- Centos7 Devstack [Rocky] 重启后无法联网
部署devstack-rocky版本后网络,可以 Ping 通自己的 IP,但 Ping 不同网关,ping不通同网段主机,查看网卡和ovs信息如下 解决 第一步 按造网上教程,修改br-ex,ens ...
- sparkStreaming 与fafka直接方式 进行消费者偏移量的保存如redis 里面 避免代码改变与节点重启后的数据丢失与序列化问题
import java.util import kafka.common.TopicAndPartition import kafka.message.MessageAndMetadata impor ...
- Erlang节点重启导致的incarnation问题(转)
转自霸爷的博客: 转载自系统技术非业余研究 本文链接地址: Erlang节点重启导致的incarnation问题 遇到个问题, =ERROR REPORT==== 10-Mar-2016::09:44 ...
- zigbee 路由节点丢失后清除 该节点的残余网络信息
清除脱离网络的 路由节点(stale device)的 残留在各表中以AssociationDevList为例的残余信息. 如图所示拓扑结构中: 路由器1脱离网络后,通过协调器按键操作来 清除 协调 ...
- elasticsearch之节点重启
Elasticsearch节点重启时背后发生的故事有哪些,应该注意哪些配置内容,本篇文章做一个简单的探讨. 节点离开 在elasticsearch集群中,假设NodeA因为种种原因退出集群,在Node ...
- 【Debian】非法关机后无法联网 connect: network is unreachable
某一天,突然发现无法ssh登录虚拟机内的debian系统,一直认为是ssh的问题,然后无意间ping了ping百度,发现原来是debian系统没有联网....囧 首先,是虚拟机的网络设置检查. 打开V ...
- devstack重启后不能运行
devstack 重启后没有运行服务. 解释: “Note if you reboot your machine running devstack, you need to rerun stack.s ...
随机推荐
- 开源Android 恶意软件Radio Balouch
安全研究机构 ESET 首次发现了开源 Android 间谍软件在 Google Play 上的恶意信息窃取行为,并且在被删除后仍在Google Play 重复出现.据悉,第一个间谍软件是基于开源间 ...
- 日常系统维护之修复linux的grub引导
恩,不知道怎么表达为win10的更新很烦人,其实我感觉windows用的不是那么顺手,但是制作视频的时候还是要用到,图片的话linux也可以胜任,毕竟GUN IMAGE还是挺不错的,但到了视频制作方面 ...
- Linux用户组管理及用户权限4
权限管理: ls -l rwxrwxrwx: 左三位:定义user(owner)的权限 中三位:定义group的权限 ...
- sql 查询重复记录值取一条
SELECT * FROM JBL_WebLog WHERE JBL_WebLog_PID IN ( --根据userName分类获取数据最小ID列表 SELECT MIN(JBL_WebLog_PI ...
- java 如何实现文件变动的监听
获取修改时间 long lastTime = file.lastModified(); 原文链接:https://blog.csdn.net/liuyueyi25/article/details/79 ...
- 修改Jenkins目录
注意:在Jenkins运行时是不能更改的. 请先将Jenkins停止运行. 1.windows环境下更改JENKINS的主目录 Windows环境中,Jenkins主目录默认在C:\Documents ...
- Struct2的简单的CRUD配置和使用
1. 首先是Struct2使用的jar包,可以在官网下载https://struts.apache.org/ ,其中包只要下面这些就够用了. 或者点击下面链接下载 链接:https://pan.b ...
- MariaDB(MySql)使用储存过程和随机函数插入10万条数据
))default charset =utf8; #定义一个随机切割字符串的函数 delimiter // create function randStr() ) begin ) default 'A ...
- css3常用动画大全:translate、scale、opacity、rotate (转)
/* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ...
- java+HTML5实现断点续传
一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框 ...