说明:需要3个节点,主节点(202.207.178.6),从节点(202.207.178.7),测试节点(202.207.178.8),虚拟地址:202.207.178.4。配置实现mysql数据库主从复制,并使用keepalive实现高可用,可以实现主数据库机下降时,从数据库可用!
mysql主从复制详见本人博客http://10927734.blog.51cto.com/10917734/1868323
前提:
由于是高可用服务,首先配置高可用服务实现的一些基本条件
1)节点名称必须跟uname - n命令的执行结果一致
node1: #主机名node1
# vim/etc/sysconfig/network
主机名=node1
node2: #主机名node2
# vim/etc/sysconfig/network
主机名=node2
2)节点之间必须通过ssh互信通信
[root@node1 ~] # ssh - keygen - t rsa - f ~/sh/id_rsa - p”
# ssh-copy-id - i . ssh/id_rsa (root@node1 ~)。酒吧root@202.207.178.7
[root@node2 ~] # ssh - keygen - t rsa - f ~/sh/id_rsa - p”
# ssh-copy-id - i . ssh/id_rsa (root@node2 ~)。酒吧root@202.207.178.6
3)集群各节点之间时间必须同步
使用国家结核控制规划服务器同步时间
ntpdate ip(配置了国家结核控制规划服务的主机地址)
4)配置本地解析:
[root@node1 ~] #
的/etc/hosts vim 202.207.178.6 node1
202.207.178.7 node2
[root@node1 ~] # scp/etc/hosts node2:/etc/
一、安装keepalive,实现高可用
在主节点上:
1,安装keepalive
# tar xf keepalived-1.2.1.tar。广州
# cd keepalived-1.2.1
# ./configure——with-kernel-dir=/usr/src/内核/2.6.32-642.11.1.el6。i686/
#做,,使安装
注意:
可能需要安装此包:
# yum安装popt-devel
发现/usr/src/内核/为空,需要安装内核源码
# yum安装kernel-devel
2,配置keepalive
1)设置一个变量
# DIR=/usr/地方/
2)执行如下语句,将keepalive的配置文件放置在/etc下相关目录中
# cp DIR美元到/etc/init。d/keepalive,到/etc/init。d/
# cp DIR/etc/sysconfig/美元keepalive/etc/sysconfig/,,mkdir -p
,,,,,,,,,,,,,/etc/keepalive
# cp $ DIR/sbin/keepalive/usr/sbin/
3)为keepalive提供配置文件
# cd/etc/keepalived/
# vim keepalived.conf(添加以下内容)
!配置文件keepalive
global_defs {
,notification_email {
, 2663154088 @qq.com
,}
,notification_email_from wgkgood@139.com
,smtp_server 127.0.0.1
,smtp_connect_timeout 30
,router_id LVS_DEVEL
} # VIP1
vrrp_instance VI_1 {
国家主人
接口eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 151优先
100
advert_int 5
,#非抢占nopreempt
认证{
auth_type通过
auth_pass 2222}
virtual_ipaddress {
202.207.178.4
}
}
virtual_server 202.207.178.4 3306 {
delay_loop 6
wrr
lb_kind lb_algo到博士
60 persistence_timeout协议TCP
real_server 202.207.178.6 3306 {
100
notify_down重量/数据/sh/mysql。sh
TCP_CHECK {
nb_get_retry connect_timeout 10 3
connect_port delay_before_retry 3 3306
}
}
}
4)启动服务
#/etc/init.d/keepalive重启
# ps ef | grep keepalive
此时发现服务已经启动!
#尾fn 100/var/log/messages
此时发下一直滚屏,是缺少一个模块、下面加载此模块# modprobe ip_vs
#/etc/init.d/keepalive重启
#尾fn 100/var/log/messages
此时一切正常
在从节点上:
配置同主节点,只是在配置文件中修改以下几项即可:
状态备份
90
real_server优先202.207.178.7 3306
二,配置相关操作,并测试
1,在主从节点上分别添加如下两个文件并授权,实现在一方的数据库机下降时停止keepalive,主从角色实现切换
# vim/数据/sh/mysql.sh
/etc/init。d/keepalive停止
# chmod + x/数据/sh/nginx.sh
2,在主从节点上分别对数据库授权
mysql>格兰特> 3,此时就可以开始测试了
1)再启动一台虚拟机,用此虚拟机连接数据库
# mysql -uroot -h302.207.178.4 - p
2)在主节点停止mysql数据库,此时会发现测试节点的数据库依然连接正常!
,,,,,,,,,,,,,,,,,,,,,,,,,,