千家信息网

简单快速搭建LVS+Keepalived 集群

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,LVS+Keepalived 群集Keepalived起初是专门针对LVS设计的一款强大的复制工具。主要用来提供故障切换和健康检查功能--判断LVS负载调度器、节点服务器的可用性,及时隔离并替换新的服
千家信息网最后更新 2025年02月05日简单快速搭建LVS+Keepalived 集群

LVS+Keepalived 群集

Keepalived起初是专门针对LVS设计的一款强大的复制工具。

主要用来提供故障切换和健康检查功能--判断LVS负载调度器、节点服务器的可用性,及时隔离并替换新的服务器。

测试环境:

调度器两台(双机热备)IP

192.168.30.30

192.168.30.31

Web服务器 IP

192.168.30.33

192.168.30.34

安装所需软件

centos7系统中已经自带modprobe ip_vs 只需打开即可使用

modprobe ip_vs #加载IP_vs模块

yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel ipvsadm #安装编译工具、插件和ipvsadm


在两台调度器上编译安装 keepalived


tar xf keepalived-1.4.2.tar.gz

cd keepalived-1.4.2

./configure --prefix=/

make && make install


cp keepalived/etc/init.d/keepalived /etc/init.d/ #加入系统管理服务

[root@lin3036 keepalived-1.4.2]# systemctl enable keepalived #设为开机自启

另一台安装方式相同


修改第一台master keepalived.conf文件

vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id LVS_01 #本服务器的名称

}

vrrp_instance VI_1 { #定义VRRP热备实例

state MASTER #热备状态,MASTER表示主服务器,BACKUP表示从服务器

interface ens33 #承载VIP地址的物理接口

virtual_router_id 51 #虚拟路由器的ID号,每个热备组保持一致

priority 110 #优先级,数值越大优先级越高

advert_int 1 #通告间隔秒数(心跳频率)

authentication { #热备认证信息,每个热备组保持一致

auth_type PASS #认证类型

auth_pass 6666 #密码字符串

}

virtual_ipaddress { #指定漂移地址(VIP),可以有多个

192.168.30.100

}

}

virtual_server 192.168.30.100 80 { #虚拟服务器地址(VIP)、端口

delay_loop 6 #健康检查的间隔时间(秒)

lb_algo rr #轮询(rr)调度算法

lb_kind DR #直接路由(DR)群集工作模式

persistence_timeout 60 #连接保持时间(秒)

protocol TCP #应用服务器采用的是TCP协议

real_server 192.168.30.33 80 { #第一个Web服务器节点的地址、端口

weight 1 #节点的权重

TCP_CHECK { #健康检查方式

connect_port 80 #检查的目标端口

connect_timeout 3 #连接超时(秒)

nb_get_retry 3 #重试次数

delay_before_retry 3 #重试间隔

}

}

real_server 192.168.30.34 80 { #第二个Web服务器节点的地址、端口

weight 1

TCP_CHECK {

connect_port 80

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

[root@dd01 keepalived-1.4.2]# service keepalived start

[root@dd01 keepalived-1.4.2]# ip addr show dev ens33 //验证绑定了的虚拟地址


备服务配置keepalived.conf文件

! Configuration File for keepalived

global_defs {

router_id LVS_02

}

vrrp_instance VI_1 {

state BACKUP

interface ens33

virtual_router_id 51

priority 105

advert_int 1

authentication {

auth_type PASS

auth_pass 6666

}

virtual_ipaddress {

192.168.30.100

}

}

virtual_server 192.168.30.100 80 {

delay_loop 6

lb_algo rr

lb_kind DR

persistence_timeout 60

protocol TCP

real_server 192.168.30.33 80 {

weight 1

TCP_CHECK {

connect_port 80

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.30.34 80 {

weight 1

TCP_CHECK {

connect_port 80

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

启动服务


配置主服务器LVS

[root@lin3034 keepalived-1.4.2]# modprobe ip_vs #加载ip_vs模块

配置主服务器LVS

备服务器相同


web服务器也要虚拟出192.168.30.100这个虚拟VIP

ifconfig lo:0 192.168.30.100 broadcast 192.168.30.100 netmask 255.255.255.255 up

route add -host 192.168.30.100 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 刷新

查看网卡状态

另一台web服务器配置相同


0