日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

centos MySQL 双机_CentOS利用Keepalived构建双主MySQL+双机热备

發布時間:2024/9/19 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos MySQL 双机_CentOS利用Keepalived构建双主MySQL+双机热备 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前的文章介紹了如何配置MysqL雙主互備,見http://www.linuxidc.com/Linux/2013-05/83784.htm

這里介紹如何配合前者實現Keepalived雙機熱備

系統環境:CentOS6.3 x64

MysqL版本:MysqL-5.6.10

Keepalived版本:keepalived-1.2.7

MysqL-VIP:192.168.7.253

MysqL-master1:192.168.7.201

MysqL-master2:192.168.7.249

1.在MysqL-master1:192.168.7.201服務器上keepalived安裝及配置

編譯安裝,實際以本機kernel版本為準

# wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz

# tar zxvf keepalived-1.2.7.tar.gz

# cd keepalived-1.2.7

# ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-

279.el6.x86_64

# make && make install

新建一個配置文件,默認keepalived啟動會去/etc/keepalived目錄下尋找配置文件

# mkdir /etc/keepalived

# vi /etc/keepalived/keepalived.conf

------------------

global_defs {

notification_email {

lzyangel@126.com

}

notification_email_from lzyangel@126.com

smtp_server stmp.126.com

smtp_connect_timeout 30

router_id MysqL-ha

}

vrrp_instance VI_1{

# 兩臺配置此處均是BACKUP

state BACKUP

# 注意網卡接口

interface eth0

virtual_router_id 51

# 優先級,另一臺改為90

priority 100

advert_int 1

# 不主動搶占資源

nopreempt

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.7.253

}

}

virtual_server 192.168.7.253 3306 {

# 每個2秒檢查一次real_server狀態

delay_loop 2

# LVS算法

lb_algo wrr

# LVS模式

lb_kind DR

# 會話保持時間

persistence_timeout 60

protocol TCP

real_server 192.168.7.201 3306 {

weight 3

# 檢測到服務down后執行的腳本

notify_down /etc/rc.d/keepalived.sh

TCP_CHECK {

# 連接超時時間

connect_timeout 10

# 重連次數

nb_get_retry 3

# 重連間隔時間

delay_before_retry 3

# 健康檢查端口

connect_port 3306

}

}

----------------------

編寫檢測服務down后所要執行的腳本

# vi /etc/rc.d/keepalived.sh

-------------

#!/bin/sh

pkill keepalived

-------------

# chmod +x /etc/rc.d/keepalived.sh

注:此腳本是上面配置文件notify_down選項所用到的,keepalived使用notify_down選項來檢查real_server的服務狀態。

當發現real_server服務故障時,便觸發此腳本.

我們可以看到,腳本就一個命令:

通過pkill keepalived強制殺死keepalived進程,從而實現了MysqL故障自動轉移.

另外,我們不用擔心兩個MysqL會同時提供數據更新操作,因為每臺MysqL上的keepalived的配置里面只有本機MysqL的IP+VIP,而不是兩臺MysqL的IP+VIP.

啟動keepalived

# /usr/local/keepalived/sbin/keepalived -D

查看連接狀態

# ps -aux | grep keepalived

返回:

---------------

root 25348 0.0 0.0 36792 720 ? Ss 07:15 0:00

/usr/local/keepalived/sbin/keepalived -D

root 25349 0.5 0.1 40968 2016 ? S 07:15 0:00

/usr/local/keepalived/sbin/keepalived -D

root 25350 0.0 0.1 40968 1340 ? S 07:15 0:00

/usr/local/keepalived/sbin/keepalived -D

--------------------

測試

找一臺局域網PC,然后去ping MysqL的VIP,這時候MysqL的VIP是可以ping的通的

停止MysqL服務,看keepalived健康檢查程序是否會觸發我們編寫的腳本,去kill掉keepalived進程

# service MysqLd stop

# ps -aux | grep keepalived

無返回結果

2.在MysqL-master2:192.168.7.249服務器上keepalived安裝及配置

編譯安裝,實際以本機kernel版本為準

# wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz

# tar zxvf keepalived-1.2.7.tar.gz

# cd keepalived-1.2.7

# ./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/src/kernels/2.6.32-

279.el6.x86_64

# make && make install

新建一個配置文件,默認keepalived啟動會去/etc/keepalived目錄下尋找配置文件

# mkdir /etc/keepalived

# vi /etc/keepalived/keepalived.conf

------------------

global_defs {

notification_email {

lzyangel@126.com

}

notification_email_from lzyangel@126.com

smtp_server stmp.126.com

smtp_connect_timeout 30

router_id MysqL-ha

}

vrrp_instance VI_1{

# 兩臺配置此處均是BACKUP

state BACKUP

# 注意網卡接口

interface eth0

virtual_router_id 51

# 優先級,另一臺改為90

priority 90

advert_int 1

# 不主動搶占資源

nopreempt

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.7.253

}

}

virtual_server 192.168.7.253 3306 {

# 每個2秒檢查一次real_server狀態

delay_loop 2

# LVS算法

lb_algo wrr

# LVS模式

lb_kind DR

# 會話保持時間

persistence_timeout 60

protocol TCP

real_server 192.168.7.249 3306 {

weight 3

# 檢測到服務down后執行的腳本

notify_down /etc/rc.d/keepalived.sh

TCP_CHECK {

# 連接超時時間

connect_timeout 10

# 重連次數

nb_get_retry 3

# 重連間隔時間

delay_before_retry 3

# 健康檢查端口

connect_port 3306

}

}

----------------------

編寫檢測服務down后所要執行的腳本

# vi /etc/rc.d/keepalived.sh

-------------

#!/bin/sh

pkill keepalived

-------------

# chmod +x /etc/rc.d/keepalived.sh

啟動keepalived

# /usr/local/keepalived/sbin/keepalived -D

# ps -aux | grep keepalive

至此配置完成,網站后臺只需要配置MysqL-VIP:192.168.7.253虛擬地址即可

這里實際連接的master數據庫,以哪臺master先開MysqL服務為準。

當master1:192.168.7.201 MysqL端口擋掉或者服務器異常關閉,keepalived會自動跳轉到master2:192.168.7.249.

因為兩臺數據庫的數據時同步的,用戶訪問的是MysqL-VIP:192.168.7.253虛擬地址,所以網站數據連接會無縫透明轉接到master2服務器,實現雙機熱備+數據同步功能。保證網站數據庫的實時可用性。

注:當某一臺master服務器掛掉恢復后,需同時打開MysqL服務和keepalived服務,保證另一臺服務器如果掛掉會無縫轉接。

所以建議MysqL與keeplived設置服務開機啟動。

# chkconfig MysqLd on

# vi /etc/rc.local

---------------

/usr/local/keepalived/sbin/keepalived -D

總結

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

如您喜歡交流學習經驗,點擊鏈接加入交流1群:1065694478(已滿)交流2群:163560250

總結

以上是生活随笔為你收集整理的centos MySQL 双机_CentOS利用Keepalived构建双主MySQL+双机热备的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。