p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: "Calibri", "sans-serif" }
h1 { margin-top: 17.0pt; margin-right: 0cm; margin-bottom: 16.5pt; margin-left: 0cm; text-align: justify; line-height: 240%; page-break-after: avoid; font-size: 24.0pt; font-family: "Calibri", "sans-serif"; color: red; font-weight: bold }
h2 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; text-align: justify; line-height: 173%; page-break-after: avoid; font-size: 16.0pt; font-family: "Calibri Light", "sans-serif"; font-weight: bold }
h3 { margin-top: 13.0pt; margin-right: 0cm; margin-bottom: 13.0pt; margin-left: 0cm; text-align: justify; line-height: 173%; page-break-after: avoid; font-size: 16.0pt; font-family: "Calibri", "sans-serif"; font-weight: bold }
p.MsoHeader,li.MsoHeader,div.MsoHeader { margin: 0cm; margin-bottom: .0001pt; text-align: center; border: none; padding: 0cm; font-size: 9.0pt; font-family: "Calibri", "sans-serif" }
p.MsoFooter,li.MsoFooter,div.MsoFooter { margin: 0cm; margin-bottom: .0001pt; font-size: 9.0pt; font-family: "Calibri", "sans-serif" }
a:link,span.MsoHyperlink { color: #0563C1; text-decoration: underline }
a:visited,span.MsoHyperlinkFollowed { color: #954F72; text-decoration: underline }
p { margin-right: 0cm; margin-left: 0cm; font-size: 12.0pt; font-family: 宋体 }
p.MsoNoSpacing,li.MsoNoSpacing,div.MsoNoSpacing { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 10.5pt; font-family: "Calibri", "sans-serif" }
span.1Char
{ font-family: "微软雅黑", "sans-serif"; color: red; font-weight: bold }
span.2Char
{ font-family: "Calibri Light", "sans-serif"; font-weight: bold }
span.3Char
{ font-weight: bold }
span.apple-converted-space { }
span.Char { }
span.Char0 { }
.MsoChpDefault { font-family: "Calibri", "sans-serif" }
div.WordSection1 { }
ol { margin-bottom: 0cm }
ul { margin-bottom: 0cm }
Lvs+keepalived+mysql主从热备
实验拓扑图:
一、安装 LVS+keepalived(Master+Backup都需安装)
需要软件
ipvsadm-1.26.tar.gz
keepalived-1.2.13.tar.gz
裸机需要安装如下插件
popt-static-1.13-7.el6.x86_64.rpm
yum -y install libnl* popt* kernel* openssl* gcc* make*
vi /etc/selinux/config #编辑SE防火墙配置文件
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存,退出
setenforce 0 #立即生效
Service iptables stop 关闭防火墙
二、安装Lvs
关联lvs与keepalived的ipvs所需的内核信息
ln -s /usr/src/kernels/2.6.32-71.el6.x86_64/ /usr/src/linux
解压ipvsadm
使用make 进行编译makeinstall 编译后安装
完成后 使用ipvsadm –v 查看版本
三、安装keepalived
解压keepalived
进入目录 配置keepalived存放路径
指定目录后 输出版本信息 和所支持的选项
留意Configure配置Use IPVS Framework、IPVS sync daemon support 、Use VRRP Framework要返回yes,否则无法关联ipvs功能
最后编译安装
优化keepalived路径做软连接
ln -s /usr/local/keepalived/etc/keepalived /etc/
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/bin/genhash /bin/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
配置MySQL双机热备
环境说明
Msql主备结构
1、MySQL 主服务器
系统:CentOS 6.2
IP:192.168.1.251
主机名称:MySQLMaster
MySQL 版本:mysql-5.5.22
2、MySQL 从服务器
系统:CentOS 6.2
IP:192.168.1.252
主机名称:MySQLSlave
MySQL 版本:mysql-5.5.22
一、配置MySQL 主从服务器
修改两台服务器的IP 然后使用rpm包安装好mysql数据库,
使用mysql –u root –p 登录 密码默认为空,
建立数据库smiledb;
授权用户rsync 只能从192.168.1.252 这个IP
访问主服务器192.168.1.251 上面的数据库,并且只具有数据库备份的权限,
刷新系统授权表,
备注:在导出之前可以先进入MySQL 控制台执行下面命令
flush tables with read lock; #数据库只读锁定命令,防止导出数据库的时候有数据写入,
#在MySQL 主服务
器进行操作,导出数据库smiledb 到/home/smile.sql
将备份的smile.sql 上传至从服务器(上传大家都会 我就不演示)
在从服务器先创建smiledb库;
使用 use smildb;进入库
导入备份文件到从数据库,
测试在从服务器上登录到主服务器,
二、配置MySQL (主)--服务器的my.cnf 文件
如图,修改my.cnf文件,(上面描述的非常详细)
将主服务器 /usr/share/mysql/my-my-large.cnf 修改为my.cnf并且移动到/etc/ 目录下
然后重启MySQL
再次进入mysql控制台,使用 show master status; 必须把库锁住 否则会出现变动
查看master数据库当前正在使用的二进制日志及当前执行二进制日志位置;
三、配置MySQL (从)--服务器的my.cnf 文件
如图,修改my.cnf文件,(上面描述的非常详细)
将从服务器 /usr/share/mysql/my-my-large.cnf 修改为my.cnf并且移动到/etc/ 目录下
然后重启MySQL
进入mysql控制台 停止slave同步进程
执行同步语句;
change master to master_host='192.168.1.210', master_user='rsync', master_password='123456',master_port=5656, master_log_file='mysql-bin.000001', master_log_pos=107;
开启slave同步信息;
完成后别忘记解除主服务器库的锁定,
最后使用 SHOW SLAVE STATUS\G 查看同步信息;
注意查看:
Slave_IO_Running: Yes Slave_SQL_Running: Yes
以上这两个参数的值为Yes,即说明配置成功!
进入主服务器 创建test表 查看从服务器是否同步过来;
create table test ( id int not null primary key,name char(20) );
show tables;会看到有一个新建的表test,表示数据库同步成功
配置主从keepalived.conf文件
上面的Keepalived.conf配置文件在处: 全局定义的route_id、vrrp_instance state和vrrp_instance的优先级priority。
将虚拟IP绑定到两台Mysql服务器
指定虚拟IP 192.168.1.250
/sbin/ifconfig lo:0 192.168.1.250 netmask 255.255.255.255 broadcast 192.168.1.250
/sbin/route add -host 192.168.1.250 dev lo:0
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
sysctl -p >/dev/null 2>&1
使用ip route 查看是否绑定到l0上
模拟故障
测试realserver
测试关闭其中一台realserver
通过上面测试可以知道,当realserver故障或者无法提供服务时,负载均衡器通过健康检查自动把失效的机器从转发队列删除掉,
启动被关闭的realserver
当realserver故障恢复后,负载均衡器通过健康检查自动把恢复后的机器添加到转发队列中
http://blog.163.com/wingswing@126/blog/static/22676416201173105514120/