RedHat6.2系统安装ipvsadm+keepalived
一、安装IPVS
软件包下载:
链接:https://pan.baidu.com/s/1zNgPtALbdBTC1H6e0IaZPw
提取码:xm7t
1、检查内核模块,看一下ip_vs 是否被加载
lsmod |grep ip_vs
如果没有显示,则说明没有加载,执行如下命令 就可以把ip_vs模块加载到内核
modprobe ip_vs

2、查看内核版本
uname -r

3、创建链接文件
ln -sv /usr/src/kernels/2.6.-.el6.x86_64 /usr/src/linux

4、安装libnl-devel-1.1.4-2.el6.x86_64.rpm
rpm -ivh libnl-devel-1.1.4-2.el6.x86_64.rpm
5、安装popt-static-1.13-7.el6.x86_64.rpm
rpm -ivh popt-static-1.13-.el6.x86_64.rpm
6、把ipvsadm-1.26.tar.gz安装包上传到/tmp目录下,并解压
tar -xvf ipvsadm-1.26.tar.gz
7、进入解压后的ipvsadm-1.26文件夹
cd ipvsadm-1.26
8、编译ipvsadm安装文件
make
9、安装
make install
10、检验ipvsadm 是否被正确安装。输入命令
ipvsadm
如果有以下输出表示安装成功:
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
二、安装Keepalive
1、上传keepalived-1.2.4.tar.gz安装包到服务器并解压
tar -xvf keepalived-1.2..tar.gz
2、进入解压后的进入解压后的keepalived-1.1.17目录
cd keepalived-1.2.
3、配置文件
./configure -prefix=/usr/local/keepalive
因为keepalived 运行在ip_vs 之上,因此上面这条命令是保证这两个软件安装在同一个系统里面。如果configure操作能正常进行,运行完毕后将有如下的汇总输出:
Keepalived configuration
------------------------
Keepalived version : 1.2.
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto -lnl
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
IPVS use libnl : Yes
Use VRRP Framework : Yes
Use VRRP VMAC : Yes
Use Debug flags : No
4、编译Keepalive安装文件
make
5、安装
make install
安装完成后,会在安装目录/usr/local/keepalive下生成bin,etc,man,sbin四个目录。其中etc目录为配置文件所在的目录。
三、LVS配置
1、进入Keepalive所在目录
cd /usr/local/keepalive/etc/keepalived/
2、编辑目录下的Keepalived.conf配置文件
vi keepalived.conf
按键盘“i”进行编辑,编辑完成后按“:wq!”保存退出。
编辑完成后的配置文件如下所示:
# more /etc/keepalived/keepalived.conf
# guration File for keepalived
# global define
global_defs {
router_id LVS_TJ_1
}
vrrp_sync_group VGM {
group {
VI_CACHE
}
} # vrrp_instance define
vrrp_instance VI_CACHE {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
172.20.100.200
}
} # virtual machine(Locator) setting
# setting port forward
virtual_server 172.20.100.200 {
delay_loop
lb_algo rr
lb_kind DR
persistence_timeout
protocol TCP
real_server 172.20.100.227 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
real_server 172.20.100.229 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}
|
配置项 |
含义 |
说明 |
|
全局定义块(global define) |
||
|
router_id |
LVS负载均衡器标识 |
在一个网络内,此标识必须是唯一的。 |
|
vrrp_sync_group |
同步vrrp 组 |
确定失败切换(FailOver)包含的路由实例个数。 |
|
group |
实例组 |
至少包含一个vrrp 实例。 |
|
VRRP实例定义块(vvrp_instance define) |
||
|
vrrp_instance |
vrrp实例 |
实例名出自实例组group 所包含的那些名字。 |
|
state |
实例状态 |
只有MASTER和BACKUP 两种状态,并且需要大写。其中MASTER 为工作状态,BACKUP 为备用状态。当MASTER 所在的服务器失效时,BACKUP 所在的系统会自动把它的状态由BACKUP 变换成MASTER;当失效的MASTER 所在的系统恢复时,BACKUP 从MASTER 恢复到BACKUP 状态。 |
|
interface |
通信接口 |
对外提供服务的网络接口。与当前系统使用的网络接口相一致。 |
|
lvs_sync_daemon_inteface |
负载均衡器间的监控接口 |
类似于HA HeartBeat的心跳线。但它的机制优于Heartbeat,因为它没有“裂脑”这个问题,它是以优先级这个机制来规避这个麻烦的。在DR 模式中,lvs_sync_daemon_inteface 与服务接口interface 使用同一个网络接口。 |
|
virtual_router_id |
虚拟路由标识(数字表示) |
MASTER和BACKUP的virtual_router_id 是一致的,在整个vrrp 内是唯一的。 |
|
priority |
优先级(数字表示) |
数值愈大,优先级越高。在同一个vrrp_instance里,MASTER 的优先级高于BACKUP。 |
|
advert_int |
同步通知间隔 |
MASTER 与BACKUP 负载均衡器之间同步检查的时间间隔,单位为秒。 |
|
auth_type |
验证类型 |
主要有PASS、AH 两种类型,通常使用PASS类型。 |
|
auth_pass |
验证密码 |
验证密码为明文,同一vrrp实例MASTER 与BACKUP 使用相同的密码才能正常通信。 |
|
virtual_ipaddress |
虚拟ip地址(VIP) |
可以有多个地址,每个地址占一行,不需要指定子网掩码。注意:这个ip就是lvs虚拟出来给真实服务器使用的。 |
|
虚拟服务器定义块(virtual machine setting) |
||
|
virtual_server |
虚拟服务器 |
与virtual_ipaddress地址一致,后面加上端口号。而且定义一个vip,可以实现多个tcp 端口的负载均衡功能。 |
|
delay_loop |
健康检查时间间隔 |
单位是秒。 |
|
lb_algo |
负载均衡调度算法 |
MAP是基于RTSP的服务,推荐使用基于最简单的轮叫调度算法(rr)或局部性的最少链接算法(lblc),不需配置会话保持(有利于均衡调度);iEPG、AAA都是基于HTTP的服务,推荐使用加权最小连接算法(wlc),不需配置会话保持(有利于均衡调度)。 |
|
lb_kind |
负载均衡转发规则 |
包括DR、NAT、TUN三种,一般在OpenCloud解决方案中使用DR方式。 |
|
persistence_timeout |
会话保持时间 |
单位是秒。 |
|
protocol |
转发协议 |
有TCP和UDP两种。 |
|
real_server |
真实服务器 |
可设置多个真实服务器,真实IP加上相同的端口号。 |
|
weight |
权重 |
数值越大,权重越高。使用不同的权重值的目的在于为不同性能的机器分配不同的负载,性能较好的机器,负载分担大些;反之,性能差的机器,则分担较少的负载,这样就可以合理的利用不同性能的机器资源。 |
|
TCP_CHECK |
TCP检查 |
检查TCP网络情况。 |
3、在/etc下建立keepalived目录
mkdir /etc/keepalived
4、在/etc/keepalived下创建一个软链接
ln -s /usr/local/keepalive/etc/keepalived/keepalived.conf /etc/keepalived/
5、在/etc/ rc.d/init.d/下创建一个软链接
ln -s /usr/local/keepalive/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
6、在/etc/sysconfig/下创建一个软链接
ln -s /usr/local/keepalive/etc/sysconfig/keepalived /etc/sysconfig/
7、在/usr/sbin/下创建一个软链接
ln -s /usr/local/keepalive/sbin/keepalived /usr/sbin/
8、把keepalived加入到系统服务中
chkconfig --add keepalived
9、将keepalived服务设成开机自启动
chkconfig --level keepalived on
四、真实服务器配置
分别在两台真实Lcator服务器上建立配置脚本,负责服务的启动、停止,具体操作步骤如下:
1、进入配置脚本放置路径
cd /usr/local/bin/
2、新建一文件并输入配置
vi lvs_real
按键盘“i”进行编辑,输入如下配置信息:
# more/usr/local/bin/lvs_real
#!/bin/bash
#description : start realserver
VIP=172.20.100.200
/etc/rc.d/init.d/functions
case "$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo: $VIP broadcast $VIP netmask 255.255.255.255 up
echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
stop)
/sbin/ifconfig lo: down
echo "close LVS Directorserver"
echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo "Usage: $0 {start|stop}"
exit
esac
五、LVS集群启动
1、启动Keepalived
service keepalived start
2、验证Keepalived是否启动
ps aux|grep keepalived
如有以下输出表示Keepalived已启动:
[root@ keepalived]# ps aux|grep keepalived
root 1.8 0.0 ? Ss : : keepalived -D
root 0.0 0.0 ? S : : keepalived -D
root 0.0 0.0 pts/ S+ : : grep keepalived
3、在真实的locator服务器上启动LVS脚本
/usr/local/bin/lvs_real start
4、启动locator服务
5、在LVS服务器上验证均衡负载情况
ipvsadm
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.20.100.200: rr persistent
-> 172.20.100.227: Route
-> 172.20.100.229: Route
RedHat6.2系统安装ipvsadm+keepalived的更多相关文章
- linux LVS (keepalived+ipvsadm)负载均衡搭建
ipsvadm 配置 一:安装配置 LVS+DR+Keepalivedclient 访问的地址 VIP 192.168.133.100 负载服务器master真实IP 192 ...
- KeepAlived主备模型高可用LVS
部署前准备: 1.至少4台主机:两个Director(HA1,HA2),两个Real Server(RS1,RS2) 2.Director之间时间必须同步,且关闭各主机的防火墙和Selinux 3.出 ...
- lvs + keepalived 介绍及安装
LVS介绍 lvs 核心ipvs Ipvs(IP Virtual Server)是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了.Ipvs 具体实现是由ipvsadm ...
- lvs keepalived 安装配置详解
前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较.F5相当的贵,真不是一般企业能负担的起的.负载均衡软件也用过不少,nginx,apache,hapro ...
- lvs keepalived 安装配置详解【转】
lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...
- 备胎的养成记KeepAlived实现热备负载
在 入坑系列之HAProxy负载均衡 中已经详细讲过了怎么将高并发的请求按均衡算法分发到几台服务器上做均衡防止单机崩溃. 但这样的话有没有发现所有请求都经过了HAproxy代理,自然当并发量越来越高 ...
- LVS + keepalived(DR) 实战
一.LVS体系结构 使用LVS架设的服务器集群系统有三个部分组成:最前端的负载均衡层,用Load Balancer表示,中间的服务器群组层,用Server Array表示,最底端的数据共享存储层,用S ...
- keepalived深度结合lvs_dr模式
keepalived与dr模式结合 keepalived介绍 keepalived可提供vrrp以及health-check功能,可以只用它提供双机浮动的vip(vrrp虚拟路由功能), 这样可以简单 ...
- lvs(dr)+keepalived
系统:centos6.5mini 环境: 机器名 Ip地址 角色 Vip-web: 192.168.20.50 Vip-mysql: 192.168.20.60 lvs01 192.168.20.10 ...
随机推荐
- Cypher查询在Neo4j中加载具有点数据类型属性的CSV文件
我有一个CSV文件,标有3列,ID,纬度,经度.我想将CSV文件加载到Neo4j中并创建具有上述属性的节点.Location:属性应该是具有纬度和经度子属性的点数据类型. CSV是: ID,latit ...
- 客户端相关知识学习(一)之混合开发,为什么要在App中使用H5页面以及应用场景、注意事项
混合开发 随着移动互联网的高速发展,常规的开发速度已经渐渐不能满足市场需求.原生H5混合开发应运而生,目前,市场上许多主流应用都有用到混合开发,例如支付宝.美团等.下面,结合我本人的开发经验,简单谈一 ...
- 笔记本电脑重装win7/win10系统教程
由于笔记本第一次重装系统会出现系统装不上,还有出现找不到有效硬盘分区,等等问题,然后这篇文章主要讲解BIOS设置的方法,用此BIOS设置,电脑用原本安装系统的方式,能有效地解决以上问题,这有两种方法解 ...
- ABCD 谁是小偷
题目: 警察局抓了a,b,c,d 4名偷窃嫌疑犯,其中只有一人是小偷.审问中,a说:“我不是小偷.”b说:“c是小偷.”c说:“小偷肯定是d.”d说:“c在胡说.” 现在已经知道这四人中有三人说的是真 ...
- 埋在 MYSQL 数据库应用中的17个关键问题!
Mysql的使用非常普遍,跟mysql有关的话题也非常多,如性能优化.高可用性.强一致性.安全.备份.集群.横向扩展.纵向扩展.负载均衡.读写分离等.要想掌握其中的精髓,可得花费不少功力,虽然目前流行 ...
- 转换byte(十进制)为图形(大小写字母,符号)
/** * 转换byte(十进制)为字母 */ public static String ByteToLetter (byte[] chars) { String Letter = "&qu ...
- Vue与Angular以及React的三者之间的区别
1.与AngularJS的区别 相同点:都支持指令:内置指令和自定义指令:都支持过滤器:内置过滤器和自定义过滤器:都支持双向数据绑定:都不支持低端浏览器. 不同点:AngularJS的学习成本高,比如 ...
- 使用Ant打包工具
由于使用java,javac,jar等工具进行编译打包,即繁琐低效又容易出错,因此Ant出现了.Ant的出现就是专门为了打包编译java代码的,使用之前得稍微学一下.Ant的运行起来主要是依靠配置文件 ...
- Linux驱动开发之LED驱动
首先讲下字符设备控制技术 : 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力.比如: 改变波特率. 在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(i ...
- Android单元测试之google官例CalculatorTest
执行测试用例类CalculatorTest 设置genymotion可见: Android Studio界面中,依次单击菜单项 View >Toolbar.即可见改工具按钮. 启动gen ...