一般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. @Html.Raw()用法

    @Html.Raw() 方法输出带有html标签的字符串, 如:@Html.Raw("<div style='color:red'>输出字符串</div>" ...

  2. 日志三剑客ELK

    新的服务器需要搭建ELK三剑客,就是日志分析的工具,整理下步骤,供以后复习用. 说明下,我这里使用的是logstash从redis里获取日志信息的.所以还需要redis,这里就不做redis的介绍了. ...

  3. JavaScript实现数字配对游戏

    游戏效果如下图所示: 规则: 在4X5的格子中,有随机的互不相等的10个数,每个数据有两份(也就是20个数,有两两相等的十对),随机分布在20个格子中.游戏开始,弹出二十个数的序列.每次点击格子会显示 ...

  4. (1) C语言 基础1

     VS  scanf 安全错误 在预处理器定义那里添加一行_CRT_SECURE_NO_DEPRECATE vs编译头错误 一.打印helloworld #include<stdio.h> ...

  5. 51nod 1021 石子归并 【区间DP】

    1021 石子归并  基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子 ...

  6. ASP.NET基础题(1-10)

    1.简述 private. protected. public. internal 修饰符的访问权限. private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内 ...

  7. 什么是HotSpot VM & 深入理解Java虚拟机 JVM

    参考 http://book.2cto.com/201306/25434.html 另外,这篇文章也是从一个系列中得出的: <深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)> ...

  8. django book表单验证学习

    django提供了强大的表单验证功能form 个人认为是把html代码封装到form里面,就像封装models中的数据一样.而且带有强大的验证功能,不需要后台再去写一堆乱七八糟的验证 具体操作查看dj ...

  9. 解决no declaration can be found for element 'context:component-scan'

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  10. Selenium-java-Log4j环境搭建

    1.导入Log4j 2.Build Path 3.在/src/main/resource目录下创建文件,命名为 log4j.properties 4.文件的内容是,  直接复制  ### 设置根 定义 ...