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 ...
随机推荐
- Ubuntu19.04系统SSH连接CentOS7虚拟机
一.为CentOS7配置静态IP 注意查看宿主机(Ubuntu19.04)所在局域网段,当前为172.18.25.108 修改当前系统下virtual box的网络设置 [控制]-->[设置]- ...
- LaTeX pdf转eps格式
使用GSview对pdf 进行 eps 转换 1.准备好PDF文件 例如:f1.pdf 2.打开GSview,转换f1.pdf成为f1.ps 打开GSview,File-->Convert--& ...
- Mac下的Web性能压力测试工具:ab(ApacheBench)
Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准. ab是一种用于测试Apache超文本传输协议(HTTP)服务器的工具.apache自带ab工具,可以测试Apache.IIS ...
- 101、Service 之间如何通信?(Swarm08)
参考https://www.cnblogs.com/CloudMan6/p/7967419.html 微服务架构的应用由若干 service 构成.比如有运行 httpd 的 web 前端,有提供 ...
- 【lucene】一个简单的招聘网站的建立
1.建立索引库: 核心代码如下 package com.tabchanj.job.index; import java.util.ArrayList; import java.util.HashMap ...
- JQuery——关于CDN(内容分发网络)
替代方案 如果您不希望下载并存放 jQuery,那么也可以通过 CDN(内容分发网络) 引用它. Staticfile CDN.百度.又拍云.新浪.谷歌和微软的服务器都存有 jQuery . 如果你的 ...
- 精通shell编程--最后的总结
不得不说shell语法是丑陋的,操作是简单高效的,最后一次学习总结shell shell总结 字符串删除与替换等常见操作 ## 字符串长度 a=1234 echo "${#a}" ...
- psutil:系统、进程,信息都在我的掌握之中
获取cpu的逻辑数量 import psutil print(psutil.cpu_count()) # 12 获取CPU的物理核心数 import psutil print(psutil.cpu_c ...
- 解压速度更快, Zstandard 1.4.1 发布
zstd 1.4.1 发布了,zstd 又叫 Zstandard,它是一种快速无损压缩算法,主要应用于 zlib 级别的实时压缩场景,并且具有更好的压缩比.zstd 还可以以压缩速度为代价提供更强的压 ...
- 解决 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 ...