当前位置:首页 > 科技  > 软件

LVS+Keepalived:实现高效软负载均衡的利器

来源: 责编: 时间:2023-11-09 17:15:14 200观看
导读一、概念LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,它可以通过不同的调度算法和工作模式,将客户端的请求转发给后端的真实服务器。Keepalived是一个基于VRRP协议来实现的服务高可

6uM28资讯网——每日最新资讯28at.com

一、概念

6uM28资讯网——每日最新资讯28at.com

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统,它可以通过不同的调度算法和工作模式,将客户端的请求转发给后端的真实服务器6uM28资讯网——每日最新资讯28at.com

Keepalived是一个基于VRRP协议来实现的服务高可用方案,可以利用其来避免IP单点故障,一般与其他负载均衡技术(如LVS、HAProxy、Nginx)一起工作来达到集群的高可用。6uM28资讯网——每日最新资讯28at.com

二、环境准备

两台 CentOS 7 机器,IP 地址分别为 10.9.2.121和 10.9.2.122。6uM28资讯网——每日最新资讯28at.com

vip6uM28资讯网——每日最新资讯28at.com

10.9.2.1206uM28资讯网——每日最新资讯28at.com

虚拟出来的IP6uM28资讯网——每日最新资讯28at.com

master6uM28资讯网——每日最新资讯28at.com

10.9.2.1216uM28资讯网——每日最新资讯28at.com

master主机IP6uM28资讯网——每日最新资讯28at.com

backup6uM28资讯网——每日最新资讯28at.com

10.9.2.1226uM28资讯网——每日最新资讯28at.com

backup主机IP6uM28资讯网——每日最新资讯28at.com

三、安装

1、安装 ipvsadm keepalived

在两台机器上,执行以下命令,安装 ipvsadm keepalived 软件包:6uM28资讯网——每日最新资讯28at.com

yum install -y ipvsadm  keepalived

2、配置keepalived

在master机器上,执行以下命令,配置 Keepalived:6uM28资讯网——每日最新资讯28at.com

vim /etc/keepalived/keepalived.conf

添加以下内容:6uM28资讯网——每日最新资讯28at.com

global_defs {   router_id 1}vrrp_instance VI_1 {    state MASTER    interface enp0s3    virtual_router_id 1    mcast_src_ip 10.9.2.121    priority 100    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        10.9.2.120    }}

在 backup机器上,执行以下命令,配置 Keepalived:6uM28资讯网——每日最新资讯28at.com

vim /etc/keepalived/keepalived.conf

添加以下内容:6uM28资讯网——每日最新资讯28at.com

global_defs {   router_id 2}vrrp_instance VI_1 {    state BACKUP    interface enp0s3    virtual_router_id 1    mcast_src_ip 10.9.2.122    priority 90    advert_int 1    authentication {        auth_type PASS        auth_pass 123456    }    virtual_ipaddress {        10.9.2.120    }}

保存并退出。6uM28资讯网——每日最新资讯28at.com

参数说明:6uM28资讯网——每日最新资讯28at.com

global_defs {router_id 1 # 定义 VRRP 组的 ID,主备服务器必须相同}authentication { # 定义 VRRP 认证类型和密码,主备服务器必须相同auth_type PASSauth_pass 123456}vrrp_instance VI_1 {state MASTER # 指定该节点的状态,主节点为 MASTER,备节点为 BACKUPinterface eth0 # 指定VRRP使用的网卡,换成master机器的网卡名称virtual_router_id 1mcast_src_ip 10.9.2.121 # 指定 VRRP 使用的组播源 IP 地址priority 100 # 指定 VRRP 优先级,优先级越高,该节点成为主节点的概率越大advert_int 1 # 指定 VRRP 通告间隔,单位为秒virtual_ipaddress { # 指定 VRRP 虚拟 IP 地址10.9.2.120}}

3、启动

在两台机器上,执行以下命令,启动 LVS 和 Keepalived:6uM28资讯网——每日最新资讯28at.com

systemctl start keepalivedsystemctl start ipvsadm

如果systemctl start ipvsadm异常Active: failed (Result: exit-code) since Fri 2023-09-01 14:31:28 CST; 5min agoProcess: 3618 ExecStart=/bin/bash -c exec /sbin/ipvsadm-restore < /etc/sysconfig/ipvsadm (code=exited, status=1/FAILURE)。6uM28资讯网——每日最新资讯28at.com

systemctl status ipvsadm.service

6uM28资讯网——每日最新资讯28at.com

journalctl -xe

6uM28资讯网——每日最新资讯28at.com

可以看到/bin/bash: /etc/sysconfig/ipvsadm: No such file or directory。6uM28资讯网——每日最新资讯28at.com

ipvsadm   --save > /etc/sysconfig/ipvsadmsystemctl start ipvsadmsystemctl status ipvsadm.service

6uM28资讯网——每日最新资讯28at.com

4、测试

看看是否能ping通。6uM28资讯网——每日最新资讯28at.com

ping 10.9.2.120

再在master和backup机器上都安装一个nginx或apache httpd。6uM28资讯网——每日最新资讯28at.com

#masteryum install -y httpdecho "Master" > /var/www/html/index.htmlsystemctl start httpd#backupyum install -y httpdecho "Backup" > /var/www/html/index.htmlsystemctl start httpd

在浏览器访问:http://10.9.2.120。6uM28资讯网——每日最新资讯28at.com

6uM28资讯网——每日最新资讯28at.com

master优先级高,10.9.2.120显示的是master。6uM28资讯网——每日最新资讯28at.com

再来模拟一下故障转移测试。6uM28资讯网——每日最新资讯28at.com

在 10.9.2.121 机器上,执行以下命令,停掉 LVS:6uM28资讯网——每日最新资讯28at.com

systemctl stop keepalived

如果 LVS 配置正确,Keepalived 会自动将 VIP 切换到 10.9.2.122。6uM28资讯网——每日最新资讯28at.com

再在浏览器访问:http://10.9.2.120。6uM28资讯网——每日最新资讯28at.com

6uM28资讯网——每日最新资讯28at.com

注意事项6uM28资讯网——每日最新资讯28at.com

  • LVS 和 Keepalived 的配置文件中,virtual_ipaddress 配置的 IP 地址必须是同一网段的。
  • LVS 和 Keepalived 的配置文件中,priority 配置的值越高,该节点的优先级越高。
  • Keepalived 的配置文件中,advert_int 配置的值越小,该节点发送 VRRP 报文的频率越高


6uM28资讯网——每日最新资讯28at.com

四、相关知识点

1、集群负载均衡网络方案

实现集群负载均衡网络的方案可以分为软件、硬件、云等方面:6uM28资讯网——每日最新资讯28at.com

软件负载均衡

软件负载均衡是指在现有服务器上安装负载均衡软件来实现负载均衡,其优点是成本低廉、配置简单、灵活性强,适用于中小型集群。常见的软件负载均衡方案包括:6uM28资讯网——每日最新资讯28at.com

  • DNS轮询:将所有后端服务器的IP地址添加到DNS服务器,并按照轮询的方式返回给客户端,客户端根据返回的IP地址进行访问。
  • Keepalive+LVS:在Linux操作系统上使用Keepalive机制和LVS功能来实现负载均衡。Keepalive机制用于检测后端服务器的状态,ipvs功能用于将客户端请求转发到后端服务器。
  • Keepalive+Nginx+Lua:Nginx是一个高性能的Web服务器,Lua是一个脚本语言。Nginx+Lua负载均衡方案是将Nginx作为负载均衡器,使用Lua脚本来实现负载均衡策略。

硬件负载均衡

硬件负载均衡是指使用专门的负载均衡设备来实现负载均衡,其优点是性能高、功能丰富、可靠性强,适用于大型集群。常见的硬件负载均衡方案包括:6uM28资讯网——每日最新资讯28at.com

  • F5 Big-IP:F5 Big-IP是F5 Networks公司推出的一款高性能负载均衡设备。
  • A10 Thunder:A10 Thunder是A10 Networks公司推出的一款高性能负载均衡设备。
  • Juniper SRX:Juniper SRX是Juniper Networks公司推出的一款高性能路由器,具有负载均衡功能。

云负载均衡

云负载均衡是指在云平台上使用负载均衡服务来实现负载均衡,其优点是部署简单、弹性伸缩、按需付费,适用于各种规模的集群。常见的云负载均衡方案包括:6uM28资讯网——每日最新资讯28at.com

  • 阿里云负载均衡:阿里云负载均衡提供多种类型的负载均衡服务,包括传统的四层负载均衡和七层负载均衡。
  • 腾讯云负载均衡:腾讯云负载均衡提供多种类型的负载均衡服务,包括传统的四层负载均衡和七层负载均衡。
  • AWS负载均衡:AWS负载均衡提供多种类型的负载均衡服务,包括传统的四层负载均衡和七层负载均衡。

2、LVS+Keepalived

LVS

LVS(Linux Virtual Server)是 Linux 内核中的软件负载均衡器,可以将流量分发到多个服务器。LVS 可以分为两种模式:6uM28资讯网——每日最新资讯28at.com

  • NAT 模式:LVS 将客户端的请求转换为新的 IP 地址和端口,然后将请求转发到后端服务器。
  • DR 模式:LVS 将客户端的请求直接转发到后端服务器。

LVS 是基于四层的负载均衡器,可以将流量分发到多个服务器。LVS 的核心是 LVS 转发器,LVS 转发器负责将客户端的请求转发到后端服务器。LVS 转发器可以运行在 Linux 内核中,也可以运行在用户空间。6uM28资讯网——每日最新资讯28at.com

LVS 的优点6uM28资讯网——每日最新资讯28at.com

  • 高可用性:LVS 可以实现主备切换,确保服务的持续可用性。
  • 灵活性:LVS 支持多种负载均衡算法,可以满足不同场景的需求。
  • 性能:LVS 基于 Linux 内核,具有良好的性能。

Keepalived

Keepalived 是一个基于 VRRP 协议的软件,用于监控 LVS 的健康状况。VRRP 协议是一种虚拟路由冗余协议,用于在多个路由器之间实现主备切换。6uM28资讯网——每日最新资讯28at.com

Keepalived 的主要功能是监控 LVS 主节点的状态,如果主节点出现故障,Keepalived 会自动将 LVS 的 VIP 切换到备节点。6uM28资讯网——每日最新资讯28at.com

Keepalived 的优点6uM28资讯网——每日最新资讯28at.com

  • 高可用性:Keepalived 可以实现 LVS 的主备切换,确保服务的持续可用性。
  • 灵活性:Keepalived 支持多种 VRRP 配置,可以满足不同场景的需求。
  • 性能:Keepalived 基于 Linux 内核,具有良好的性能。

本文链接:http://www.28at.com/showinfo-26-19019-0.htmlLVS+Keepalived:实现高效软负载均衡的利器

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 详解六种最常见的软件供应链攻击

下一篇: 不到1分钟开发一个GPT应用!各路大神疯狂整活,网友:ChatGPT就是新iPhone 关注前沿科技 量子位

标签:
  • 热门焦点
Top