LVS+keepalived构建PXC高可用集群
2019獨角獸企業重金招聘Python工程師標準>>>
1 高可用安裝
1.1 集群信息
| 主機 | IP | 組件 |
| bdc212 | 192.168.13.212 | LVS:ipvsadm-1.27-7.el7.x86_64.rpm Keepalived: keepalived-1.2.4.tar.gz 應用:Percona-XtraDB-Cluster |
| bdc213 | 192.168.13.213 | LVS:ipvsadm-1.27-7.el7.x86_64.rpm Keepalived: keepalived-1.2.4.tar.gz 應用:Percona-XtraDB-Cluster |
| bdc214 | 192.168.13.214 | 應用:Percona-XtraDB-Cluster |
1.2 安裝準備
- 上傳安裝所需的壓縮包到/opt目錄
????????keepalived-1.2.4.tar.gz
????????(http://www.keepalived.org/software/keepalived-1.2.4.tar.gz)
- 安裝組件所需依賴包
1.3 安裝LVS+keepalived
????????在兩臺Director Server上分別安裝LVS+Keepalived,BACKUP服務器與MASTER服務器一致,先安裝lvs再安裝keepalived。
1.3.3 安裝LVS
????????Ipvs(IP Virtual Server)是整個負載均衡的基礎,沒有這個基礎,故障隔離與失敗切換就毫無意義了。
yum install ipvsadm –y1.3.4 安裝keepalived
解壓包:
tar zxvf keepalived-1.2.4.tar.gz初始化:
cd keepalived-1.2.4 ./configure --prefix=/usr/local/keepalived Keepalived configuration ------------------------ Keepalived version : 1.2.4 Compiler : gcc Compiler flags : -g -O2 Extra Lib : -lpopt -lssl -lcrypto -lnl Use IPVS Framework : Yes IPVS sync daemon support : Yes IPVS use libnl : Yes Use VRRP Framework : Yes Use VRRP VMAC : Yes Use Debug flags : No?編譯并安裝:
make&&make install Make complete make -C keepalived install make[1]: Entering directory `/root/Desktop/keepalived-1.2.1/keepalived' install -d /usr/local/keepalived/sbin install -m 700 ../bin/keepalived /usr/local/keepalived/sbin/ install -d /usr/local/keepalived/etc/rc.d/init.d install -m 755 etc/init.d/keepalived.init /usr/local/keepalived/etc/rc.d/init.d/keepalived install -d /usr/local/keepalived/etc/sysconfig install -m 755 etc/init.d/keepalived.sysconfig /usr/local/keepalived/etc/sysconfig/keepalived install -d /usr/local/keepalived/etc/keepalived/samples install -m 644 etc/keepalived/keepalived.conf /usr/local/keepalived/etc/keepalived/ install -m 644 ../doc/samples/* /usr/local/keepalived/etc/keepalived/samples/ install -d /usr/local/keepalived/share/man/man5 install -d /usr/local/keepalived/share/man/man8 install -m 644 ../doc/man/man5/keepalived.conf.5 /usr/local/keepalived/share/man/man5 install -m 644 ../doc/man/man8/keepalived.8 /usr/local/keepalived/share/man/man8 make[1]: Leaving directory `/root/Desktop/keepalived-1.2.1/keepalived' make -C genhash install make[1]: Entering directory `/root/Desktop/keepalived-1.2.1/genhash' install -d /usr/local/keepalived/bin install -m 755 ../bin/genhash /usr/local/keepalived/bin/ install -d /usr/local/keepalived/share/man/man1 install -m 644 ../doc/man/man1/genhash.1 /usr/local/keepalived/share/man/man1 make[1]: Leaving directory `/root/Desktop/keepalived-1.2.1/genhash'1.4 配置路由轉發
????1> 更改配置文件
vi /etc/sysctl.conf????????net.ipv4.ip_forward = 1
??? 2> 刷新系統配置
sysctl -p1.5 配置keepalived.cnf
????????keepalived的配置分為三類: 全局配置(global configuration),VRRPD配置,LVS配置。
????????全局配置就是對整個keepalived起效的配置,不管是否使用LVS。VRRPD是keepalived的核心,LVS配置只在要使用keepalived來配置的管理LVS時需要使用,如果僅僅使用keepalived來做HA,LVS的配置是不需要的。如果在只有一個負載均衡器的場合,就不須 VRRP 實例定義塊。
mkdir /etc/keepalived vi /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs {router_id LVS_MASTER #BACKUP LVS_BACKUP }vrrp_instance VI_1 {state MASTER #BACKUP BACKUPinterface eno16777736virtual_router_id 51priority 100 #BACKUP 80advert_int 1nopreemptauthentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.252.199} }virtual_server 192.168.252.199 3306 {delay_loop 6lb_algo rrlb_kind NAT # persistence_timeout 5protocol TCPreal_server 192.168.252.159 3306 {weight 3TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 3306}}real_server 192.168.252.160 3306 {weight 3TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 3306}}real_server 192.168.252.161 3306 {weight 3TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 3306}} }??????? 注:配置backup的/etc/keepalived/keepalived.conf,只需將批注部分改一下即可。
?
2 keepalived集群啟動
2.1 master節點啟動
/usr/local/keepalived/sbin/keepalived start檢查虛擬IP啟動情況
方法1:
tail -30 /var/log/message Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: Interface queue is empty Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: No such interface, virbr0 Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: No such interface, virbr0-nic Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: Registering Kernel netlink reflector Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: Registering Kernel netlink command channel Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: Registering gratuitous ARP shared channel Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: Opening file '/etc/keepalived/keepalived.conf'. Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: Configuration is using : 61916 Bytes Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: Using LinkWatch kernel netlink reflector... Jun 15 16:24:25 localhost Keepalived_healthcheckers[54296]: Activating healthchecker for service [192.168.252.199]:3306 Jun 15 16:24:25 localhost Keepalived_healthcheckers[54296]: Activating healthchecker for service [192.168.252.199]:3306 Jun 15 16:24:25 localhost Keepalived_healthcheckers[54296]: Activating healthchecker for service [192.168.252.199]:3306 Jun 15 16:24:25 localhost Keepalived_vrrp[54297]: VRRP_Instance(VI_1) Transition to MASTER STATE Jun 15 16:24:26 localhost Keepalived_vrrp[54297]: VRRP_Instance(VI_1) Entering MASTER STATE Jun 15 16:24:26 localhost avahi-daemon[768]: Registering new address record for 192.168.252.199 on eno16777736.IPv4.方法2:
[root@localhost Desktop]#ip addr????????
2.2 backup節點啟動
/usr/local/keepalived/sbin/keepalived start2.3 查看路由分發情況
查看ipvsadm
[root@localhost Desktop]#ipvsadm????????
也能夠通過mysqladmin查看本地mysql服務連接狀況
/opt/percona/bin/mysqladmin -uroot -p123456 status????????
?
3 PXC故障測試
3.1 殺死mysql服務
????????殺死節點三上的mysql服務
kill -9 mysqld’s pid3.2 查看ipvsadm
[root@localhost Desktop]# ipvsadm????????
???????? 注:負載均衡服務解除了節點三,只向節點一二分發包。
3.3 重啟mysql服務
/usr/share/percona-xtradb-cluster/mysql.server start3.4 再查看ipvsadm
[root@localhost Desktop]# ipvsadm????????
??????? 注:負載均衡服務重新把節點三放入了路由分發列表。
?
4 高可用測試
4.1 殺死master的KP服務
Kill -9 keepalived'pid4.2 查看組建工作情況
????1> VIP持有情況:
????????查看master ip:#ip add
????????????Master釋放了VIP:192.168.13.100
????????查看backup ip:#ip add
????????????Backup接收了VIP:192.168.13.100,繼續提供負載均衡服務
????2> ipvsadm工作情況
查看master Ipvsadm:負載均衡沒有工作
[root@localhost keepalived-1.2.4]# ipvsadm?????????
查看backup ipvsadm:負載均衡仍然提供服務
[root@localhost keepalived-1.2.4]# ipvsadm????????
轉載于:https://my.oschina.net/puwenchao/blog/753255
總結
以上是生活随笔為你收集整理的LVS+keepalived构建PXC高可用集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sum All Numbers in a
- 下一篇: 正则表达式——转载