這篇文章主要講解了“MySQL+KeepAlived+LVS單點(diǎn)寫入主主同步高可用架構(gòu)實(shí)例教程”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“MySQL+KeepAlived+LVS單點(diǎn)寫入主主同步高可用架構(gòu)實(shí)例教程”吧!
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供銅山網(wǎng)站建設(shè)、銅山做網(wǎng)站、銅山網(wǎng)站設(shè)計(jì)、銅山網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、銅山企業(yè)網(wǎng)站模板建站服務(wù),十多年銅山做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
㈠ 實(shí)戰(zhàn)環(huán)境
服務(wù)器名· | IP | OS | MySQL |
odd.example.com | 192.168.1.116 | RHEL-5.8 | 5.5.16 |
even.example.com | 192.168.1.115 | RHEL-5.8 | 5.5.16 |
㈡ 方案優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
● 安裝配置簡(jiǎn)單, 實(shí)現(xiàn)方便,高可用效率好,可以根據(jù)服務(wù)與系統(tǒng)的可用性多方面進(jìn)行切換
● 可以將寫 VIP 和讀 VIP 分別進(jìn)行設(shè)置,為讀寫分離做準(zhǔn)備
● 可以在后面添加多個(gè)從服務(wù)器,并做到負(fù)載均衡
缺點(diǎn)
● 在啟動(dòng)或者恢復(fù)后會(huì)立即替換掉定義的 sorry_server
因此如果要實(shí)現(xiàn)指定條件替換或者不替換需要通過(guò)其他方式實(shí)現(xiàn),比如:臨時(shí)更改MySQL的端口等
● 擴(kuò)展不是很方便
● 切換需要 1s 左右的時(shí)間
㈢ 方案適用場(chǎng)景
這個(gè)方案適用于只有兩臺(tái)數(shù)據(jù)庫(kù)服務(wù)器并且還沒(méi)有實(shí)現(xiàn)數(shù)據(jù)庫(kù)的讀寫分離的情況、讀和寫都配置 VIP
這個(gè)方案能夠便于單臺(tái)數(shù)據(jù)庫(kù)的管理維護(hù)以及切換工作
比如進(jìn)行大表的表結(jié)構(gòu)更改、數(shù)據(jù)庫(kù)的升級(jí)等都是非常方便的
㈣ 方案架構(gòu)圖
㈤ 部署步驟
⑴ MySQL 安裝
請(qǐng)查閱我之前的一篇文章:MySQL 5.5 三大安裝方式:【二進(jìn)制、源代碼編譯 和 RPM 包】 安裝步驟及優(yōu)缺點(diǎn)比較
⑵ MySQL主主同步配置
這也請(qǐng)查閱我之前的文章哈:MySQL 主主同步配置
⑶ LVS 安裝
在ODD EVEN:
# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
# ln -s /usr/src/kernels/2.6.18-308.el5xen-i686/ /usr/src/linux
# tar -zxv -f ipvsadm-1.24.tar.gz
# cd ipvsadm-1.24
# make
# make install
⑷ KeepAlived安裝
在ODD EVEN:
# wget http://www.keepalived.org/software/keepalived-1.1.19.tar.gz
# tar -zxv -f keepalived-1.1.19.tar.gz
# cd keepalived-1.1.19
# ./configure --prefix=/usr/local/keepalived
# make
# make install
# cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
# mkdir /etc/keepalived
⑸ KeepAlived配置
在 ODD
global_defs { notification_email { linwaterbin@gmail.com } notification_email_from bychjzh@gmail.com smtp_server smtp.gmail.com smtp_connect_timeout 30 router_id LVS1 } vrrp_sync_group test { group { loadbalance } } vrrp_instance loadbalance { state BACKUP interface eth0 lvs_sync_daemon_inteface eth0 virtual_router_id 51 priority 150 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.1.128 dev eth0 label eth0:1 } } virtual_server 192.168.1.128 3306 { delay_loop 6 lb_algo rr lb_kind DR persistence_timeout 20 protocol TCP sorry_server 192.168.1.115 3306 real_server 192.168.1.116 3306 { weight 3 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 connect_port 3306 } } }
在EVEN:
大部分都和 ODD 一樣、只有 2 處:
● state BACKUP
● priority 150
⑹ ODD EVEN 的 realsever 配置
在 ODD EVEN 上
#!/bin/bash # description: Config realserver lo and apply noarp SNS_VIP=192.168.1.128 /etc/rc.d/init.d/functions case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add -host $SNS_VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p >/dev/null 2>&1 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $SNS_VIP >/dev/null 2>&1 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac exit 0
⑺ 啟動(dòng) KeepAlived和 realsever
在 ODD EVEN
# /etc/rc.d/init.d/realserver.sh start
# /etc/rc.d/init.d/keepalived start
# echo “/etc/rc.d/init.d/realserver.sh start” >> /etc/rc.local
# echo “/etc/rc.d/init.d/keepalived start” >> /etc/rc.local
配置到這邊大概都已經(jīng)差不多了、接下來(lái)看看測(cè)試
㈥ 簡(jiǎn)單測(cè)試
停掉ODD MySQL Server 、看看能否自動(dòng)卻換到 sorry_server
停止前: [root@odd keepalived]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.128:3306 rr persistent 20 -> 192.168.1.116:3306 Local 3 0 0 停止: [mysql@odd ~]$ mysqladmin shutdown 130508 00:53:50 mysqld_safe mysqld from pid file /home/mysql/mysql/data/odd.example.com.pid ended [1]+ Done mysqld_safe 停止后: [root@odd keepalived]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.1.128:3306 rr persistent 20 -> 192.168.1.115:3306 Route 1 0 0 成功!!
<!-- Baidu Button BEGIN -->
感謝各位的閱讀,以上就是“MySQL+KeepAlived+LVS單點(diǎn)寫入主主同步高可用架構(gòu)實(shí)例教程”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)MySQL+KeepAlived+LVS單點(diǎn)寫入主主同步高可用架構(gòu)實(shí)例教程這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站標(biāo)題:MySQL+KeepAlived+LVS單點(diǎn)寫入主主同步高可用架構(gòu)實(shí)例教程
本文鏈接:http://chinadenli.net/article10/ppsodo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、Google、定制開(kāi)發(fā)、企業(yè)建站、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)