An追 2024-10-20 00:31 采纳率: 0%
浏览 9

恢复快照后数据库全部断联

工具:CentOS7,Xshell,DataGrip
问题描述:在拍摄快照时,一切正常,也可以正常访问haproxy后台监控网址。用虚拟机拍摄快照之后,关机再开机,再次转到快照时,所有docker都为up状态,但是数据库全部断连。
问题背景:快照处是完成了“数据库集群的负载均衡”实验,NODE15为MySQL数据库PXC集群,即node1node5,HH1和HH2为负载均衡,即h1和h2


[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                   CREATED       STATUS                   PORTS                                                                                  NAMES
629a85e90511   haproxy   "docker-entrypoint.s…"   5 hours ago   Up 5 hours               0.0.0.0:4004->3306/tcp, :::4004->3306/tcp, 0.0.0.0:4003->8888/tcp, :::4003->8888/tcp   h2
a378b2275cdc   haproxy   "docker-entrypoint.s…"   5 hours ago   Up 5 hours               0.0.0.0:4002->3306/tcp, :::4002->3306/tcp, 0.0.0.0:4001->8888/tcp, :::4001->8888/tcp   h1
bf93f5dcfb32   pxc       "/entrypoint.sh "         6 hours ago   Up 6 hours               4567-4568/tcp, 0.0.0.0:3310->3306/tcp, :::3310->3306/tcp                               node5
f247eb1c6b35   pxc       "/entrypoint.sh "         6 hours ago   Up 6 hours               4567-4568/tcp, 0.0.0.0:3309->3306/tcp, :::3309->3306/tcp                               node4
47010444b080   pxc       "/entrypoint.sh "         6 hours ago   Up 6 hours               4567-4568/tcp, 0.0.0.0:3308->3306/tcp, :::3308->3306/tcp                               node3
dd671b1ef52b   pxc       "/entrypoint.sh "         6 hours ago   Up 6 hours               4567-4568/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp                               node2
fd38cda72390   pxc       "/entrypoint.sh "         6 hours ago   Up 6 hours               0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 4567-4568/tcp                               node1
07e290b63d62   java      "bash"                    6 hours ago   Exited (0) 6 hours ago                                                                                          myjava3
[root@localhost ~]# 

img

错误描述:


[08S01]
    Communications link failure

    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
java.net.ConnectException: Connection timed out: connect.

尝试:
1.服务处数据库一直是启动的

img

2.重启网络后,没有用

[root@localhost ~]# systemctl  restart network

3.关闭防火墙,没有用

[root@localhost ~]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
  • 写回答

1条回答 默认 最新

  • 无疆76 2024-10-20 00:32
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    基于你提供的描述和遇到的问题,我可以推断这个问题可能涉及到以下几个方面:

    问题分析

    负载均衡与数据库连接问题

    在负载均衡环境下,数据库的连接可能会受到网络配置、负载均衡器的配置以及数据库服务器配置的影响。如果在拍摄快照之后出现问题,可能是快照恢复过程中某些配置发生了变化。

    数据库集群状态检查

    确保数据库集群(PXC集群)的所有节点都处于正常运行状态,并且网络连接正常。可以使用工具如docker exec进入容器内部检查数据库运行状态。

    网络配置检查

    确认网络配置没有变化,包括负载均衡器的配置、数据库容器的网络配置等。确认所有容器都在同一网络中并且能够互相通信。

    服务状态检查

    确认MySQL服务确实在运行,并且监听在正确的端口上。使用工具如netstatss查看端口状态。同时检查服务的日志,看是否有异常或错误信息。

    解决建议

    1. 确认网络连通性

    使用工具如ping或traceroute检查网络连通性,确保负载均衡器和数据库之间的网络连接没有问题。

    2. 检查服务状态和网络配置

    进入数据库容器内部检查服务状态和网络配置,确保MySQL服务正在运行并且监听在正确的端口上。同时检查防火墙设置,确保端口没有被阻止。

    3. 检查负载均衡器配置

    检查负载均衡器的配置,确保它能够正确地将请求转发到数据库服务器。如果负载均衡器配置有误,可能需要重新配置或重启负载均衡器。

    4. 容器快照检查

    如果可能的话,检查容器快照文件是否完整无损。如果快照文件损坏或不完整,可能导致恢复后出现问题。尝试重新创建快照并恢复,看是否还会出现同样的问题。同时检查快照过程中是否有任何错误或警告信息。有时候容器内的应用可能在热备份过程中遇到数据不一致的情况也会导致恢复后服务不正常的情况出现。这时候需要排查为何会产生快照时的数据不一致情况并进行处理后再尝试恢复服务。如果还是无法解决问题,可能需要考虑重新安装数据库和负载均衡器并进行必要的配置。在进行任何操作之前,请确保备份所有重要数据和配置信息以防止数据丢失。在以上所有操作均未能解决问题的情况下建议咨询相关技术专家进行指导处理以免发生进一步问题或者更严重的数据丢失情况发生。

    评论

报告相同问题?

问题事件

  • 修改了问题 10月20日
  • 创建了问题 10月20日