lvs + keepalived 介绍及安装
LVS介绍
lvs 核心ipvs
Ipvs(IP Virtual Server)是整个负载均衡的基础,如果没有这个基础,故障隔离与失败切换就毫无意义了。Ipvs 具体实现是由ipvsadm 这个程序来完成,因此判断一个系统是否具备ipvs 功能,只需要察看ipvsadm 程序是否被安装。察看ipvsadm 程序最简单的办法就是在任意路径执行命令ipvsadm。
- [root@LVS-DR-Backup ~]# ipvsadm(已安装)
- IP Virtual Server version (size=)
- 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 模块。
- [root@LVS-DR-Backup ~]# lsmod|grep ip_vs
- ip_vs
- libcrc32c ip_vs
- ipv6 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/ $VIP broadcast $VIP netmask 255.255.255.255 up
- " >/proc/sys/net/ipv4/conf/lo/arp_ignore
- " >/proc/sys/net/ipv4/conf/lo/arp_announce
- " >/proc/sys/net/ipv4/conf/all/arp_ignore
- " >/proc/sys/net/ipv4/conf/all/arp_announce
- ;;
- stop)
- /sbin/ down
- action "close LVS Directorserver" /bin/true
- " >/proc/sys/net/ipv4/conf/lo/arp_ignore
- " >/proc/sys/net/ipv4/conf/lo/arp_announce
- " >/proc/sys/net/ipv4/conf/all/arp_ignore
- " >/proc/sys/net/ipv4/conf/all/arp_announce
- ;;
- *)
- echo "Usage: $0 {start|stop}"
- exit
- esac
keepalived介绍
1、 keepalived 是lvs 的扩展项目,因此它们之间具备良好的兼容性。
2、 通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。
3、 负载均衡器之间的失败切换failover,是通过VRRPv2(Virtual Router Redundancy Protocol)stack 实现的。
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下,命令如下:
- 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/
7、启动并查看keepalived
- [root@LVS-DR-Backup script]# /etc/init.d/keepalived start
- 正在启动 keepalived: [确定]
- [root@LVS-DR-Backup script]# ipvsadm
- IP Virtual Server version (size=)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP
- ->
- TCP
- ->
- ->
- TCP
- ->
- ->
- [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-
- #定义安装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
- ];then
- cd ${IPVSADM}
- ln -s /usr/src/kernel/${Kernel}/ /usr/src/linux
- make
- ];then
- make install
- ];then
- echo "IPVSADM INSTALL SUCCESSFUL."
- else
- echo "make install error."
- eixt
- fi
- else
- echo "make error."
- exit
- fi
- else
- echo "tar error."
- exit
- 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
- ];then
- cd ${KEEPALIVED}
- ./configure
- ];then
- make
- ];then
- make install
- ];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
lvs + keepalived 介绍及安装的更多相关文章
- LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- 架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置
1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/artic ...
- centos7安装配置LVS+keepalived高可用
Centos7-Lvs+Keepalived架构 LVS+Keepalived 介绍 1 . LVS LVS 是一个开源的软件,可以实现 LINUX 平台下的简单负载均衡. LVS 是 Linux ...
- LVS+Nginx(LVS + Keepalived + Nginx安装及配置)
(也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广 ...
- LVS+Keepalived搭建MyCAT高可用负载均衡集群
LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国 ...
- lvs+keepalived+nginx实现高性能负载均衡集群
一.为什么要使用负载均衡技术? 1.系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...
- LVS+keepalived实现负载均衡
背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要 的浪费?同时实现商业硬件一样的 ...
- LVS+Keepalived实现高可用集群
LVS+Keepalived实现高可用集群来源: ChinaUnix博客 日期: 2009.07.21 14:49 (共有条评论) 我要评论 操作系统平台:CentOS5.2软件:LVS+keepal ...
- LVS+Keepalived高可用负载均衡集群架构实验-01
一.为什么要使用负载均衡技术? 1.系统高可用性 2. 系统可扩展性 3. 负载均衡能力 LVS+keepalived能很好的实现以上的要求,LVS提供负载均衡,keepalived提供健康检查, ...
随机推荐
- java 使用递归获取指定文件路径目录,删除指定的文件后缀(可扩展,根据具体需要的删除的后缀进行配置)~~
在工作开发过程中,每次用SVN提交代码全选择的时候,发现会产生很多不需要的文件后缀垃圾文件,感觉挺烦人的,一个一个删太麻烦了,如果产生多种后缀文件时,那删起来多费劲,是吧?想想,就写了一段程序通过递归 ...
- How secure FB Messenger is?
It's reported that FB Messenge is the most secure App for instant messaging service. Let's see if FB ...
- mongoDB学习记录---PHP扩展的find返回值
最近的一个项目中用到了MongoDB,主要是使用MongoDB的PHP扩展.MongoDB的扩展中用于一个用于查询的方法是find().下面针对在理解MongoDB扩展的find()方法中做的实验做个 ...
- 初学Python之字符串操作
字符串.replace() phone_number='158-8888-8888' hide_number=phone_number.replace(phone_number[:9],'*'*9) ...
- IP验证正则表达式
Regex r = new Regex(@"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$" ...
- Ubuntu 14.10安装SecureCRT 7.3(转)
原文 :http://blog.csdn.net/chszs/article/details/40623169 1.软件准备 Ubuntu14.04 x64 下载SecureCRT7.3的版本:scr ...
- 如何优雅的实现INotifyPropertyChanged接口
INotifyPropertyChanged接口在WPF或WinFrom程序中使用还是经常用到,常用于通知界面属性变更.标准写法如下: class NotifyObject : INotifyProp ...
- assert的用法
assert用来调试时,判断一个语句是否为真. assert是宏,而不是函数.在C的assert.h 头文件中. assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么 ...
- 使用noConflict重命名jQuery对象
大多数JavaScript框架都使用$符号作为缩写,当在同一个页面使用多个JS框架时,页面很容易发生冲突.幸运的是有一个简单的方法.noConflict()函数交回$的控制权并允许你设置成自己的变量名 ...
- 使用WebClient 或者 HttpWebRequest均报:"The Remote name can't be solved"
错误原因: 未配置代理服务器设置的问题, 需要在配置节做如下操作. ============================================ 文章编号: 318140 - 查看本文应用 ...