数据库负载均衡部署(使用ipvadm ,docker)

发布时间:2024年01月15日

文章目录



要在Docker中使用IPVS配置MariaDB数据库的高可用集群,并设置VIP地址为192.168.201.4,密码全部设为123456你可以按照以下步骤进行操作:

第一步 创建一个docker网络

docker network create --subnet=192.168.200.0/24 mariadb_network

第二步 创建集群容器

运行MariaDB容器:
运行多个MariaDB容器作为数据库节点,并将其连接到上面创建的网络中。每个容器都需要指定唯一的容器名称、IP地址和环境变量。

docker run -d --name mariadb_node1 --network=mariadb_network --ip=192.168.200.10 -e MYSQL_ROOT_PASSWORD=123123  mariadb

docker run -d --name mariadb_node2 --network=mariadb_network --ip=192.168.200.20 -e MYSQL_ROOT_PASSWORD=123123  mariadb 

docker run -d --name mariadb_node3 --network=mariadb_network --ip=192.168.200.30 -e MYSQL_ROOT_PASSWORD=123123  mariadb 

第三步 安装ipvadm工具

安装并配置IPVS:

yum  -y install ipvsadm

在宿主机上安装并配置IPVS工具。具体步骤可能因操作系统而异,请根据你所使用的操作系统进行配置。

#要设置 IPVS 高可用集群参数,可以使用 ipvsadm 命令行工具。下面是一些常用的命令示例:
#添加一个虚拟服务器:
ipvsadm -A -t 虚拟服务器IP:端口 -s 调度算法
#添加真实服务器:
ipvsadm -a -t 虚拟服务器IP:端口 -r 真实服务器IP:端口 -g
其中 -g 表示将真实服务器标记为活动状态。
#删除虚拟服务器:
ipvsadm -D -t 虚拟服务器IP:端口
#删除真实服务器:
ipvsadm -d -t 虚拟服务器IP:端口 -r 真实服务器IP:端口
#设置连接超时时间:
ipvsadm --set 虚拟服务器IP:端口 --timeout 超时时间
#设置调度算法:
ipvsadm --set 虚拟服务器IP:端口 --scheduler 调度算法
#查看 IPVS 配置:
ipvsadm -l

第四步 添加节点 设定规则

配置IPVS规则:
在宿主机上配置IPVS规则,将VIP地址映射到MariaDB容器的IP地址上。在终端中运行以下命令:

#添加一个虚拟服务器
ipvsadm -A -t 192.168.200.4:3306 -s rr
#添加真实服务器 第一台(mariadb_node1)
ipvsadm -a -t 192.168.200.4:3306 -r 192.168.200.10:3306  -m
#添加mariadb_node2
ipvsadm -a -t 192.168.200.4:3306 -r 192.168.200.10:3306  -m
#mariadb_node3
ipvsadm -a -t 192.168.200.4:3306 -r 192.168.201.30:3306 -m

#验证配置:在宿主机上尝试连接到VIP地址,确认是否能够成功连接到其中一个MariaDB容器。
mysql -h 192.168.200.4 -uroot -p123123
#会随机选择一个服务器去登录

#验证方法
#查看hostname或者server_id ,但是设置server_id要设置挂在卷然后逐个修改,这里为了方便可以去查看真实服务器的hostname ,当然这里查询到的hostname也就是容器的id。
select @@hostname

ipvsadm 搭建数据库高可用集群

高可用集群在计算机系统中起到了至关重要的作用,特别是在面对系统故障、硬件故障或者其他意外情况时。以下是高可用集群的一些主要作用:

  1. 提高系统可靠性:高可用集群通过将系统部署在多个节点上,从而减少了单点故障的风险。如果一个节点出现故障,集群中的其他节点仍然可以继续提供服务,从而提高了系统的整体可靠性。
  2. 实现无缝故障转移:当集群中的某个节点发生故障时,高可用集群能够自动将流量转移到其他正常运行的节点,实现无缝的故障转移。这有助于最大程度地减少服务中断时间,确保服务的持续性和稳定性。
  3. 负载均衡:高可用集群可以通过将流量平均分配到各个节点上,从而实现负载均衡。这有助于提高系统的性能和吞吐量,同时降低单个节点的负载压力。
  4. 简化维护和升级:在高可用集群中,可以在不影响服务的情况下对单个节点进行维护、升级或扩展。这样可以最大程度地减少对整个系统的影响,同时确保服务的连续性。
  5. 提供灾难恢复能力:在面对数据中心或区域性故障时,高可用集群可以通过在不同地理位置部署节点来提供灾难恢复能力。这有助于保护数据和服务,并最大程度地减少因灾难事件而造成的影响。

总的来说,高可用集群的作用在于提高系统的可靠性、稳定性和可用性,从而确保服务能够持续地对外提供,并在面对各种故障或挑战时保持稳定运行。

文章来源:https://blog.csdn.net/2303_77073508/article/details/135478012
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。