MySQL主從復(fù)制與lvs+keepalived單點(diǎn)寫入讀負(fù)載均衡高可用實(shí)驗(yàn)_第1頁
MySQL主從復(fù)制與lvs+keepalived單點(diǎn)寫入讀負(fù)載均衡高可用實(shí)驗(yàn)_第2頁
MySQL主從復(fù)制與lvs+keepalived單點(diǎn)寫入讀負(fù)載均衡高可用實(shí)驗(yàn)_第3頁
MySQL主從復(fù)制與lvs+keepalived單點(diǎn)寫入讀負(fù)載均衡高可用實(shí)驗(yàn)_第4頁
MySQL主從復(fù)制與lvs+keepalived單點(diǎn)寫入讀負(fù)載均衡高可用實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一、環(huán)境Master(主機(jī)A):192.168.1.1Slave(主機(jī)B) :192.168.1.2  W-VIP(寫入)  :192.168.1.3 R-VIP(讀?。? :192.168.1.4 Client(測試) :192.168.1.100操作系統(tǒng)版本:CentOS release 6.4MySQL數(shù)據(jù)庫版本:5.6.14keepalived版本:1.2.7LVS版本:1.26所有環(huán)境均為虛擬機(jī)二、設(shè)計(jì)思路1. 服務(wù)器A和B,通過mysql的slave進(jìn)程同步數(shù)據(jù)。2. 通過keepalived啟用兩個(gè)虛IP:W-VIP/R-VIP,

2、一個(gè)負(fù)責(zé)寫入,一個(gè)負(fù)責(zé)讀取,實(shí)現(xiàn)讀寫分離。3. A和B都存在時(shí),W-VIP下將請求轉(zhuǎn)發(fā)至主機(jī)A,R-VIP將請求轉(zhuǎn)發(fā)給A和B,實(shí)現(xiàn)負(fù)載均衡。4. 當(dāng)主機(jī)A異常時(shí),B接管服務(wù),W-VIP/R-VIP此時(shí)漂到了主機(jī)B上,此時(shí)這兩個(gè)虛IP下都是主機(jī)B,實(shí)現(xiàn)高可用5. 當(dāng)主機(jī)B異常時(shí),R-VIP會(huì)將B踢出,其他不變?nèi)?、架?gòu)圖四、軟件安裝主從兩個(gè)主機(jī)都要裝以下軟件:1. MySQL的安裝(略)2. keepalived安裝yum install keepalived2. LVS安裝yum install ipvsadm五、配置1. 配置MySQL的主從復(fù)制(略)2. 配置keepalivedMaster

3、上的配置vi /etc/keepalived/keepalived.confplain view plaincopy1. ! Configuration File for keepalived  2.   3. global_defs   4.      router_id MySQL-ha  5.   6.   7. vrrp_instance 

4、VI_1   8.      state BACKUP  9.      interface eth1  10.      virtual_router_id 90  11.      priority 100  12.   &#

5、160;  advert_int 1  13.      notify_master "/usr/local/mysql/bin/remove_slave.sh"  14.      nopreempt  15.      authentication   16.    

6、;  auth_type PASS  17.      auth_pass 1111  18.        19.      virtual_ipaddress   20.      192.168.1.3 label eth1:1 &#

7、160;21.      192.168.1.4 label eth1:2  22.        23.   24.   25. virtual_server 192.168.1.3 6603     26.      delay_loop 2  

8、27.      lb_algo wrr  28.      lb_kind DR  29.      persistence_timeout 60  30.      protocol TCP  31.      real_se

9、rver 192.168.1.1 6603   32.      weight 3  33.      notify_down /usr/local/mysql/bin/mysql.sh  34.      TCP_CHECK   35.      conne

10、ct_timeout 10  36.      nb_get_retry 3  37.      delay_before_retry 3  38.      connect_port 6603  39.        40.   

11、0;    41.   42.   43. virtual_server 192.168.1.4 6603   44.      delay_loop 2  45.      lb_algo wrr  46.      lb_kind DR 

12、; 47.      persistence_timeout 60  48.      protocol TCP  49.      real_server 192.168.1.1 6603   50.      weight 1  51. 

13、0;    notify_down /usr/local/mysql/bin/mysql.sh  52.      TCP_CHECK   53.      connect_timeout 10  54.      nb_get_retry 3  55.    

14、;  delay_before_retry 3  56.      connect_port 6603  57.        58.        59.      real_server 192.168.1.2 6603   

15、60.      weight 3  61.      TCP_CHECK   62.      connect_timeout 10  63.      nb_get_retry 3  64.      delay_before

16、_retry 3  65.      connect_port 6603  66.        67.        68.   keepalived配置成服務(wù)并開機(jī)啟動(dòng)plain view plaincopy1. cp /usr/local/keepalived/etc/rc.d/init.d/keepa

17、lived /etc/rc.d/init.d/  2. cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/  3. cp /usr/local/keepalived/sbin/keepalived /usr/sbin/  4. chkconfig -add keepalived   5. chkconfig -level 345 

18、;keepalived on  vi /usr/local/mysql/bin/remove_slave.shplain view plaincopy1. #!/bin/bash  2. user=u1  3. password=12345  4. log=/usr/local/mysql/log/remove_slave.log  5. echo "date" >> $log  6. /usr

19、/local/mysql/bin/mysql -u$user -p$password -e "set global read_only=OFF;reset master;stop slave;change master to master_host='localhost'" >> $log  7. /bin/sed -i 's#read-only#read-only#&#

20、39; /etc/f  vi /usr/local/mysql/bin/mysql.shplain view plaincopy1. #!/bin/bash  2. /etc/init.d/keepalived stop  Slave上的配置vi /etc/keepalived/keepalived.confplain view plaincopy1. ! Configuration File for keepalived  2. &#

21、160; 3. global_defs   4.      router_id MySQL-ha  5.   6.   7. vrrp_instance VI_1   8.      state BACKUP  9.      interface eth1&#

22、160; 10.      virtual_router_id 90  11.      priority 99  12.      advert_int 1  13.      notify_master "/usr/local/mysql/bin/remove_slave.s

23、h"  14.      authentication   15.      auth_type PASS  16.      auth_pass 1111  17.        18.      virtu

24、al_ipaddress   19.      192.168.1.3 label eth1:1  20.      192.168.1.4 label eth1:2  21.        22.   23.   24. virtual_server 192.168.

25、1.3 6603   25.      delay_loop 2  26.      lb_algo wrr  27.      lb_kind DR  28.      persistence_timeout 60  29.  

26、    protocol TCP  30.      real_server 192.168.1.2 6603   31.      weight 3  32.      notify_down /usr/local/mysql/bin/mysql.sh  33. &#

27、160;    TCP_CHECK   34.      connect_timeout 10  35.      nb_get_retry 3  36.      delay_before_retry 3  37.      connec

28、t_port 6603  38.        39.        40.   41.   42. virtual_server 192.168.1.4 6603   43.      delay_loop 2  44.    

29、  lb_algo wrr  45.      lb_kind DR  46.      persistence_timeout 60  47.      protocol TCP  48.      real_server 192.168.1.2&

30、#160;6603   49.      weight 3  50.      notify_down /usr/local/mysql/bin/mysql.sh  51.      TCP_CHECK   52.      connect_timeout 10

31、0; 53.      nb_get_retry 3  54.      delay_before_retry 3  55.      connect_port 6603  56.        57.       &#

32、160;58.   keepalived配置成服務(wù)并開機(jī)啟動(dòng)plain view plaincopy1. cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/  2. cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/  3. cp /usr/local/keepalived/sbin/keepalived

33、60;/usr/sbin/  4. chkconfig -add keepalived   5. chkconfig -level 345 keepalived on  vi /usr/local/mysql/bin/remove_slave.shplain view plaincopy1. #!/bin/bash  2. user=u1  3. password=12345  4. log=/u

34、sr/local/mysql/log/remove_slave.log  5. echo "date" >> $log  6. /usr/local/mysql/bin/mysql -u$user -p$password -e "set global read_only=OFF;reset master;stop slave;change master to master_h

35、ost='localhost'" >> $log  7. /bin/sed -i 's#read-only#read-only#' /etc/f  vi /usr/local/mysql/bin/mysql.shplain view plaincopy1. #!/bin/bash  2. /etc/init.d/keepalived stop  3. 配置LVSMaster與Slave上的配置

36、相同:vi /usr/local/bin/lvs_real.shplain view plaincopy1. #!/bin/bash  2. # description: Config realserver lo and apply noarp  3.    4. SNS_VIP=192.168.1.3  5. SNS_VIP2=192.168.1.4  6. source /etc/rc.d/i

37、nit.d/functions  7. case "$1" in  8.    9. start)  10.        ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP  11.     

38、60;  ifconfig lo:1 $SNS_VIP2 netmask 255.255.255.255 broadcast $SNS_VIP2  12.        /sbin/route add -host $SNS_VIP dev lo:0  13.        /sbin/ro

39、ute add -host $SNS_VIP2 dev lo:1  14.        echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore  15.        echo "2" >/proc/sys/net/ipv4/conf/

40、lo/arp_announce  16.        echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore  17.        echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce  18.  

41、60;     sysctl -p >/dev/null 2>&1  19.        echo "RealServer Start OK"  20.          21.    22. stop) &

42、#160;23.        ifconfig lo:0 down  24.        ifconfig lo:1 down  25.        route del $SNS_VIP >/dev/null 2>&1  2

43、6.        route del $SNS_VIP2 >/dev/null 2>&1  27.        echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore  28.        echo

44、 "0" >/proc/sys/net/ipv4/conf/lo/arp_announce  29.        echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore  30.        echo "0" >/proc/sys/ne

45、t/ipv4/conf/all/arp_announce  31.        echo "RealServer Stoped"  32.          33.    34. *)  35.    36.      

46、0; echo "Usage: $0 start|stop"  37.        exit 1  38. esac  39. exit 0  plain view plaincopy1. chmod 755 /usr/local/bin/lvs_real.sh  2. echo "/usr/local/bi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論