keepalived+lvs實現mysql叢集負載均衡
一 安裝:
yum install ipvsadm
或者下載二進位制包編譯安裝
二 手工配置單點轉發:
基礎環境:
100.5.120.118/119 是資料庫伺服器 埠號是3308
LVS伺服器:100.5.120.43
虛擬ip:100.5.120.150
echo 1 > /proc/sys/net/ipv4/ip_forward
啟動:
LVS端配置:
ifconfig em1:0 100.5.120.150 netmask 255.255.252.0 broadcast 10.5.15.255 up
ipvsadm -A -t 100.5.120.150:3308 -s rr
ipvsadm -a -t 100.5.120.150:3308 -r 100.5.120.119 -g
ipvsadm -a -t 100.5.120.150:3308 -r 100.5.120.118 -g
ipvsadm
real server(兩臺資料庫伺服器):
ifconfig lo:0 100.5.120.150 netmask 255.255.255.255 broadcast 10.5.15.255 up
route add -host 100.5.120.150 dev lo:0
檢視執行狀態: ipvsadm -l --stats -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 100.5.120.150:3308 0 0 0 0 0
-> 100.5.120.118:3308 0 0 0 0 0
-> 100.5.120.119:3308 0 0 0 0 0
通過vip登陸資料庫伺服器幾次再次檢視狀態:
(mysql -h100.5.120.150 -P3308 -utest -ptest -e "show databases;")
ipvsadm -l --stats -n
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 100.5.120.150:3308 15 135 0 7763 0
-> 100.5.120.118:3308 7 63 0 3563 0
-> 100.5.120.119:3308 8 72 0 4200 0
可以看到LVS複製均衡已經生效了。
關閉:
lvs server
ifconfig em1:0 down
/sbin/ipvsadm -C
real server:
/sbin/ifconfig lo:0 down
三、結合keepalived做LVS伺服器高可用:
基礎環境:
100.5.120.118/119 是資料庫伺服器 埠號是3308
LVS伺服器:100.5.120.43/2
虛擬ip:100.5.120.150
100.5.120.43/2上分別keepalived安裝好後。
調整配置檔案(43主):
cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
router_id LVS
}
vrrp_instance VI_1 {
state master #2上使用backup
interface em1
virtual_router_id 115
priority 100 #2上調整成比100小的值比如80
advert_int 1
#nopreempt
authentication {
auth_type PASS
auth_pass 1234
}
virtual_ipaddress {
100.5.120.150
}
}
virtual_server 100.5.120.150 3308 {
delay_loop 6
lb_algo wrr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 100.5.120.118 3308 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3308
}
}
real_server 100.5.120.119 3308 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3308
}
}
}
先關閉之前手動起來的服務。
兩個lvs伺服器分別執行:
/etc/init.d/keepalived start
此時檢視狀態:
發現master上獲得了vip,並且lvs已經正常啟動了。
PS:測試文件,生產環境使用,還是需要仔細閱讀官方文件優化配置
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20625855/viewspace-1661948/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- orleans叢集及負載均衡實現負載
- 負載均衡叢集負載
- haproxy(單機)+mysql叢集負載均衡MySql負載
- LVS+Keepalive 實現負載均衡高可用叢集負載
- dubbo叢集和負載均衡負載
- HaProxy 實現 MySQL 負載均衡MySql負載
- 藉助 TCP 負載均衡和 Galera 叢集擴充套件 MySQLTCP負載套件MySql
- 淺談達夢DSC叢集以及負載均衡實現與驗證負載
- kubernetes叢集內排程與負載均衡負載
- 負載均衡 - MQTT Broker 叢集詳解(一)負載MQQT
- Haproxy+Keepalived高可用負載均衡叢集負載
- Dapr + .NET Core實戰(十一)單機Dapr叢集負載均衡負載
- 叢集,lvs負載均衡的四種工作模式負載模式
- Ribbon實現負載均衡負載
- GRPC 負載均衡實現RPC負載
- nginx實現負載均衡Nginx負載
- keepalived+haproxy實現mysql負載均衡高可用MySql負載
- Linux環境搭建Nginx+Tomcat負載均衡叢集LinuxNginxTomcat負載
- docker初體驗:docker部署nginx負載均衡叢集DockerNginx負載
- docker+mysql叢集+讀寫分離+mycat管理+垂直分庫+負載均衡DockerMySql負載
- linux搭建LVS+keepalive+nginx實現叢集高效能負載均衡配置詳解LinuxNginx負載
- Mycat實現mysql的負載均衡讀寫分離MySql負載
- 叢集、負載均衡、分散式的區別與聯絡負載分散式
- centos7下配置nginx反向代理負載均衡叢集CentOSNginx負載
- 粘性會話負載均衡 - MQTT Broker 叢集詳解(二)會話負載MQQT
- mysql負載均衡搭建(haproxy)MySql負載
- nginx+tomcat實現負載均衡NginxTomcat負載
- dubbo(三):負載均衡實現解析負載
- 使用YARP來實現負載均衡負載
- Python實現簡單負載均衡Python負載
- Nginx+Tomcat實現負載均衡、動靜分離叢集部署NginxTomcat負載
- RabbitMQ(四):使用Docker構建RabbitMQ高可用負載均衡叢集MQDocker負載
- Dubbo學習筆記(四)叢集容錯與負載均衡筆記負載
- 使用Redis儲存Nginx+Tomcat負載均衡叢集的SessionRedisNginxTomcat負載Session
- SpringCloud微服務中使用RestTemplate+Ribbon實現負載均衡(實現方法+實現原理+替換負載均衡策略)SpringGCCloud微服務REST負載
- Nginx實現簡單的負載均衡Nginx負載
- Haproxy搭建 Web 群集實現負載均衡Web負載
- 在Linux中,如何實現負載均衡?Linux負載
- Nginx如何實現四層負載均衡?Nginx負載