基於keepalived Mysql雙主熱備配置
基於keepalived雙主熱備:
一.環境:
OS:CentOS 6.5 X64
DB Version:Percona Mysql 5.7.15-9-log
路徑:/app/mysql57
資料檔案路徑:/data/mysql57/data
DB1:192.168.213.4
DB2:192.168.213.5
二.安裝keepalived包(兩臺主機都需操作)
1.下載keepalived包
cd /usr/local/tools
wget
2.安裝所需包
yum -y install openssl-devel
3.安裝keepalived
mkdir -pv /app/keepalived
cd /usr/local/tools
tar xf keepalived-1.2.23.tar.gz
cd keepalived-1.2.23
./configure --prefix=/app/keepalived/
make
make install
4.配置keepalived
cp /app/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
cp /app/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
cp /app/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /app/keepalived/sbin/keepalived /usr/sbin/
db01 keepalived配置
cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id HA_MYSQL
}
vrrp_script chk_mysql {
script "/etc/init.d/mysql57 status"
}
vrrp_instance VI_1 {
state MASTER
interface eth0 !虛擬IP對應介面,也就是業務介面對應的網路卡編號
virtual_router_id 51
priority 105 !權重
advert_int 1
nopreempt !自己上線後不搶佔當前 master 的位置,即使其權重比自己低
virtual_ipaddress {
192.168.213.100 !VIP
}
track_script {
chk_mysql !啟用頭部定義的檢查MySQL狀態的指令碼
}
}
virtual_server 192.168.213.100 3306 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 60
protocol TCP sorry_server 192.168.213.5 3306 ! real_server 掛掉後臨時使用 sorry_server 頂上
real_server 192.168.213.4 3306 {
weight 1
TCP_CHECK {
connect_port 3306
connect_timeout 3
}
}
}
db02 keepalived配置
[root@ORADB-213-5 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id HA_MYSQL
}
vrrp_script chk_mysql {
script "/etc/init.d/mysql57 status"
}
vrrp_instance VI_1 {
state BACKUP
interface eth0 !虛擬IP對應介面,也就是業務介面對應的網路卡編號
virtual_router_id 51
priority 100 !權重
advert_int 1
nopreempt !自己上線後不搶佔當前 master 的位置,即使其權重比自己低
virtual_ipaddress {
192.168.213.100 !VIP
}
track_script {
chk_mysql !啟用頭部定義的檢查MySQL狀態的指令碼
}
}
virtual_server 192.168.213.100 3306 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 60
protocol TCP sorry_server 192.168.213.4 3306 ! real_server 掛掉後臨時使用 sorry_server 頂上
real_server 192.168.213.5 3306 {
weight 1
TCP_CHECK {
connect_port 3306
connect_timeout 3
}
}
}
5.兩臺DB啟動keepalived
/etc/init.d/keepalived start
檢視VIP
[root@ORA11G-213-4 keepalived-1.2.23]# ip addr
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:c7:d5:27 brd ff:ff:ff:ff:ff:ff
inet 192.168.213.4/24 brd 192.168.213.255 scope global eth0
inet 192.168.213.100/32 scope global eth0
inet6 fe80::20c:29ff:fec7:d527/64 scope link
valid_lft forever preferred_lft forever
測試
[root@ORA11G-213-4 keepalived-1.2.23]# mysql -unetdata -pnetdata -h 192.168.213.100
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2881
Server version: 5.7.15-9-log Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
netdata@192.168.213.100 23:41: [(none)]> system ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:C7:D5:27
inet addr:192.168.213.4 Bcast:192.168.213.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec7:d527/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:156643 errors:0 dropped:0 overruns:0 frame:0
TX packets:191173 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:39459924 (37.6 MiB) TX bytes:31911844 (30.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:17378 errors:0 dropped:0 overruns:0 frame:0
TX packets:17378 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1002566 (979.0 KiB) TX bytes:1002566 (979.0 KiB)
停止掉db01
[root@ORA11G-213-4 keepalived-1.2.23]# /etc/init.d/mysql57 stop
Shutting down MySQL (Percona Server)............. SUCCESS!
檢視db02
[root@ORADB-213-5 ~]# ip addr
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:63:54:39 brd ff:ff:ff:ff:ff:ff
inet 192.168.213.5/24 brd 192.168.213.255 scope global eth0
inet 192.168.213.100/32 scope global eth0
inet6 fe80::20c:29ff:fe63:5439/64 scope link
valid_lft forever preferred_lft forever
VIP已經飄移過來
一.環境:
OS:CentOS 6.5 X64
DB Version:Percona Mysql 5.7.15-9-log
路徑:/app/mysql57
資料檔案路徑:/data/mysql57/data
DB1:192.168.213.4
DB2:192.168.213.5
二.安裝keepalived包(兩臺主機都需操作)
1.下載keepalived包
cd /usr/local/tools
wget
2.安裝所需包
yum -y install openssl-devel
3.安裝keepalived
mkdir -pv /app/keepalived
cd /usr/local/tools
tar xf keepalived-1.2.23.tar.gz
cd keepalived-1.2.23
./configure --prefix=/app/keepalived/
make
make install
4.配置keepalived
cp /app/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
cp /app/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived
cp /app/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
cp /app/keepalived/sbin/keepalived /usr/sbin/
db01 keepalived配置
cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id HA_MYSQL
}
vrrp_script chk_mysql {
script "/etc/init.d/mysql57 status"
}
vrrp_instance VI_1 {
state MASTER
interface eth0 !虛擬IP對應介面,也就是業務介面對應的網路卡編號
virtual_router_id 51
priority 105 !權重
advert_int 1
nopreempt !自己上線後不搶佔當前 master 的位置,即使其權重比自己低
virtual_ipaddress {
192.168.213.100 !VIP
}
track_script {
chk_mysql !啟用頭部定義的檢查MySQL狀態的指令碼
}
}
virtual_server 192.168.213.100 3306 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 60
protocol TCP sorry_server 192.168.213.5 3306 ! real_server 掛掉後臨時使用 sorry_server 頂上
real_server 192.168.213.4 3306 {
weight 1
TCP_CHECK {
connect_port 3306
connect_timeout 3
}
}
}
db02 keepalived配置
[root@ORADB-213-5 ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id HA_MYSQL
}
vrrp_script chk_mysql {
script "/etc/init.d/mysql57 status"
}
vrrp_instance VI_1 {
state BACKUP
interface eth0 !虛擬IP對應介面,也就是業務介面對應的網路卡編號
virtual_router_id 51
priority 100 !權重
advert_int 1
nopreempt !自己上線後不搶佔當前 master 的位置,即使其權重比自己低
virtual_ipaddress {
192.168.213.100 !VIP
}
track_script {
chk_mysql !啟用頭部定義的檢查MySQL狀態的指令碼
}
}
virtual_server 192.168.213.100 3306 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 60
protocol TCP sorry_server 192.168.213.4 3306 ! real_server 掛掉後臨時使用 sorry_server 頂上
real_server 192.168.213.5 3306 {
weight 1
TCP_CHECK {
connect_port 3306
connect_timeout 3
}
}
}
5.兩臺DB啟動keepalived
/etc/init.d/keepalived start
檢視VIP
[root@ORA11G-213-4 keepalived-1.2.23]# ip addr
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:c7:d5:27 brd ff:ff:ff:ff:ff:ff
inet 192.168.213.4/24 brd 192.168.213.255 scope global eth0
inet 192.168.213.100/32 scope global eth0
inet6 fe80::20c:29ff:fec7:d527/64 scope link
valid_lft forever preferred_lft forever
測試
[root@ORA11G-213-4 keepalived-1.2.23]# mysql -unetdata -pnetdata -h 192.168.213.100
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2881
Server version: 5.7.15-9-log Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
netdata@192.168.213.100 23:41: [(none)]> system ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:C7:D5:27
inet addr:192.168.213.4 Bcast:192.168.213.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec7:d527/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:156643 errors:0 dropped:0 overruns:0 frame:0
TX packets:191173 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:39459924 (37.6 MiB) TX bytes:31911844 (30.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:17378 errors:0 dropped:0 overruns:0 frame:0
TX packets:17378 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1002566 (979.0 KiB) TX bytes:1002566 (979.0 KiB)
停止掉db01
[root@ORA11G-213-4 keepalived-1.2.23]# /etc/init.d/mysql57 stop
Shutting down MySQL (Percona Server)............. SUCCESS!
檢視db02
[root@ORADB-213-5 ~]# ip addr
1: lo: mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:63:54:39 brd ff:ff:ff:ff:ff:ff
inet 192.168.213.5/24 brd 192.168.213.255 scope global eth0
inet 192.168.213.100/32 scope global eth0
inet6 fe80::20c:29ff:fe63:5439/64 scope link
valid_lft forever preferred_lft forever
VIP已經飄移過來
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24486203/viewspace-2128669/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql+keepalived 雙主熱備高可用MySql
- MySQL 高可用性之 Keepalived 雙主熱備MySql
- Mysql+Keepalived雙主熱備高可用操作記錄MySql
- [Mysql高可用]——雙主互備+keepalivedMySql
- Nginx+keepalived 雙機熱備(主主模式)Nginx模式
- Nginx+keepalived 雙機熱備(主從模式)Nginx模式
- Mysql雙主熱備+LVS+Keepalived高可用操作記錄MySql
- MySQL 主從複製,雙機熱備MySql
- Keepalived - Keepalived 實現 tomcat雙機熱備Tomcat
- Keepalived雙機熱備實現高可用
- Keepalived+Mysql配置主主複製MySql
- Mysql 資料庫雙機熱備的配置MySql資料庫
- MySQL 高可用性—keepalived+mysql雙主MySql
- MySQL雙主雙從配置MySql
- Mysql主從熱備MySql
- 使用Keepalived實現Nginx的自動重啟及雙主熱備高可用Nginx
- mysql雙主雙從 搭建配置MySql
- 基於MySQL雙主複製架構下部署LVS+KeepAlived負載均衡MySql架構負載
- 學一點 mysql 雙機異地熱備份----快速理解mysql主從,主主備份原理及實踐MySql
- linux上mysql MM(雙主)及keepalived搭建LinuxMySql
- MySQL叢集搭建(6)-雙主+keepalived高可用MySql
- Redis+Keepalived主從熱備秒級切換Redis
- 藉助keepalived + nginx雙機熱備加固flume線路Nginx
- MySQL主從配置及haproxy和keepalived搭建MySql
- 使用Keepalived實現Nginx的雙機主備高可用Nginx
- MySQL備份與主備配置MySql
- MFS+Keepalived雙機高可用熱備方案操作記錄
- 基於Linux的mysql主從配置LinuxMySql
- Nginx+Keepalived 主備高可用 安裝與配置Nginx
- mysql雙機互備方式配置MySql
- MySQL基於binlog主從複製配置MySql
- 防火牆的雙機熱備1:主備、負載方式防火牆負載
- mysql之 mysql 5.6不停機主主搭建(活躍雙主基於日誌點複製)MySql
- 高可用Mysql架構_Mysql主從複製、Mysql雙主熱備、Mysql雙主雙從、Mysql讀寫分離(Mycat中介軟體)、Mysql分庫分表架構(Mycat中介軟體)的演變MySql架構
- mysql主主複製(雙主複製)配置步驟MySql
- MySQL雙機互備熱備自動切換KVMySql
- 手工的雙機熱備資料庫配置資料庫
- Mysql+keepalived主主切換薦MySql