未加星标

LVS + Keepalived 介绍及安装

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 20160801 | 作者 红领巾 ] 0人收藏点击收藏

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.codesec.net/Linux/2016-03/129233.htm

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

[[email protected] ~]# ipvsadm(已安装)
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[[email protected] ~]# 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 [[email protected] ~]# 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

[[email protected] script]# /etc/init.d/keepalived start
正在启动 keepalived: [确定]
[[email protected] 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
[[email protected] 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.codesec.net/Linux/2016-02/128566.htm

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

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

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

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

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

本文地址:http://www.codesec.net/Linux/2016-08/134791.htm


LVS + Keepalived 介绍及安装

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: Linux负载均衡LVHAProxy服务器KEEADMEPASFUFU
分页:12
转载请注明
本文标题:LVS + Keepalived 介绍及安装
本站链接:http://www.codesec.net/view/481915.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(55)