MySQL主从复制与lvs+keepalived单点写入读负载均衡高可用实验文档格式.docx
《MySQL主从复制与lvs+keepalived单点写入读负载均衡高可用实验文档格式.docx》由会员分享,可在线阅读,更多相关《MySQL主从复制与lvs+keepalived单点写入读负载均衡高可用实验文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
1.MySQL的安装(略)
2.keepalived安装
yuminstallkeepalived
2.LVS安装
yuminstallipvsadm
五、配置
1.配置MySQL的主从复制(略)
2.配置keepalived
Master上的配置
vi/etc/keepalived/keepalived.conf
[plain]
viewplaincopy
1.!
Configuration
File
for
keepalived
2.
3.global_defs
{
4.
router_id
MySQL-ha
5.}
6.
7.vrrp_instance
VI_1
8.
state
BACKUP
9.
interface
eth1
10.
virtual_router_id
90
11.
priority
100
12.
advert_int
1
13.
notify_master
"
/usr/local/mysql/bin/remove_slave.sh"
14.
nopreempt
15.
authentication
16.
auth_type
PASS
17.
auth_pass
1111
18.
}
19.
virtual_ipaddress
20.
label
eth1:
21.
2
22.
23.}
24.
25.virtual_server
6603
26.
delay_loop
27.
lb_algo
wrr
28.
lb_kind
DR
29.
persistence_timeout
60
30.
protocol
TCP
31.
real_server
192.168.1.1
32.
weight
3
33.
notify_down
/usr/local/mysql/bin/mysql.sh
34.
TCP_CHECK
35.
connect_timeout
10
36.
nb_get_retry
37.
delay_before_retry
38.
connect_port
39.
40.
41.}
42.
43.virtual_server
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
192.168.1.2
60.
61.
62.
63.
64.
65.
66.
67.
68.}
keepalived配置成服务并开机启动
1.cp
/usr/local/keepalived/etc/rc.d/init.d/keepalived
/etc/rc.d/init.d/
2.cp
/usr/local/keepalived/etc/sysconfig/keepalived
/etc/sysconfig/
3.cp
/usr/local/keepalived/sbin/keepalived
/usr/sbin/
4.chkconfig
--add
5.chkconfig
--level
345
on
vi/usr/local/mysql/bin/remove_slave.sh
1.#!
/bin/bash
2.user=u1
3.password=12345
4.log=/usr/local/mysql/log/remove_slave.log
5.echo
`date`"
>
$log
6./usr/local/mysql/bin/mysql
-u$user
-p$password
-e
set
global
read_only=OFF;
reset
master;
stop
slave;
change
master
to
master_host='
localhost'
;
7./bin/sed
-i
'
s#read-only#\#read-only#'
/etc/f
vi/usr/local/mysql/bin/mysql.sh
2./etc/init.d/keepalived
Slave上的配置
99
22.}
23.
24.virtual_server
25.
40.}
41.
42.virtual_server
43.
58.}
3.配置LVS
Master与Slave上的配置相同:
vi/usr/local/bin/lvs_real.sh
2.#
description:
Config
realserver
lo
and
apply
noarp
3.
4.SNS_VIP=192.168.1.3
5.SNS_VIP2=192.168.1.4
6.source
/etc/rc.d/init.d/functions
7.case
$1"
in
9.start)
ifconfig
lo:
0
$SNS_VIP
netmask
255.255.255.255
broadcast
$SNS_VIP2
/sbin/route
add
-host
dev
echo
1"
/proc/sys/net/ipv4/conf/lo/arp_ignore
2"
/proc/sys/net/ipv4/conf/lo/arp_announce
/proc/sys/net/ipv4/conf/all/arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce
sysctl
-p
/dev/null
2>
&
RealServer
Start
OK"
22.stop)
down
route
del
0"
Stoped"
34.*)
Usage:
$0
{start|stop}"
exit
38.esac
39.exit
1.chmod
755
/usr/local/bin/lvs_real.sh
2.echo
start"
/etc/rc.local
五、Master和Slave的启动
1.启动Master上的MySQL
servicemysqlstart
2.启动Slave上的MySQL
3.启动Master上的realserver脚本
/usr/local/bin/lvs_real.shstart
4.启动Slave上的realserver脚本
5.启动Master上的keepalived
servicekeepalivedstart
6.启动Slave上的keepalived
六、测试
1.查看lvs能否进行负载均衡转发
在Master和Slave上分别执行:
ipvsadm-ln
2.在Client上验证连通性:
ping192.168.1.3
ping192.168.1.4
mysql-uu1-p12345-P6603-h192.168.1.3-e"
showvariableslike'
server_id'
mysql-uu1-p12345-P6603-h192.168.1.4-e"
3.停掉Master上的MySQL,看写IP否自动切换到Slave,看读IP是否去掉了Master的MySQL
在Client上执行:
4.停掉Master上的keepalived,看读写VIP是否会迁移到Slave上。
5.停掉Slave上的MySQL,看读IP是否去掉了Slave的MySQL
6.重启Master的系统,看看切换过程是否正常