MariaDB Master-Master双主+Lvs+Keepalived配置DB业务的负载均衡和高可用环境
一.架构介绍
架构介绍:利用Keepalived构建高可用的MariaDB-HA,保证两台MariaDB数据的一致性,然后用Keepalived实现虚拟IP,通过Keepalived自带的服务监控功能来实现MariaDB故障时自动切换。Keepalived的设计目的是构建高可用的LVS负载均衡集群,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用来做双机热备。使用keepalived构建LVS集群更加简单易用,主要优势体现在:1.对LVS负载均衡调度器实现热备切换,提高可用性。2.对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。在基于 LVS+Keepalived实现的LVS群集结构中,至少包括2台热备的负载调度器,两台以上的节点服务器。本例中以DR模式的LVS群集为基础,增加负载调度器,使用Keepalived来实现调度器的热备,从而构建建有负载均衡、高可用两种能力的LVS网站群集平台。Keepalived可以实现高可用或者热备,用来防止单点故障的问题,而Keepalived的核心是VRRP协议,VRRP协议主要实现了在路由器或者三层交换机处的冗余,Keepalived就是使用VRRP协议来实现高可用。通过LVS+Keepalived构建的LVS集群,LVS负载均衡用户请求到后端的MariaDB服务器,Keepalived的作用是检测MariaDB服务器的状态,如果有一台MariaDB服务器宕机,或者工作出现故障,Keepalived将检测到,并且将有故障的MariaDB服务器从系统中剔除,当MariaDB服务器工作正常后Keepalived自动将MariaDB服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的MariaDB服务器。
硬件拓扑图:
VIP:172.19.0.8
MariaDB1: 172.19.0.32
MariaDB2: 172.19.0.33
二.安装软件:
2.1 安装CentOS 6.6_64系统。
2.2 打开iptables服务:
vim /etc/sysconfig/iptables
添加一行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT/sbin/iptables -I INPUT -p vrrp -j ACCEPT
然后重启服务:service iptables restart
2.3 关闭selinux功能及设置内核参数:
vim /etc/sysconfig/selinux
设置SELINUX=disabled
Setenforce 0临时关闭selinux
使用getenforce 查看selinux的状态。
echo "1" >/proc/sys/net/ipv4/ip_forward
/sbin/sysctl -p
2.4 卸载mysql的软件包。
rpm –e mysql-libs –nodeps
2.5 设置MariaDB的源。
cd /etc/yum.repos.d/
新增一个文件,内容如下:
vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name=MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
2.6安装MariaDB的软件包。
yum -y install MariaDB-client MariaDB-server MariaDB-devel
service mysql on
chkconfig mysql on
yum安装:
MariaDB-client x86_64 10.0.35-1.el6 mariadb 11 M
MariaDB-compat x86_64 10.0.35-1.el6 mariadb 2.7 M
replacing mysql-libs.x86_64 5.1.73-3.el6_5
MariaDB-devel x86_64 10.0.35-1.el6 mariadb 6.6 M
MariaDB-server x86_64 10.0.35-1.el6 mariadb 60 M
Installing for dependencies:
MariaDB-common x86_64 10.0.35-1.el6 mariadb 41 k
libaio x86_64 0
一.架构介绍
架构介绍:利用Keepalived构建高可用的MariaDB-HA,保证两台MariaDB数据的一致性,然后用Keepalived实现虚拟IP,通过Keepalived自带的服务监控功能来实现MariaDB故障时自动切换。Keepalived的设计目的是构建高可用的LVS负载均衡集群,可以调用ipvsadm工具来创建虚拟服务器,管理服务器池,而不仅仅用来做双机热备。使用keepalived构建LVS集群更加简单易用,主要优势体现在:1.对LVS负载均衡调度器实现热备切换,提高可用性。2.对服务器池中的节点进行健康检查,自动移除失效节点,恢复后再重新加入。在基于 LVS+Keepalived实现的LVS群集结构中,至少包括2台热备的负载调度器,两台以上的节点服务器。本例中以DR模式的LVS群集为基础,增加负载调度器,使用Keepalived来实现调度器的热备,从而构建建有负载均衡、高可用两种能力的LVS网站群集平台。Keepalived可以实现高可用或者热备,用来防止单点故障的问题,而Keepalived的核心是VRRP协议,VRRP协议主要实现了在路由器或者三层交换机处的冗余,Keepalived就是使用VRRP协议来实现高可用。通过LVS+Keepalived构建的LVS集群,LVS负载均衡用户请求到后端的MariaDB服务器,Keepalived的作用是检测MariaDB服务器的状态,如果有一台MariaDB服务器宕机,或者工作出现故障,Keepalived将检测到,并且将有故障的MariaDB服务器从系统中剔除,当MariaDB服务器工作正常后Keepalived自动将MariaDB服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的MariaDB服务器。
硬件拓扑图:
VIP:172.19.0.8
MariaDB1: 172.19.0.32
MariaDB2: 172.19.0.33
二.安装软件:
2.1 安装CentOS 6.6_64系统。
2.2 打开iptables服务:
vim /etc/sysconfig/iptables
添加一行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT/sbin/iptables -I INPUT -p vrrp -j ACCEPT
然后重启服务:service iptables restart
2.3 关闭selinux功能及设置内核参数:
vim /etc/sysconfig/selinux
设置SELINUX=disabled
Setenforce 0临时关闭selinux
使用getenforce 查看selinux的状态。
echo "1" >/proc/sys/net/ipv4/ip_forward
/sbin/sysctl -p
2.4 卸载mysql的软件包。
rpm –e mysql-libs –nodeps
2.5 设置MariaDB的源。
cd /etc/yum.repos.d/
新增一个文件,内容如下:
vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name=MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
2.6安装MariaDB的软件包。
yum -y install MariaDB-client MariaDB-server MariaDB-devel
service mysql on
chkconfig mysql on
yum安装:
MariaDB-client x86_64 10.0.35-1.el6 mariadb 11 M
MariaDB-compat x86_64 10.0.35-1.el6 mariadb 2.7 M
replacing mysql-libs.x86_64 5.1.73-3.el6_5
MariaDB-devel x86_64 10.0.35-1.el6 mariadb 6.6 M
MariaDB-server x86_64 10.0.35-1.el6 mariadb 60 M
Installing for dependencies:
MariaDB-common x86_64 10.0.35-1.el6 mariadb 41 k
libaio x86_64 0