阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

LVS + Keepalived 介绍及安装

451次阅读
没有评论

共计 5916 个字符,预计需要花费 15 分钟才能阅读完成。

LVS 介绍

LVS 核心 ipvs

Ipvs(IP Virtual Server) 是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了。Ipvs 具体实现是由 ipvsadm 这个程序来完成,因此判断一个系统是否具备 ipvs 功能,只需要察看 ipvsadm 程序是否被安装。察看 ipvsadm 程序最简单的办法就是在任意路径执行命令 ipvsadm。

学习 LVS+Keepalived 必须阅读的三个文档。

1、《Keepalived 权威指南》下载见 http://www.linuxidc.com/Linux/2012-05/60951.htm

2、《LVS 手册》http://www.linuxidc.com/Linux/2016-03/129233.htm

3、《Red_Hat_Enterprise_Linux-5-Virtual_Server_Administration-zh-CN》http://www.linuxidc.com/Linux/2016-03/129234.htm

[root@LVS-DR-Backup ~]# ipvsadm(已安装)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port          Forward Weight ActiveConn InActConn
[root@LVS-DR-Backup ~]# ipvsadm(未安装)
-bash: ipvsadm: command not found

 安装 lvs

1、下载 ipvsadm,wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz

2、创建一个连接文件,其命令为:ln -s /usr/src/kernels/2.6.32-573.el6.x86_64/  /usr/src/linux 注意一定要与当前的运行的内核相一致,因为 /usr/src/kernels 目录下可多个目录。如果不创建这个连接文件,在编译时会出错,从而不能继续进行安装。

3、解包。tar zxf ipvsadm-1.26.tar.gz

4、编译并安装。cd ipvsadm-1.26; make;make install

5、检验 ipvsadm 是否被正确安装:a. 执行 ipvsadm,看是否有如上的输出。b. 检查当前加载的内核模块,看是否存在 ip_vs 模块。

1 [root@LVS-DR-Backup ~]# lsmod|grep ip_vs
2 ip_vs                126534  0
3 libcrc32c              1246  1 ip_vs
4 ipv6                  335589  137 ip_vs(注:只有执行 ipvsadm 以后,才会在内核加载 ip_vs 模块,也不能以查进程的方式判断 ipvs 是否运行。)

LVS 客户端

不需要安装软件,只运行一个脚本就可以,脚本如下:

#!/bin/bash

VIP= 此处设置你的 vip 地址

. /etc/rc.d/init.d/functions

case “$1” in
  start)
        action ” start LVS of REALServer” /bin/true
        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
        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
        ;;
  stop)
        /sbin/ifconfig lo:0 down
        action “close LVS Directorserver” /bin/true
        echo “0” >/proc/sys/net/ipv4/conf/lo/arp_ignore
        echo “0” >/proc/sys/net/ipv4/conf/lo/arp_announce
        echo “0” >/proc/sys/net/ipv4/conf/all/arp_ignore
        echo “0” >/proc/sys/net/ipv4/conf/all/arp_announce
        ;;
  *)
        echo “Usage: $0 {start|stop}”
        exit 1
esac

keepalived 介绍

1、keepalived 是 lvs 的扩展项目,因此它们之间具备良好的兼容性。

2、通过对服务器池对象的健康检查,实现对失效机器 / 服务的故障隔离。

3、负载均衡器之间的失败切换 failover,是通过 VRRPv2(Virtual Router Redundancy Protocol)stack 实现的。

LVS + Keepalived 介绍及安装

keepalived 内部结构图

在这个结构图里,处于下端的是内核空间,它包括 ipvs 和 NETLINK 两个部分。Ipvs 的作用在前面的章节已经做过描述,不再重复叙述;netlink 提供高级路由及其他相关的网络功能,如果我们在负载均衡器上启用 netfilter/iptable, 将会直接影响它的性能。出于图形上方的组件为用户空间,由它来实现具体的功能,下面选取几个重要的来做说明:

1、WatchDog 负责监控 checkers 和 VRRP 进程的状况。

2、Checkers 负责真实服务器的健康检查 healthchecking,是 keepalived 最主要的功能。换句话说—可以没有 VRRP Stack, 但健康检查 healthchecking 是一定要有的。

3、VRRP Stack 负责负载均衡器之间的失败切换 FailOver. 如果只用一个负载均衡器,则 VRRP 不是必须的。

4、IPVS wrapper 用来发送设定的规则到内核 ipvs 代码。

5、Netlink Reflector 用来设定 vrrp 的 vip 地址等。

安装 keepalived(因为比较简单,不做详细介绍)

1、下载最新稳定版 http://www.keepalived.org/software/keepalived-1.2.23.tar.gz

2、解包 tar zxf keepalived-1.2.23.tar.gz

3、切换目录 cd keepalived-1.2.23

4、安装依赖包 yum install -y libnfnetlink-devel openssl-devel

5、配置并编译安装./configure;make ; make install

6、拷贝相应文件到 /etc 下,命令如下:

1 cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
2 cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
3 cp /usr/local/sbin/keepalived /usr/sbin/
4 mkdir /etc/keepalived -p
5 cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

7、启动并查看 keepalived

[root@LVS-DR-Backup script]# /etc/init.d/keepalived start
正在启动 keepalived:[确定]
[root@LVS-DR-Backup script]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port          Forward Weight ActiveConn InActConn
TCP  192.168.200.100:https rr persistent 50
  -> 192.168.201.100:https        Masq    1      0          0       
TCP  10.10.10.2:connlcli rr persistent 50
  -> 192.168.200.2:connlcli      Masq    1      0          0       
  -> 192.168.200.3:connlcli      Masq    1      0          0       
TCP  10.10.10.3:connlcli rr persistent 50
  -> 192.168.200.4:connlcli      Masq    1      0          0       
  -> 192.168.200.5:connlcli      Masq    1      0          0       
[root@LVS-DR-Backup script]#

8、至此安装完成,下一章,keepalived.conf 详解。

参考:http://www.keepalived.org/documentation.html

附:lvs 和 keepalived 一键安装脚本

#!/bin/bash
# Filename :Install_lvs.sh
# Description : 安装 lvs+keepalived 软件脚本

# 参数设置
Toolsdir=/home/test/tools
IPVSADM=ipvsadm-1.26
Kernel=uname -r
KEEPALIVED=keepalived-1.2.23

# 定义安装 ipvsadm 函数
function IPvsadm(){
cd ${Toolsdir}
# 下载 ipvsadm 软件
[! -f ${IPVSADM}.tar.gz ] && wget http://www.linuxvirtualserver.org/software/kernel-2.6/${IPVSADM}.tar.gz
# 安装依赖包
yum install -y popt libnl-devel popt-static

# 解压并安装 ipvsadm
tar zxf ${IPVSADM}.tar.gz
if [$? == 0];then
    cd ${IPVSADM}
    ln -s /usr/src/kernel/${Kernel}/ /usr/src/linux
    make
    if [$? == 0];then
        make install
        if [$? == 0];then
              echo “IPVSADM INSTALL SUCCESSFUL.”
        else
              echo “make install error.”
              eixt 0
              sleep 5
        fi
    else
        echo “make  error.”
        exit 1
    fi
else
    echo “tar error.”   
    exit 2
fi
}
 
# 定义安装 keepalived 函数

function Keepalived(){
# 下载软件
cd ${Toolsdir}
[! -f  ${KEEPALIVED}.tar.gz ] && wget http://www.keepalived.org/software/${KEEPALIVED}.tar.gz

# 安装依赖包
yum install -y libnfnetlink-devel openssl-devel

# 安装 keepalived
tar zxf ${KEEPALIVED}.tar.gz
if [$? == 0];then
    cd ${KEEPALIVED}
    ./configure
    if [$? == 0];then
        make
        if [$? == 0];then
            make install
            if [$? == 0];then
                echo “Keepalived install successful.”
            else
                echo “make install error”
            fi
        else
            echo “make error.”
        fi
    else
        echo “configure error.”
    fi
else
    echo “tar error”
fi

# 拷贝配置文件
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/sbin/keepalived /usr/sbin/
mkdir /etc/keepalived -p
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

# 开启内核转发
sed -i ‘s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g’ sysctl.conf
sysctl -p
}

IPvsadm
Keepalived

Linux 下 HAProxy+Keepalived 双机高可用方案  http://www.linuxidc.com/Linux/2016-02/128566.htm

Haproxy+Keepalived 搭建 Weblogic 高可用负载均衡集群 http://www.linuxidc.com/Linux/2013-09/89732.htm

Keepalived+HAProxy 配置高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/56748.htm

CentOS 6.3 下 Haproxy+Keepalived+Apache 配置笔记 http://www.linuxidc.com/Linux/2013-06/85598.htm

Haproxy + KeepAlived 实现 WEB 群集 on CentOS 6 http://www.linuxidc.com/Linux/2012-03/55672.htm

Haproxy+Keepalived 构建高可用负载均衡 http://www.linuxidc.com/Linux/2012-03/55880.htm

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-08/134791.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5916字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7977930
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...