keepalived+httpd/nginx/lvs

本文介绍如何使用Keepalived结合VRRP协议构建高可用的服务器集群,通过详细步骤展示了配置过程,包括软件安装、编译、配置及验证,确保服务在多台服务器间无缝切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,
master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
keepalived主要有三个模块,分别是core、check和vrrp。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。
check负责健康检查,包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。
keepalived-1.2.13+httpd
两台主机:192.168.8.221 192.168.8.218
yum -y install gcc gcc-c++
yum -y install kernel-devel openssl-devel popt-devel ipvsadm*
yum -y install httpd
vim /var/www/html/index.html->
192.168.8.218<-
service httpd start
编译安装keepalived
tar zxf keepalived-1.2.13.tar.gz
cd keep…
./configure prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-754.23.1.el6.x86_64///不知道内核版本的用uname -a查看
make && make install
chkconfig --add keepalived
修改配置文件:
在192.168.8.221主机上
vim /etc/keepalived/keepalived.conf-》
! Configuration File for keepalived

global_defs {
router_id LVS_DEVEL1
}

vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.8.220
}
《-
192.168.8.218主机:
! Configuration File for keepalived

global_defs {
router_id LVS_DEVEL2
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.8.220
}
“/etc/keepalived/keepalived.conf” 21L, 323C
验证,网页访问192.168.8.220

keepalived+lvs
四台虚拟机,两台real server 192.168.8.238/241
两台keep+ipvsadm 192.168.8.218/220
vip:192.168.8.220
real server:
ifconfig lo:0 192.168.8.220 broadcast 192.168.8.220 netmask 255.255.255.255 up
route add -host 192.168.8.220 dev lo:0
vim /etc/sysctl.conf //调整proc响应参数
-》
net.ipv4.ip_forward = 1
在最底下增加
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
《-
sysctl -p //生效
keep+ipvsadm
vim etc/keepalived/keepalived.conf
->
! Configuration File for keepalived

global_defs {
router_id GY1 //要改
}

vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 523 //要唯一
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456 //改
}
virtual_ipaddress {
192.168.8.220
}
}

virtual_server 192.168.8.220 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.8.241 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
real_server 192.168.8.238 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 4
}
}
}
<-
网页访问漂移地址,然后down掉一台主机,看是否出问题

nginx反代keepalived
4台虚拟机
两台装httpd241/238
两台装nginx+keepalived
漂移地址220
yum 安装httpd
编译安装nginx+keepalived
一台
vim /usr/local/nginx/conf/nginx.conf
->
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
》 upstream abc {
server 192.168.8.241:80 weight=1;
server 192.168.8.238:80 weight=1;
}《
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
》 proxy_pass http://abc;《
}
<-
vim /etc/keepalived/keepalived.conf
-》
! Configuration File for keepalived

global_defs {
router_id GY
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 121
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 147258
}
virtual_ipaddress {
192.168.8.220
}
}
《-
另一台台配置差不多,
vim /etc/keepalived/keepalived.conf
-》
! Configuration File for keepalived

global_defs {
router_id GYY
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 121
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 147258
}
virtual_ipaddress {
192.168.8.220
}
}
《-
网页访问漂移地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值