1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Ubuntu下LVS + Keepalived 实现MySQL高可用负载均衡实现

Ubuntu下LVS + Keepalived 实现MySQL高可用负载均衡实现

时间:2022-01-02 13:40:10

相关推荐

Ubuntu下LVS + Keepalived 实现MySQL高可用负载均衡实现

数据库|mysql教程

MySQL教程,Ubuntu下LVS + Keepalive

数据库-mysql教程

毕业设计安卓游戏源码,ubuntu更新链接超时,梦到许多小爬虫,php 探针执行php命令,wp主题seolzw

在192.85.1.4上,在终端输入:sudo /usr/local/mysql/bin/mysql -h 192.85.1.10 -u zichen -penter password:62672000正常情况下

PHP诱导支付源码,vscode提示颜色,电脑无法引导ubuntu,tomcat访问目录,sqlite多值运算,json瀑布流插件,前端 mv 框架的意义,python爬虫戏剧,上传图片php,SEO基础水光,织梦成品网站,网页工具栏,精仿界面新闻织梦模板,html5单页面 二维码,理发店管理系统 源码,投诉程序源码lzw

大学校园订餐平台源码,vscode自动同步ftp,ubuntu 网络没了,tomcat配置内存黑屏,simplejson爬虫,ghost php,温州seo品牌优化软件,动易 自适应网站模板,html手机用网站模板lzw

LVS Server : 192.85.1.5

Virtual IP : 192.85.1.10

Real Server1 : 192.85.1.4

Real Server2 : 192.85.1.9

在 LVS Server 上安装 ipvsadm 和 keepalived。

$ sudo apt-get install ipvsadm keepalived

使用这两个做配合时,无需配置 ipvsadm,直接修改 keepalived.conf 即可。

$ sudo vim /etc/keepalived/keepalived.conf

global_defs {

router_id LVS_DEVEL

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id 51

priority 100 #100为从服务器,主服务器为:101

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.85.1.10

}

}

virtual_server 192.85.1.10 3306{

delay_loop 1 # 每隔 1 秒查询 RealServer 状态

lb_algo wrr # LVS 算法

lb_kind DR# Direct Route

#persistence_timeout 60 # 同一 IP 在 60 秒内分配到同一台 RealServer

protocol TCP # 使用 TCP 协议检查 RealServer 状态

real_server 192.85.1.4 3306{

weight 3 # 权重

TCP_CHECK {

connect_timeout 10 # 10 秒无响应超时

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

real_server 192.85.1.9 3306 {

weight 3

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 3306

}

}

}}

启动 keepalived 服务。$ sudo service keepalived start #应该先启动mysql集群

检查 ipvsadm 设置。

$ sudo ipvsadm -ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.85.1.10:3306 wrr

-> 192.85.1.4:3306 Route 300

-> 192.85.1.9:3306 Route 300

在所有 RealServer /etc/rc.local 中添加配置信息后重启

$ sudo nano /etc/rc.local

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will “exit 0” on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

ifconfig lo:0 192.85.1.10 netmask 255.255.255.255 broadcast 192.85.1.10 up

route add -host 192.85.1.10 dev lo: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

exit 0

这时我们就可以进行测试了。在Real Server1 上,创建数据库:clustertest,

sudo /usr/local/mysql/bin/mysql -u root -p

密码默认为空

mysql> GRANT ALL ON clustertest.* TO ‘zichen’@’$’ IDENTIFIED BY ‘62672000’;

mysql> FLUSH PRIVILEGES;

mysql> CREATE DATABASE clustertest;

mysql> USE clustertest;

mysql> CREATE TABLE test(id INT) ENGINE=NDBCLUSTER;

mysql> INSERT INTO test VALUES(1);

mysql> quit;

在 Real Server2上

sudo /usr/local/mysql/bin/mysql -u root -p

密码默认为空

mysql> GRANT ALL ON clustertest.* TO ‘zichen’@’$’ IDENTIFIED BY ‘62672000’;

mysql> FLUSH PRIVILEGES;

mysql> quit;

在192.85.1.4上,,在终端输入:sudo /usr/local/mysql/bin/mysql -h 192.85.1.10 -u zichen -p

enter password:62672000

正常情况下,应该能进入如下界面:mysql >

mysql > use clustertest;

mysql > show tables;

mysql > select * from test;

mysql > insert into test values (2);

在两个SQL节点上查看数据是否同步。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。