一般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. C#的Convert.FromBase64String

    Invalid length for a Base-64 char array. 异常信息 引用https://stackoverflow.com/questions/2925729/invalid- ...

  2. 设计模式原则总结--读《大话设计模式》有感 <转>

    读了<大话设计模式>,摘录该书中讲到的设计模式几大原则,供日后使用. 一.单一职责原则 就一个类而言,应该仅有一个引起它变化的原因.如果一个类承担的职责过多,就等于把这些职责耦合在一起,一 ...

  3. JDK7集合框架源码阅读(三) HashMap

    基于版本jdk1.7.0_80 java.util.HashMap 代码如下 /* * Copyright (c) 1997, 2010, Oracle and/or its affiliates. ...

  4. Python的扩展接口[2] -> 动态链接库DLL[0] -> 动态链接库及辅助工具

    动态链接库 / Dynamic Link Library 目录 动态链接库简介 函数封装DLL 组件对象模型COM 如何判断.dll文件是COM还是DLL 辅助工具 1 动态链接库简介 / DLL I ...

  5. hdu 1500 Chopsticks DP

    题目链接:HDU - 1500 In China, people use a pair of chopsticks to get food on the table, but Mr. L is a b ...

  6. iOS 代理 重定向消息 forwardInvocation

    今天简单研究一下iOS的重定向消息forwardInvocation: 首先看看Invocation类: @interface NSInvocation : NSObject { @private _ ...

  7. 玩转Nuget服务器搭建(三)

    前两篇已经介绍了如何打包.如何搭建nuget server web站点,接下来让我们介绍一下,如何在我们的vs中访问我们自己搭建的nuget服务器中的包. vs访问我们自己的nuget服务器中的包   ...

  8. 自动化安装SQLSERVER和SQLSERVER补丁 转

    2014-01-23 18:31  您还在用下一步下一步的方式安装SQLSERVER和SQLSERVER补丁吗? 介绍 假如你有50台服务器需要安装SQLSERVER,如果你用下一步下一步的方式,用远 ...

  9. linux tail指令

    http://www.cnblogs.com/peida/archive/2012/11/07/2758084.html tail -f file,  check the log file tail  ...

  10. 【sublime】sublime Text 3 javaScript代码自动提示插件&安装步骤 &启动Debug模式

    最近使用sublime开发node.js,但是sublime的js代码在书写的时候并没有提示功能. 因此搜到资料,用于安装代码自动提示插件. 1.打开sublime,然后快捷键Ctrl+Shift+P ...