一、环境说明 (keepalived安装包在页尾,下载即可)
操作系统内核版本:CentOS 6.5
Keepalived软件版本: keepalived-1.2.13.tar.gz
二、环境配置
主Keepalived服务器IP地址 192.168.10.10
备Keepalived服务器IP地址 192.168.10.30
Keepalived虚拟IP地址 192.168.10.20
三、安装及配置
首先可以根据我的第一篇文章{负载均衡-反向代理}先搭建基本的服务
在主从服务器上都安装支持包
[root@localhost ~]# yum -y install kernel-devel openssl-devel popt-devel ipvsadm
在主从服务器上都把keepalived上传至/root/目录
[root@localhost ~]#tar zxf keepalived-1.2.13.tar.gz
[root@localhost ~]# cd keepalived-1.2.13
[root@localhost keepalived-1.2.13]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64
[root@localhost keepalived-1.2.13]# make
[root@localhost keepalived-1.2.13]# make install
[root@localhost keepalived-1.2.13]# chkconfig --add keepalived
[root@localhost keepalived-1.2.13]# chkconfig keepalived on
四、主服务器配置
[root@localhost ~]#cd /etc/keepalived/
[root@localhost keepalived]#cp keepalived.conf keepalived.conf.backup #备份一份以防出错
[root@localhost keepalived]#vim keepalived.conf
配置内容如下:
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL_R1 #本服务器名称
}
vrrp_instance VI_1 { #定义VRRP热备实例
state MASTER #热备状态,MASTER表示主服务器
interface eth0 #承载VIP地址的物理接口
virtual_router_id 1 #虚拟路由ID号,每个热备组保持一致
priority 100 #优先级,数值越大优先级越高
advert_int 1 #通告间隔秒数
authentication { #认证信息,每个热备组保持一致
auth_type PASS #认证类型
auth_pass 123456 #密码字串
}
virtual_ipaddress { #指定VIP漂移地址,可以写多个
192.168.10.20 }
}
#其他的代码占时先全部删除!!!
[root@localhost keepalived]#service keepalived restart
[root@localhost keepalived]#ip addr show dev eth0 查看我们的VIP地址 里面肯定会有一条192.168.10.20的IP地址
五、从服务器配置
[root@localhost ~]#cd /etc/keepalived/
[root@localhost keepalived]#cp keepalived.conf keepalived.conf.backup #也备份一个以防出错
[root@localhost keepalived]#vim keepalived.conf
#配置内容如下:
! Configuration File for keepalived
global_defs {
router_id LVS_DEVEL_R2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 1
priority 10
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.10.20 }
}
其他的内容也全部删除!!!
[root@localhost keepalived]#service keepalived restart
[root@localhost keepalived]#ip addr show dev eth0
现在从服务查看的时候只会有自己的接口IP,因为主服务器还在,所以VIP地址肯定还在主服务器上,当主服务器出现故障的时候,备份服务器就起作用了,立马接替VIP地址继续工作。
六、测试
这样设置完成后,我们可以先做一个简单的测试,我们在主服务器上直接把keepalived服务关掉,然后查看从服务器上是否有VIP地址,有则成功。我们再把主服务器上的keepalived服务启动起来,查看VIP地址是否又漂移到了主服务器上(自己测试)
七、主服务器配置WEB池
[root@localhost keepalived]#vim keepalived.conf
在原有的命令配置下继续添加以下内容:
virtual_server 192.168.10.20 80 { #虚拟服务器VIP地址和端口
delay_loop 6 #健康检查的间隔时间(秒)
lb_algo rr #轮询调度算法
lb_kind DR #直接路由群集工作模式
persistence_timeout 50 #连接保持时间(秒)不启动在前面加(!)即可
protocol TCP #采用TCP协议
real_server 192.168.10.10 80 { #第一个WEB节点地址和端口
weight 1 #节点权重
TCP_CHECK { #健康检查方式
connect_port 80 #检查的目录端口
connect_timeout 3 #连接超时(秒)
nb_get_retry 3 #重试次数
delay_before_retry 3 #重试间隔(秒)
}
}
real_server 192.168.10.10 8080 { #第二个web节点的地址、端口和部分信息
weight 1
TCP_CHECK {
connect_port 8080
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@localhost keepalived]#service keepalived restart
八、从服务器配置WEB池
[root@localhost keepalived]#vim keepalived.conf
#在原有的命令下继续添加以下内容
virtual_server 192.168.10.20 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.10.30 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.10.30 8080 {
weight 1
TCP_CHECK {
connect_port 8080
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@localhost keepalived]#service keepalived restart
九、主服务上编写脚本,实现全自动化主从故障切换
[root@localhost ~]#vim /opt/keepalived.sh
#!/bin/bash
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];
then
/etc/init.d/keepalived stop
fi
#脚本意思是检测Nginx服务,如果等于0 那么就直接把keepalived停止掉
[root@localhost ~]#chmod +x /opt/keepalived.sh
十、把脚本应用到主服务器的keepalived配置文件里
[root@localhost keepalived]#vim keepalived.conf
.............
global_defs {
router_id LVS_DEVEL_R1
}
vrrp_script chk_port { #应用脚本
script "/opt/keepalived.sh"
interval 2
weight 2
}
.............
authentication {
auth_type PASS
auth_pass 123456
}
track_script { #跟踪脚本
chk_port
}
.............
.............
十一、最后的验证
我们在主从的web网页里编写不同的网页内容,我们可以直接用VIP地址去访问web,当然先访问到的web网页肯定是主服务器的,优先级高决定先访问谁。
现在我们为了做测试,我们现在就可以亲手把Nginx服务停止掉,然后查看结果,在客户机上刷新网页,我们就可以看到是从服务器提供的网页内容。当主服务器的Nginx服务启动起来了,我们还需要再启动一下keepalived服务 ,VIP地址就会回到主服务器上
分享到:
相关推荐
Nginx+keepalived双机热备(主从模式)是一种常见的负载均衡技术,用于实现高可用环境和故障转移。该技术通过将Nginx与keepalived结合,实现了前端负载均衡和高可用性。 Nginx是一款流行的开源Web服务器软件,具有...
Keepalived 实现双机热备 Keepalived 是一个类似于 Layer3, 4, 5 交换机制的软件,也就是我们平时说的第 3 层...Keepalived 是一个功能强大且灵活的软件,可以实现双机热备,提高服务器的高可用性和自动故障转移能力。
本片详细记录了Nginx+keepalived双机热备(主从模式)高可用集群方案-完整部署过程,讲解十分到位,可作为线上实操手册。特在此分享,希望能帮助到有用到的朋友。
标题 "keepalived + redis 实现双机热备" 涉及到的是在IT行业中构建高可用性系统的关键技术。keepalived 和 redis 是两个关键组件,它们一起工作以确保服务的持续运行,即使在主服务器故障时也能无缝切换到备份...
因此,通过Keepalived实现的MySQL双机热备方案旨在提供无缝切换的高可用性,确保在主服务器故障时,备份服务器能立即接管服务,避免数据丢失或服务中断。 二、Keepalived简介 Keepalived是一款基于VRRP协议的高可用...
通过keepalived软件,实现对nginx服务器的高可用,即实现故障自动切换。 一、keepalived安装 keepalived是一个基于VRRP协议的高可用性解决方案。它可以监控nginx服务器的状态,并在出现故障时自动切换到备份服务器...
本文将详细介绍 MYSQL+KEEPALIVED 双机热备方案的实现细节。 MYSQL 主主复制配置 MYSQL 主主复制是 MYSQL+KEEPALIVED 双机热备方案的核心组件。通过配置 MYSQL 主主复制,可以实现两个 MYSQL 节点的实时数据同步,...
其中,使用双机热备方案是实现高可用性的一种有效方法,而Keepalived是实现双机热备的常用工具之一。本文档介绍了如何构建Keepalived双机热备架构,以便在网络中部署高可用的负载均衡服务。 ### Keepalived双机热备...
当主服务器出现故障时,Keepalived会检测到并自动将虚拟IP切换到备用服务器,从而实现无中断的服务连续性。 总的来说,Keepalived通过VRRP协议实现了双机热备,提供了高可用性和负载均衡的能力。通过合理的配置,...
LVS是Linux内核中的一个模块,能够实现高性能的负载均衡,而Keepalived则负责监控和管理这些虚拟服务器,确保在主服务器故障时,能快速将流量切换到备份服务器。 **双机热备原理:** 双机热备的核心是心跳检测机制...
在双机linux系统中用于vip的地址切换,双机热备功能的实现。
总结,MySQL的双机热备和主从热备是提高数据库可靠性和性能的重要手段,通过配置和管理,可以在不影响业务的情况下实现数据的实时同步和故障恢复。在Windows环境中实施这些策略时,需要注意兼容性和系统差异,确保...
本篇将详细介绍如何通过Nginx 和 Keepalive 实现主从双机热备,并配置自动切换功能,以达到负载均衡及高可用集群的目的。 #### 一、环境搭建概述 根据提供的部分内容,我们可以看出整个部署过程分为以下几个主要...
"使用keepalived实现对mysql主从复制的主备自动切换" 本文主要讲解如何使用keepalived实现对mysql主从复制的主备自动切换。keepalived是一款高可用性解决方案,可以实现虚拟IP的管理和服务监控,在mysql主从复制...
### Nginx负载均衡与Keepalived双机热备配置详解 #### 一、环境配置与准备工作 ...这种架构不仅能够有效分发流量至多个Web服务器,还能在一台服务器出现故障时自动切换到另一台,从而保障服务的连续性。
nginx+keepalive 主从双机热备解决方案是指使用 nginx 和 keepalive 实现主从双机热备的自动切换解决方案。 一、nginx 的安装 在安装 nginx 之前,需要准备好以下安装包: * pcre-8.31.tar.gz * openssl-1.0.1c....
【Nginx+Keepalived实现双机热备】 在高可用性系统设计中,双机热备是一种常见的策略,可以确保服务在一台服务器故障时能够无缝切换到另一台服务器,从而保持系统的不间断运行。Nginx是一款高性能的HTTP和反向代理...
Keepalived则是一个用于网络服务高可用的开源项目,其核心功能是监控并维护服务状态,当主服务器出现故障时,能自动将流量切换到备用服务器,实现服务无中断的热备。Keepalived包含了VRRP(Virtual Router ...
当主服务器出现故障时,Keepalived能够自动将服务切换到备用服务器,实现零中断的切换。非抢占模式意味着一旦主服务器恢复,它不会立即重新接管服务,而是等待下一次预定的切换或者手动干预。 **Nginx** Nginx是一...