UUID相同导致的网络连接问题
Posted obed
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UUID相同导致的网络连接问题相关的知识,希望对你有一定的参考价值。
场景
有同事从公司寄了一台服务器到现场,用来安装数据库、缓存等组件供开发使用。到了之后,连接电源、网线,设置IP,用vSphere Client远程连接没问题。开了两个虚拟机,给他们远程用。大概就是创建几个虚拟机,安装一整套的管理平台和组件。等到晚上,跟我说很卡,服务器上的应用网页总是打不开,让我用本机帮他们弄一下,结果我这边也一直打不开,然后ping了一下,发现延迟很高,丢包也很严重。
思路
怀疑有两种可能:
- 虚拟机压力太大,反应不过来。有两台虚拟机的内存已经爆了,在用swap了,而那三台虚拟机上的应用是相互关联的
- 网络问题。服务器是连在一个交换机上,而电脑是通过一个路由器连上交换机,之前使用过程中网络就经常有问题,而且路由器用的人很多,可能是路由器抗不住了。
解决过程
提升虚拟机配置
主要是加大了内存,然后重启虚拟机和应用,没有区别。
直连交换机
将电脑直接连上交换机,还是很卡,ping一直丢包。
期间,同事通过虚拟机,修改了服务器上虚拟机的掩码为0.0.0.0,导致整个网络挂了,然后我还信誓旦旦说不是我,很尴尬。
最终解决方案
上面两种方法都不行,后面ping宿主机,发现网络正常。只能怀疑宿主机到虚拟机,或者虚拟机配置有问题。检查了一下虚拟机的ip配置(/etc/sysconfig/network-scripts/ifcfg-ens160),发现所有虚拟机的UUID都相同。同事直接复制了多台,只修改了IP,没有修改UUID,UUID冲突了。
解决步骤:
- 生产UUID。
uuidgen
- 复制UUID,修改配置文件(/etc/sysconfig/network-scripts/ifcfg-ens160)中的UUID。
- 重启网络。
systemctl restart network
由于虚拟机上有docker服务,所以还要重启docker服务,否则docker的网络无法使用。
总结
其实这个问题之前创建虚拟机的时候遇到过,解决方法也是一样的,那会是虚拟机直接连接不上,而这次却可以连接,只是会经常丢包。刚开始没能想到这个问题,对于CentOS的网络方面还是不了解。
对于UUID也不熟悉,网上也没找到相关信息,猜测为类似MAC地址之类的东西,交换机上记录了UUID和IP,使用的时候,几台虚拟机之间的包都是混乱的。
有哪里说错了,或者有什么指教,请在评论区探讨,谢谢。
以上是关于UUID相同导致的网络连接问题的主要内容,如果未能解决你的问题,请参考以下文章
openVidu - 由于网络问题导致 websocket 连接丢失时,connectionDestroyed / sessionDisconnected 事件不会触发