keepalived+虚IP(VIP)实现高可用配置

本文介绍如何在单节点及多节点环境下配置虚拟IP(VIP),包括直接绑定VIP的方法及利用Keepalived实现主备切换的过程。对于多节点场景,还介绍了如何进一步结合Nginx实现负载均衡。

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

一、单节点直接绑定VIP

1、新建脚本文件vip.sh,脚本内容:

#!/bin/bash

ifconfig eth0:1 x.y.z.e broadcast x.y.z.255 netmask 255.255.255.0 up

route add -host x.y.z.e dev eth0:1

内容说明:

eth0:1表示这个VIP绑定的目标网卡设备,x.y.z.e就是VIP的值,广播地址为x.y.z.255,子网掩码为:255.255.255.0,up表示立即启用这个VIP。通过route命令,在路由表上添加对这个VIP的路由信息;

2、执行脚本sh ./vip.sh;

执行成功后检查是否正常:ifconfig多了一张eth0:1网卡,说明VIP创建成功。

3、为了解决重启机器丢失问题,需要把上面的脚本加到启动项里面去:

在/etc/rc.d/rc.local中添加vip的执行脚本即可;

二、多节点主备绑定VIP

1、安装依赖:

yum install curl gcc openssl openssl-devel libnl libnl-devel libnl3-devel net-snmp-devel libnfnetlink-devel -y

2、下载并解压keepalived:

tar -zxvf keepalived-2.1.5.tar.gz

3、进入解压目录:

cd keepalived-2.1.5

4、编译

./configure --prefix=/usr/local/keepalived --sysconf=/etc

5、安装

make && make install

6、检查是否安装成功

cd /etc/keepalived/

可以看到这些keepalived.conf,表明安装成功。

7、编辑配置

主服务器:

! Configuration File for keepalived

global_defs {

   #路由ID,当前安装keepalived的节点主机标识符,需保证全局唯一

   router_id LVS_01

}

#基于vrrp协议的实例,可理解为一个服务器节点

vrrp_instance VI_1 {

#表示状态为主节点MASTER还是备用机BACKUP

state MASTER

#当前示例绑定的网卡,根据ip addr查出来的网卡

interface eth0

#虚拟路由id,保证主备节点该值一致

virtual_router_id 51

#优先级/权重,master权重一般高于backup,在master挂掉后谁的优先级高,谁就能成为master

priority 100

#主备之间同步检查的时间间隔(心跳),默认为1s

advert_int 1

#认证授权的密码,防止非法节点进入,主备需要一致

    authentication {

        auth_type PASS

        auth_pass 1111

}

#虚拟IP,可以有多个,根据自己实际情况修改

    virtual_ipaddress {

        192.168.5.66

    }

}

备服务器:

! Configuration File for keepalived

global_defs {

   #路由ID,当前安装keepalived的节点主机标识符,需保证全局唯一

   router_id LVS_02

}

#基于vrrp协议的实例,可理解为一个服务器节点

vrrp_instance VI_1 {

#表示状态为主节点MASTER还是备用机BACKUP

state BACKUP

#当前示例绑定的网卡,根据ip addr查出来的网卡

interface eth0

#虚拟路由id,保证主备节点该值一致

virtual_router_id 51

#优先级/权重,master权重一般高于backup,在master挂掉后谁的优先级高,谁就能成为master

priority 90

#主备之间同步检查的时间间隔(心跳),默认为1s

advert_int 1

#认证授权的密码,防止非法节点进入,主备需要一致

    authentication {

        auth_type PASS

        auth_pass 1111

}

#虚拟IP,可以有多个,根据自己实际情况修改

    virtual_ipaddress {

        192.168.5.66

    }

}

注意router_id、virtual_router_id(每对主备一个值)

8、重启服务

service keepalived restart

9、至此两节点的虚拟IP就配置完成,当关闭主服务器时,备服务器上的虚拟IP将被启用,访问IP将访问到备服务器,从而实现了高可用;

三、多节点主备+负载绑定VIP

在第二节“多节点主备绑定VIP”的基础上,在目标服务器上安装nginx,并且配置交叉访问应用即可实现高可用负载;

高可用性是指系统或服务能够持续提供正常的服务,即使部分组件或节点出现故障。VIP+Keepalived+HAProxy+SLB 是一种常见的高可用架构设计,下面我会简单介绍一下其实现原理和各个组件的作用。 1. VIP(Virtual IP):虚拟 IP 是一个不属于任何实际物理接口的 IP 地址,用于将外部请求定向到后端服务器集群。 2. KeepalivedKeepalived 是一个基于 VRRP(虚拟路由冗余协议)的软件,它可以管理 VIP,并确保在主节点故障时快速切换到备份节点。 3. HAProxy:HAProxy 是一种高性能的负载均衡器,它能够将外部请求分发到后端服务器上,并提供各种负载均衡算法和健康检查机制。 4. SLB(Server Load Balancer):SLB 是一种云服务,通常由云服务提供商提供,它也是一种负载均衡器,可以将外部请求分发到后端服务器集群上。 实现高可用的过程如下: 1. 部署多台服务器作为后端服务器集群,这些服务器可以运行相同的应用程序或服务。 2. 在服务器集群中配置 Keepalived,并为其分配一个 VIP 地址,用于接收外部请求。 3. Keepalived 通过 VRRP 协议与服务器集群中的所有节点通信,选择其中一台作为主节点,其余节点作为备份节点。 4. 主节点负责接收外部请求并将其传递给 HAProxy 或 SLB。 5. HAProxy 或 SLB 根据负载均衡算法将请求分发到后端服务器集群中的可用节点上。 6. 如果主节点出现故障,Keepalived 会立即将 VIP 转移到备份节点,确保服务的连续性。 这种架构可以提供高可用性和负载均衡,并能够在出现故障时自动切换到备份节点,保证系统的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

myshare2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值