Keepalived+MariaDB10配置+雙主+高可用資料庫
Keepalived+MariaDB10配置雙主高可用資料庫
OS | RS | 子網掩碼 | 路由閘道器 |
Centos6.6 Keepalived | Eth0:192.168.26.210 | 255.255.252.0 | 192.168.25.3 |
VIP:192.168.27.210 | 255.255.255.252 | ||
Centos6.6 MariaDB10 Keepalived | Eth0:192.168.26.211 | 255.255.252.0 | 192.168.25.3 |
VIP:192.168.27.210 | 255.255.255.255 | ||
Win7(client) | IP:192.168.26.70 | 255.255.252.0 | 192.168.25.3 |
在兩臺伺服器上分別安裝MYSQL:
yum -y install MariaDB (這裡略)
安裝完後配置雙主模型:
編輯配置檔案26.210:vim /etc/my.cnf.d/server.cnf
在配置檔案中加入以前幾個引數設定:
log-bin=mysql-bin
server-id=210
relay-log=relay-bin
編輯配置檔案26.211:vim /etc/my.cnf.d/server.cnf
log-bin=mysql-bin
server-id=211
relay-log=relay-bin
分別啟動兩臺伺服器的MYSQL服務:service mysql start
伺服器設定雙主:
26.210:
mysql
grantreplicationslave,replicationclienton*.*to'jerry'@'192.168.%.%'identifiedby'jerrypass';
changemastertomaster_host='192.168.26.211',master_user='jerrymy',master_password='jerrypass',master_log_file='mysql-bin.000006',master_log_pos=558;
start slave;
showslavestatus\G; #檢視從狀態IO和SQL 執行狀態均為YES表示配置成功
26.211:
mysql
grantreplicationslave,replicationclienton*.*to'jerrymy'@'192.168.%.%'identifiedby'jerrypass';
changemastertomaster_host='192.168.26.210',master_user='jerry',master_password='jerrypass',master_log_file='mysql-bin.000007',master_log_pos=540;
start slave;
showslavestatus\G; #檢視從狀態IO和SQL 執行狀態均為YES表示配置成功
顯示狀態為成功,我們再建立資料庫來測試,看看雙主是否執行正常。
雙主設定成功。
26.210:安裝Keepalived
安裝報錯未安裝gcc
yum -y install gcc
yum -y install openssl-devel
安裝元件後編譯成功:
編輯配置檔案:vim/etc/keepalived/keepalived.conf
!ConfigurationFileforkeepalivedglobal_defs{
router_idmysql-ha
}
vrrp_instanceVI_1{
state MASTER
interfaceeth0
virtual_router_id20
priority100
advert_int1
nopreempt
authentication{
auth_typePASS
auth_pass123456
}
virtual_ipaddress{
192.168.27.210
}
}
virtual_server192.168.27.2103306{
delay_loop2
lb_algorr
lb_kindDR
persistence_timeout60
protocolTCP
real_server192.168.26.2103306{
weight1
notify_down/etc/keepalived/mysql.sh
TCP_CHECK{
connect_port3306
connect_timeout3
nb_get_retry2
delay_before_retry1
}
}
}
儲存退出啟動Keepalived服務。
service keepalived start
26.211:安裝Keepalived。
編輯配置檔案26.211:vim/etc/keepalived/keepalived.conf
!ConfigurationFileforkeepalivedglobal_defs{
router_idmysql-ha
}
vrrp_instanceVI_1{
stateBACKUP
interfaceeth0
virtual_router_id20
priority99
advert_int1
nopreempt
authentication{
auth_typePASS
auth_pass123456
}
virtual_ipaddress{
192.168.27.210
}
}
virtual_server192.168.27.2103306{
delay_loop2
lb_algorr
lb_kindDR
persistence_timeout60
protocolTCP
real_server192.168.26.2113306{
weight1
notify_down/etc/keepalived/mysql.sh
TCP_CHECK{
connect_port3306
connect_timeout3
nb_get_retry2
delay_before_retry1
}
}
}
儲存退出啟動26.211上的Keepalived
service keepalived start
測試VIP是否可用:ping 192.168.27.210 -t
回到26.210或211都可以 上,建立一個數據庫訪問測試使用者賬號密碼。
grant all on *.* to 'jerrytest'@'192.168.%.%' identified by 'jerrypass';
下面通過 VIP訪問資料庫觀察訪問:
VIP在26.210這臺伺服器上,因此我們訪問的26.210上的資料庫。
下面停掉26.210上的MYSQL觀察:
首先觀察VIP網路出現波動後恢復。
資料庫訪問成功:
VIP已經轉移動26.211伺服器上了。
我們再恢復26.210上的MYSQL資料庫服務觀察。
轉載於:https://blog.51cto.com/jdonghong/1883361