一般2.6.10以上内核版本都已经自带了ipvsadm,故不需要安装。

Ipvs 1.25编译

ipvsadm-1.25编译不过

  • 去掉netlink库的依赖:去掉libipvs/Makefile的CFLAGS += -DLIBIPVS_USE_NL,去掉Makefile的LIBS += -lnl。
  • 需要popt库解析命令行,在这里下载并安装http://freshmeat.net/projects/popt/.。

DR方式的LB

配置LVS主节点

1.修改proc参数

#vi /etc/sysctl.conf

net.ipv4.ip_forward = 1 
net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects = 0 
net.ipv4.conf.eth0.send_redirects = 0 
net.ipv4.conf.eth1.send_redirects = 0

#sysctl –p

2. 添加负载均衡规则

#cat > /etc/sysconfig/ipvsadm

ipvsadm -A -t 192.168.100.20:80 -s rr 
ipvsadm -a -t 192.168.100.20:80 -r 192.168.100.116:80 -g -p60 
ipvsadm -a -t 192.168.100.20:80 -r 192.168.100.117:80 -g -p60

如果添加realserver时设置了-p 60参数,则同一个客户端每次刷新页面时,连接的是同一个real server,否则会轮流更替,但我加了-p 参数会报错。 
设置连接保持(-p)参数是为了确保ftp、ssl等连接的稳定和可靠性。

3.添加虚拟IP地址

(比较郁闷的是,下面这个设置在机器上不生效,需要手动执行: ifconfig eth0:1 192.168.100.20 broadcast 192.168.100.255 netmask 255.255.255.0 )

#vi /etc/sysconfig/network-scripts/ifcfg-eth0:1

DEVICE=eth0:0 
BROADCAST=192.168.100.255 
IPADDR=192.168.100.20 
NETMASK=255.255.255.0 
ONBOOT=yes 
TYPE=Ethernet

#service network restart

4. 保存规则并设置服务状态

#ipvsadm-save > /etc/sysconfig/ipvsadm 
#chkconfig --level 35 ipvsadm on 
#service ipvsadm start

配置各Real Server节点

1. 修改proc参数

#vi /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore = 1 
net.ipv4.conf.all.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce = 2

#sysctl –p

2.添加虚拟地址及路由记录

#vi /opt/add_vip.sh

#!/bin/bash 
ifconfig lo:0 192.168.100.20 netmask 255.255.255.255 up 
route add -host 192.168.100.20 dev lo:0

#chmod +x /opt/add_vip.sh 
#/opt/add_vip.sh 
#echo "/opt/add_vip.sh"  >> /etc/rc.local

NAT方式的LB

在同一个网段内设置,没有成功,网上说需要设置iptables-nat,但同一个网段需要么?

验证LVS

在LVS主节点上执行

ipvsadm -L -n

LVS源码分析

LVS源码在下面网站中有详细分析,写得非常不错,如果想深入研究的,建议看一下。

http://www.yubo.org/ipvs/index.php

这儿有张netfilter的框架图,也值得看看

http://zh.linuxvirtualserver.org/files/linux2.6.32.2netfilter.JPG

CentOS LVS安装配置的更多相关文章

  1. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  2. CentOS 7安装配置Apache HTTP Server

    原文 CentOS 7安装配置Apache HTTP Server   RPM安装httpd # yum -yinstall httpd //安装httpd会自动安装一下依赖包: apr apr-ut ...

  3. CentOS 7 安装配置 NFS

    CentOS 7  安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind ...

  4. 分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)——第一篇

    分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)--第一篇 简介 首先简单了解一下基础概念,FastDFS是一个开源的轻量级分布式文件系统,由 ...

  5. CentOS 7安装配置Samba服务器

    CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...

  6. CentOS 7安装配置Samba服务器(挂载共享文件夹)

    CentOS 7安装配置Samba服务器 CentOS 7下Samba服务器安装配置过程笔记. 假设我们有这样一个场景 共享名 路径 权限 SHAREDOC /smb/docs 所有人员包括来宾均可以 ...

  7. 记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1

    CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 ...

  8. CentOS gitlab 安装配置

    CentOS gitlab 安装配置 2018-11-02 11:23:09   Visit  5 在/etc/yum.repos.d 目录下创建文件gitlab-ce.repo,使用国内的安装源 b ...

  9. <转>CentOS 7 安装配置 NFS

    CentOS 7  安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一.yum 安装 yum -y install nfs-utils rpcbind ...

随机推荐

  1. android 调用系统相机崩溃的解决方案

    解决方案: 1.(推荐)7.0之后你的app就算有权限,给出一个URI之后手机也认为你没有权限. 不用修改原有代码,在Application的oncreate方法中: if (Build.VERSIO ...

  2. AC日记——The Meeting Place Cannot Be Changed codeforces 780b

    780B - The Meeting Place Cannot Be Changed 思路: 二分答案: 代码: #include <cstdio> #include <cstrin ...

  3. AC日记——Little Elephant and Shifts codeforces 221e

    E - Little Elephant and Shifts 思路: 一次函数线段树(疯狂debug): b不断循环左移,判断每次最小的|i-j|,a[i]=b[j]: 仔细观察发现,每个bi移动时, ...

  4. Wannafly挑战赛10 D 小H的询问(线段树)

    题目链接  Problem D 这个题类似 SPOJ GSS3 做过那个题之后其实就可以秒掉这题了. 考虑当前线段树维护的结点 在那道题的基础上,这个题要多维护几个东西,大概就是左端点的奇偶性,右端点 ...

  5. NIO入门之BIO

    传统BIO编程 网络编程的基本模型是Client-Server模型,也就是两个进程之间相互通信,其中服务端提供位置信息(绑定的IP地址和监听端口),客户端通过连接操作向服务端监听的端口发起连接请求,通 ...

  6. 用swift开发自己的MacOS锁屏软件(二)

    上一篇中尝试写了hello world,这一篇中,开始尝试锁屏功能 1.尝试查找swift有没有相关的函数,可以控制系统锁屏之类的,结果并没有找到 2.尝试查找cocoa有没有相关的接口,结果仍然没有 ...

  7. Jenkins忘记密码的修复方法(Windows/Linux)

    在jenkins的安装目录下,找到config.xml配置文件,删除以下节点: <useSecurity>true</useSecurity> <authorizatio ...

  8. Visual Studio Package扩展——vsct文件简介

    首先我们使用向导生成一个package的扩展,里面就会发现一个vsct文件.vsct文件的全称是Visual Studio Command Table,它其实就是一个xml文件,通过一定的规则来描述v ...

  9. java 通过流的方式读取本地图片并显示在jsp 页面上(类型以jpg、png等结尾的图片)

    Java代码: File filePic = new File(path+"1-ab1.png"); if(filePic.exists()){ FileInputStream i ...

  10. redis打开非英文存储显示问题

    使用jedis 在redis中如果存储非英文的值,入 中文,印地语,马拉蒂语,泰米尔语等.在执行get 或者 hget的时候查询出来的数据会以16进制显示.如何显示原有的值 在redis启动的时候加上 ...