LVS Funnat 编译安装使用

参照http://kb.linuxvirtualserver.org/wiki/IPVS_FULLNAT_and_SYNPROXY

准备文件

下载源文件

ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Server/en/os/SRPMS/kernel-2.6.32-220.23.1.el6.src.rpm
下载LVS Tools

http://kb.linuxvirtualserver.org/images/a/a5/Lvs-fullnat-synproxy.tar.gz

所有系统使用CentOS release 6.7

安装编译内核要的依懒包

yum install rpm-build -y

安装包
redhat-rpm-config-9.0.3-44.el6.centos.noarch
rpm-build-4.8.0-47.el6.x86_64

yum install gcc -y

安装包
mpfr-2.4.1-6.el6.x86_64
cpp-4.4.7-16.el6.x86_64
ppl-0.10.2-11.el6.x86_64
cloog-ppl-0.15.7-1.2.el6.x86_64
gcc-4.4.7-16.el6.x86_64

yum install xmlto -y

安装包
docbook-dtds-1.0-51.el6.noarch
docbook-style-xsl-1.75.2-6.el6.noarch
flex-2.5.35-9.el6.x86_64
xmlto-0.0.23-3.el6.x86_64

yum install newt-devel -y

安装包

slang-devel-2.2.1-1.el6.x86_64

yum install patchutils asciidoc elfutils-libelf-devel zlib-devel binutils-devel python-devel hmaccalc -y

开始编译安装

rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm

warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
忽略

cd ~/rpmbuild/SPECS
rpmbuild -bp kernel.spec

出现

###
### Now generating a PGP key pair to be used for signing modules.
###
### If this takes a long time, you might wish to run rngd in the background to
### keep the supply of entropy topped up.  It needs to be run as root, and
### should use a hardware random number generator if one is available, eg:
###
###     rngd -r /dev/hwrandom
###
### If one isn‘t available, the pseudo-random number generator can be used:
###
###     rngd -r /dev/urandom
###
+ gpg --homedir . --batch --gen-key /root/rpmbuild/SOURCES/genkey
gpg: WARNING: unsafe permissions on homedir `.‘
gpg: keyring `./secring.gpg‘ created
gpg: keyring `./pubring.gpg‘ created

新开一个终端执行

rngd -r /dev/hwrandom 或者rngd -r /dev/urandom

rpmbuild完成

开始编译LVS FUNNNAT 内核补丁

cd ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64
tar zxf Lvs-fullnat-synproxy.tar.gz
cp ~/lvs-fullnat-synproxy/lvs-2.6.32-220.23.1.el6.patch .
patch -p1<lvs-2.6.32-220.23.1.el6.patch
make -j16               #等待编译完成
make modules_install
make install

改GRUB   设置刚编译安装的内核为默认启动项

vim /etc/grub.conf 
default=0

重起服务器

lvs funnat 内核path 完成

real server  patch TOA

cp ~/lvs-fullnat-synproxy/toa-2.6.32-220.23.1.el6.patch .
patch -p1 <toa-2.6.32-220.23.1.el6.patch
make -j16
make modules_install
make install

安装lvs tool

cd lvs-fullnat-synproxy/
tar zxf lvs-tools.tar.gz

安装依懒包

yum install openssl-devel popt-devel -y

安装包

libcom_err-devel-1.41.12-22.el6.x86_64
libsepol-devel-2.0.41-4.el6.x86_64
libselinux-devel-2.0.94-5.8.el6.x86_64
keyutils-libs-devel-1.4-5.el6.x86_64
krb5-devel-1.10.3-42.el6.x86_64
openssl-devel-1.0.1e-42.el6.x86_64
popt-devel-1.13-7.el6.x86_64

lvs funnat管理工具ipvsadm ,必须安装

cd ~/lvs-fullnat-synproxy/tools/ipvsadm/
make && make install
ipvsadm --save > /etc/sysconfig/ipvsadm

lvs高可用工具keeplived ,如果用不到可以不安装

cd ~/lvs-fullnat-synproxy/tools/keepalived
./configure --with-kernel-dir="/lib/modules/`uname -r`/build"
make && make install
cp keepalived/etc/init.d/keepalived.init /etc/init.d/keepalived
mkdir /etc/keepalived/
cp keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf
cp keepalived/etc/init.d/keepalived.sysconfig /etc/sysconfig/keepalived

lvs高可用工具quagga,可以配置OSPF等路由协议,如果用不到可以不安装

cd ~/lvs-fullnat-synproxy/tools/quagga
./configure --disable-ripd --disable-ripngd --disable-bgpd --disable-watchquagga --disable-doc  --enable-user=root --enable-vty-group=root --enable-group=root --enable-zebra --localstatedir=/var/run/quagga --sysconfdir=/etc/quagga --prefix=/usr
make && make install

安装全部完成

配置使用LVS
三台服务器
    Real server 1:  10.10.10.51
    Real server 2:  10.10.10.52
    LVS Directory:  10.10.10.53
    VIP:            10.10.10.111
全部服务器关闭selinux 和 iptables

Real server 1

yum install httpd -y
echo "Real Server 1" > /var/www/html/index.html 
service httpd start

Real server 2

yum install httpd -y
echo "Real Server 2" > /var/www/html/index.html 
service httpd start

Director

ifconfig eth0:1 10.10.10.111/24
ipvsadm -A -t 10.10.10.111:80 -s rr 
ipvsadm -a -t 10.10.10.111:80 -r 10.10.10.51:80 -b
ipvsadm -a -t 10.10.10.111:80 -r 10.10.10.52:80 -b
ipvsadm -P -t 10.10.10.111:80 -z 10.10.10.111       #添加Local Address(可任意路由能通IP,可添加多个)

浏览器打开http://10.10.10.111,按CRTL+F5刷新,查看效果

时间: 2024-08-28 16:24:32

LVS Funnat 编译安装使用的相关文章

Apache2.2.17源码编译安装以及配置虚拟主机

WEB服务(一) 理论部分: Apache服务主要是多个服务的组合,名称来自于A Patchy Server 意思是基于原有的WEB程序的代码修改(补丁)后形成的服务器程序 1995年发布第一个版本1.0一直有Apache Group负责该项目的维护和管理1999年成立了Apache的软件基金会官方网站是http://www.apache.org/ ASF是非盈利性组织,Apache HTTP Server 就是旗下最著名的软件项目之一 跨平台应用(支持多数操作系统) 支持多字符集 Apache

Linux命令:Mysql系列之二cmake编译安装使用mysqladmin管理工具

MySQL相关概念:MySQL是单进程多线程接收应用的请求. SQL/MySQL 1.事务,隔离,并发控制,锁 2.用户和权限 3.监控 STATUS 4.索引类型:查询 VARIABLES 5.备份和恢复 6.复制功能 7.集群 DML:数据操作语言 INSERT:插入 DELETE:删除 SELECT:挑选,选择,查询 UPDATE:更新,修改 DDL:数据定义语言 CREATE:创建 DROP:删除 ALTER:修改 DCL:数据控制语言 GRANT:授权 REVOKE:取消权限 MySQ

mysql系列之三MySQL编译安装

mysql 安装: 专用软件包管理器包 deb,rpm rpm: RHEL(Oracle Linux),CentOS SUSE 通用二进制格式包 gcc:x86,x64 源代码 5.5,5.6 cmake编译 选择GA版本 mysql-client提供客户端 mysql-devel开发组建 mysql-server服务器端 mysql-shared共享库 mysql-shared-compat兼容库 mysql-test 测试组件 最后一次读取的配置优先级最高 /etc/my.cnf /etc/

MySQL与PHP的编译安装

mysQL安装: #tar xf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local #group add mysql #useradd -g mysql -s /sbin/nologin -M mysql #id mysql #cd /usr/local/mysql #chown -R mysql:mysql #script/my_install_db --help ------------------------------------------

MySQL5.5编译安装和安装后的基本配置

使用的软件cmake-2.8.8.tar.gzmysql-5.5.28.tar.gz 编译安装MySQL5.5的步骤介绍1.准备一块lvm磁盘用来存储MySQL的数据,以便后期存储空间的扩展.(可选)2.编译安装cmake环境 mysql 5.5以前的版本可以使用make进行编译安装,但是mysql5.5以后的版本需要cmake进行编译安装了redhat5 系列的版本是没有安装cmake工具的,redhat6以上的版本安装了cmake工具 3.创建MySQL的用户和组4.编译安装MySQL5.编

LVS配置与安装

IP和主机准备: 准备VIP :20.20.20.1 lvs主机 :172.24.22.70 HA主机:172.24.22.4 包准备:ipvsadm-1.24.tar.gz 1.安装前配置包  2.解压包,进入配置 tar xvf ipvsadm-1.24.tar.gz 3.创建一个软连接.编译ipvsadm .keepalived等要用内核头文件时,需要查找/usr/src/linux 4.编译 cd /root/ipvsadm-1.24 make && make install 5.

CentOS 6.9编译安装LAMP环境,并部署phpMyAdmin,使用XCache优化性能

一.使用的程序包名称及版本: httpd:2.4.29 mariadb-server:10.2.9 php:5.6.32 备注:httpd-2.4.x依赖于apr-1.4+以及apr-util-1.4+,而CentOS6.9 yum安装的apr和apr-util的版本均为1.3.9,httpd的版本为2.2.15,所以如果要在CentOS 6.9中使用httpd-2.4.x,只能重新源码编译安装 apr:Apache Portable Runtime,Apache运行时环境,可以理解为Apach

CentOS下编译安装Nginx

1.什么是Nginx Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用. 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪.网易. 腾讯,另外知名的微网志Plurk也使用

LNMP编译安装遇到问题归总

LNMP编译安装遇到问题归总 1.错误:configure: error: freetype-config not found. 解决:yum install freetype-devel 2.错误:configure: error: libevent >= 1.4.11 could not be found  解决:yum -y install libevent libevent-devel 3.错误:configure: error: Please reinstall the mysql d