ubuntu下LVS + Keepalived 实现mysql高可用负载均衡实现
2011-01-19 14:50
766 查看
LVSServer:192.85.1.5
VirtualIP:192.85.1.10
RealServer1:192.85.1.4 RealServer2:192.85.1.9
在LVSServer上安装ipvsadm和keepalived。 $sudoapt-getinstallipvsadmkeepalived
使用这两个做配合时,无需配置ipvsadm,直接修改keepalived.conf即可。
$sudovim/etc/keepalived/keepalived.conf global_defs{ router_idLVS_DEVEL } vrrp_instanceVI_1{ stateMASTER interfaceeth0 virtual_router_id51 priority100#100为从服务器,主服务器为:101 advert_int1 authentication{ auth_typePASS auth_pass1111 } virtual_ipaddress{ 192.85.1.10 } } virtual_server192.85.1.103306{ delay_loop1#每隔1秒查询RealServer状态 lb_algowrr#LVS算法 lb_kindDR#DirectRoute #persistence_timeout60#同一IP在60秒内分配到同一台RealServer protocolTCP#使用TCP协议检查RealServer状态 real_server192.85.1.43306{ weight3#权重 TCP_CHECK{ connect_timeout10#10秒无响应超时 nb_get_retry3 delay_before_retry3 connect_port3306 } } real_server192.85.1.93306{ weight3 TCP_CHECK{ connect_timeout10 nb_get_retry3 delay_before_retry3 connect_port3306 } } }}
启动keepalived服务。 $sudoservicekeepalivedstart#应该先启动mysql集群
检查ipvsadm设置。
$sudoipvsadm-ln
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.85.1.10:3306wrr
->192.85.1.4:3306Route300
->192.85.1.9:3306Route300
在所有RealServer/etc/rc.local中添加配置信息后重启
$sudonano/etc/rc.local
#!/bin/sh-e
#
#rc.local
#
#Thisscriptisexecutedattheendofeachmultiuserrunlevel.
#Makesurethatthescriptwill"exit0"onsuccessoranyother
#valueonerror.
#
#Inordertoenableordisablethisscriptjustchangetheexecution
#bits.
#
#Bydefaultthisscriptdoesnothing.
ifconfiglo:0192.85.1.10netmask255.255.255.255broadcast192.85.1.10up
routeadd-host192.85.1.10devlo:0
echo"0">/proc/sys/net/ipv4/ip_forward
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
exit0
这时我们就可以进行测试了。在RealServer1上,创建数据库:clustertest,
sudo/usr/local/mysql/bin/mysql-uroot-p
密码默认为空
mysql>GRANTALLONclustertest.*TO'zichen'@'$'IDENTIFIEDBY'62672000';
mysql>FLUSHPRIVILEGES;
mysql>CREATEDATABASEclustertest;
mysql>USEclustertest;
mysql>CREATETABLEtest(idINT)ENGINE=NDBCLUSTER;
mysql>INSERTINTOtestVALUES(1);
mysql>quit;
在RealServer2上
sudo/usr/local/mysql/bin/mysql-uroot-p
密码默认为空
mysql>GRANTALLONclustertest.*TO'zichen'@'$'IDENTIFIEDBY'62672000';
mysql>FLUSHPRIVILEGES;
mysql>quit;
在192.85.1.4上,在终端输入:sudo/usr/local/mysql/bin/mysql-h192.85.1.10-uzichen-p
enterpassword:62672000
正常情况下,应该能进入如下界面:
mysql>
mysql>useclustertest;
mysql>showtables;
mysql>select*fromtest;
mysql>insertintotestvalues(2);
在两个SQL节点上查看数据是否同步。
相关文章推荐
- MHA+Lvs+Keepalived实现MySQL的高可用及读负载均衡_2(MySQL)
- [高可用]Ubuntu下LVS + Keepalived 实现SuperMap iServer高可用负载均衡实现
- RedHat5下实现Mysql集群+Lvs+Keepalived实现高可用HA负载均衡
- lvs配合keepalived实现mysql高可用负载均衡及读写分离 推荐
- 利用LVS+Keepalived实现高性能高可用负载均衡
- Lvs+Keepalived+MySQL Cluster架设高可用负载均衡Mysql集群 推荐
- RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡
- LVS+Keepalived实现高可用负载均衡(转)
- keepalived+nginx+mysql实现高可用及负载均衡
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- 利用LVS+Keepalived实现MySQL高可用
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- LVS+Keepalived实现高可用负载均衡
- VM虚拟机上 实现CentOS 6.X下部署LVS(DR)+keepalived实现高性能高可用负载均衡
- LVS+Keepalived实现mysql的负载均衡
- 利用lvs+keepalived实现高可用负载均衡环境的部署(安装常见错误)
- LVS+Keepalived实现高可用负载均衡
- Lvs+Keepalived实现MySQL高可用
- LVS+Keepalived实现高可用负载均衡
- 20170417-keepalived+lvs-实现高可用负载均衡集群