MYSQL双主双从,使用Keepalived双机热备+LVS高可用群集
在设计MySQL的双主双从架构时,通常会使用两个MySQL服务器作为主服务器,并且每个主服务器都有两个从服务器。为了实现高可用性,可以使用Keepalived配合LVS来实现MySQL服务器的高可用。
以下是基本的架构和配置步骤:
配置MySQL主主复制(双主):
每个主MySQL服务器都应该配置为对另一个服务器进行复制。这样,每个主都有一个从服务器,总共有四个MySQL服务器。
安装和配置Keepalived:
Keepalived可以配置为监控MySQL服务器的状态,并在主服务器失效时自动故障转移到备用服务器。
安装和配置LVS:
LVS可以配置为提供MySQL服务的负载均衡。
配置LVS和Keepalived集成:
可以在Keepalived的配置中添加LVS的配置,这样当故障转移发生时,LVS的配置也会更新,以确保流量被重定向到新的主MySQL服务器。
以下是一个非常简化的示例配置,仅供参考:
MySQL主主复制配置(示例)
在server1和server2上:
[mysqld]
server-id=1
log-bin=mysql-bin
log-slave-updates
auto_increment_increment=2
auto_increment_offset=1
在server1上复制到server2:
CHANGE MASTER TO MASTER_HOST='server2_ip', MASTER_USER='replication_user', MASTER_PASSWORD='replication_password';
START SLAVE;
在server2上复制到server1:
CHANGE MASTER TO MASTER_HOST='server1_ip', MASTER_USER='replication_user', MASTER_PASSWORD='replication_password';
START SLAVE;
Keepalived配置(示例)
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
2.168.1.100
}
}
# LVS configuration
virtual_server 192.168.1.100 3306 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
real_server 192.168.1.1 3306 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.2 3306 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
}
LVS配置(示例)
# 安装LVS
yum install ipvsadm
# 添加虚拟服务器
ipvsadm -A -t 192.168.1.100:3306 -s rr
# 添加真实服务器
ipvsadm -a -t 192.168.1.100:
评论已关闭