一、安装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的更多相关文章

  1. linux LVS (keepalived+ipvsadm)负载均衡搭建

    ipsvadm 配置 一:安装配置 LVS+DR+Keepalivedclient 访问的地址 VIP 192.168.133.100       负载服务器master真实IP        192 ...

  2. KeepAlived主备模型高可用LVS

    部署前准备: 1.至少4台主机:两个Director(HA1,HA2),两个Real Server(RS1,RS2) 2.Director之间时间必须同步,且关闭各主机的防火墙和Selinux 3.出 ...

  3. lvs + keepalived 介绍及安装

    LVS介绍 lvs 核心ipvs      Ipvs(IP Virtual Server)是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了.Ipvs 具体实现是由ipvsadm ...

  4. lvs keepalived 安装配置详解

    前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较.F5相当的贵,真不是一般企业能负担的起的.负载均衡软件也用过不少,nginx,apache,hapro ...

  5. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  6. 备胎的养成记KeepAlived实现热备负载

    在  入坑系列之HAProxy负载均衡 中已经详细讲过了怎么将高并发的请求按均衡算法分发到几台服务器上做均衡防止单机崩溃. 但这样的话有没有发现所有请求都经过了HAproxy代理,自然当并发量越来越高 ...

  7. LVS + keepalived(DR) 实战

    一.LVS体系结构 使用LVS架设的服务器集群系统有三个部分组成:最前端的负载均衡层,用Load Balancer表示,中间的服务器群组层,用Server Array表示,最底端的数据共享存储层,用S ...

  8. keepalived深度结合lvs_dr模式

    keepalived与dr模式结合 keepalived介绍 keepalived可提供vrrp以及health-check功能,可以只用它提供双机浮动的vip(vrrp虚拟路由功能), 这样可以简单 ...

  9. lvs(dr)+keepalived

    系统:centos6.5mini 环境: 机器名 Ip地址 角色 Vip-web: 192.168.20.50 Vip-mysql: 192.168.20.60 lvs01 192.168.20.10 ...

随机推荐

  1. Ubuntu19.04系统SSH连接CentOS7虚拟机

    一.为CentOS7配置静态IP 注意查看宿主机(Ubuntu19.04)所在局域网段,当前为172.18.25.108 修改当前系统下virtual box的网络设置 [控制]-->[设置]- ...

  2. LaTeX pdf转eps格式

    使用GSview对pdf 进行 eps 转换 1.准备好PDF文件 例如:f1.pdf 2.打开GSview,转换f1.pdf成为f1.ps 打开GSview,File-->Convert--& ...

  3. Mac下的Web性能压力测试工具:ab(ApacheBench)

    Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准. ab是一种用于测试Apache超文本传输协议(HTTP)服务器的工具.apache自带ab工具,可以测试Apache.IIS ...

  4. 101、Service 之间如何通信?(Swarm08)

    参考https://www.cnblogs.com/CloudMan6/p/7967419.html   微服务架构的应用由若干 service 构成.比如有运行 httpd 的 web 前端,有提供 ...

  5. 【lucene】一个简单的招聘网站的建立

    1.建立索引库: 核心代码如下 package com.tabchanj.job.index; import java.util.ArrayList; import java.util.HashMap ...

  6. JQuery——关于CDN(内容分发网络)

    替代方案 如果您不希望下载并存放 jQuery,那么也可以通过 CDN(内容分发网络) 引用它. Staticfile CDN.百度.又拍云.新浪.谷歌和微软的服务器都存有 jQuery . 如果你的 ...

  7. 精通shell编程--最后的总结

    不得不说shell语法是丑陋的,操作是简单高效的,最后一次学习总结shell shell总结 字符串删除与替换等常见操作 ## 字符串长度 a=1234 echo "${#a}" ...

  8. psutil:系统、进程,信息都在我的掌握之中

    获取cpu的逻辑数量 import psutil print(psutil.cpu_count()) # 12 获取CPU的物理核心数 import psutil print(psutil.cpu_c ...

  9. 解压速度更快, Zstandard 1.4.1 发布

    zstd 1.4.1 发布了,zstd 又叫 Zstandard,它是一种快速无损压缩算法,主要应用于 zlib 级别的实时压缩场景,并且具有更好的压缩比.zstd 还可以以压缩速度为代价提供更强的压 ...

  10. 解决 android studio 出现:"AndroidStudio:Could not GET 'https://dl.google.com Received status code 400 from server: Bad Request"问题

    一.android studio 编译项目时出现"AndroidStudio:Could not GET 'https://dl.google.com Received status cod ...