加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

怎么创建LVS+Keepalived+MySQL

发布时间:2023-07-17 13:51:27 所属栏目:MySql教程 来源:
导读:本篇内容主要讲解“怎么搭建LVS+Keepalived+MySQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么搭建LVS+Keepalived+MySQL”吧!LVS负责负

本篇内容主要讲解“怎么搭建LVS+Keepalived+MySQL”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么搭建LVS+Keepalived+MySQL”吧!

LVS负责负载均衡转发请求,keepalived负责检查LVS的realserver状态,及时remove失效节点、add复活节点。

本实验主要功能测试,所以只准备了两台MySQL服务器,仅为简单说明问题。

vm1 10.0.0.11      master  server_id 11

vm2 10.0.0.12      slave      server_id 12

Director:

vm3  10.0.0.14  

VIP: 10.0.0.20

1 在Directory server vm3 上安装ipvsadm和keepalived

yum install ipvsadm

安装keepalived

yum install libnfnetlink*

tar -zxvf keepalived-1.2.7.tar.gz

./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

2 vm1 vm2上,执行以下操作.

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  

ifconfig lo:0 10.0.0.20 netmask 255.255.255.255

3 在Directory server vm3上编辑/etc/keepalived/keepalived.conf文件,内容如下:

点击(此处)折叠或打开

global_defs {

router_id HaMySQL_1

}

vrrp_sync_group VGM {

group {

VI_MYSQL

}

}

vrrp_instance VI_MYSQL {

state MASTER

interface eth0

virtual_router_id 100

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

10.0.0.20

}

}

virtual_server 10.0.0.20 3306 {

delay_loop 6

lb_algo rr

lb_kind DR

protocol TCP

nat_mask 255.255.255.0

persistence_timeout 10

real_server 10.0.0.11 3306 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

real_server 10.0.0.12 3306 {

weight 3

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}

4 启动MySQL和keepalived。

vm1:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql3306/my.cnf &

vm2:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/mysql3306/my.cnf

vm3:

/etc/init.d/keepalived start

5 验证

vm3:

[root@vm3 keepalived]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port        Forward Weight ActiveConn InActConn

TCP  10.0.0.20:3306 rr persistent 2

  -> 10.0.0.11:3306          Route  3    1      0

  -> 10.0.0.12:3306          Route  3    1      0

可以看到负载均衡已启动,vm2 vm3都已加进来了。

从客户端连接VIP 10.0.0.20:3306

C:\mysql-5.7.11-winx64\mysql-5.7.11-winx64\bin>mysql.exe -uroot -pmysql -h20.0.0.20 -P3306

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 90

Server version: 5.6.27-log Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select @@server_id;exit;

+-------------+

| @@server_id |

+-------------+

|      11 |

+-------------+

1 row in set (0.00 sec)

从server_id可以看出客户端连接的是vm1。

关掉vm1上的MySQL服务。

[root@vm3 keepalived]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port        Forward Weight ActiveConn InActConn

TCP  10.0.0.20:3306 rr persistent 2

  -> 10.0.0.12:3306          Route  3    1      0

LVS规则已经更新,remove了vm1,再次从客户端连接。

C:\mysql-5.7.11-winx64\mysql-5.7.11-winx64\bin>mysql.exe -uroot -pmysql -h20.0.0.20 -P3306

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 61

Server version: 5.6.27-log Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select @@server_id;exit;

+-------------+

| @@server_id |

+-------------+

|      12 |

+-------------+

1 row in set (0.00 sec)

重新启动vm1上的MySQL服务。

[root@vm3 ~]# ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port        Forward Weight ActiveConn InActConn

TCP  10.0.0.20:3306 rr persistent 2

  -> 10.0.0.11:3306          Route  3    1      0

  -> 10.0.0.12:3306          Route  3    1      1

LVS规则已自动刷新,vm1重新被加入。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章