LVS - FULLNAT内核编译方法
2016-06-23 14:24
561 查看
LVS - FULLNAT内核编译方法 Fullnat其实也就是nat类似原理,只是需要在调度器DR上进行进行源目地址转发,首先介绍一下,CIP:客户端请求ip,DIP:调度器端的ip,RIP:提供服务的真实主机的ip,由于DIP和RIP之间可以经过路由转换,所以后端提供服务的real-server可以进行无限扩展,再通过调度器对后端服务的调用,可以完美解决负载均衡,但是存在单点故障,因此还需要结合类似:heartbeat,keepalived,pacemaker,以及红帽rhcs套件来解决单点故障。这样系统就非常健壮了,言归正传,当客户端请求报文到达源目IP分别为CIP和VIP。达到调度器DR后,经过ipvs通过算法调度后台的真机real-server,但是由于DIP和RIP并不在同一个网段,所以IPVS会将请求的报文源目IP分别改为DIP和RIP,RS收到报文后,就会将相应报文发给DR,DR通过内部追踪nat表后,在将响应的报文源目IP分别改为VIP和CIP,于是响应的报文就发给了客户端client,这种对源目IP均做修改的LVS类型就称为FULNAT模式。
首先下载阿里的修改过后的内核:准备材料:asciidoc-8.4.5-4.1.el6.noarch.rpm kernel-2.6.32-220.23.1.el6.src.rpm newt-devel-0.52.11-3.el6.x86_64.rpmslang-devel-2.2.1-1.el6.x86_64.rpmLvs-fullnat-synproxy.tar.gz #yum provides */rngd #查找rgnd这个命令的安装包#yum install -y rng-tools-2-13.el6_2.x86_64 安装查找的rgn命令的#rngd -r /dev/urandom :加快对内核的安装进行磁盘拉伸 +20G #pvcreate /dev/vdb #vgextend VolGroup /dev/vdb #lvextend -L +27G /dev/VolGroup/lv_root #resize2fs /dev/VolGroup/lv_root ##进行正式修改内核;# rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm #安装内核安装包#yum install -y rpm-build #安装rpm-build工具#cd /RPM/rpmbuild/SPECS/ #rpmbuild -bp kerbel.spec #rpmbuild编译kernel.spec文件#然后解决各种依赖性,注意倒数第二个改为perl-ExtUtils-Embed##yum install -y asciidoc-8.4.5-4.1.el6.noarch.rpm newt-devel-0.52.11-3.el6.x86_64.rpmslang-devel-2.2.1-1.el6.x86_64.rpm #解决各种依赖性 # rpmbuild -bp kernel.spec #在另外一个客户端登陆执行:#rngd -r /dev/urandom 速度会马上安装好。 #进入kernel-2.6.32.-220.23.1.el6目录里;#lftp 获得 Lvs-fullnat-synproxy.tar.gz文件 :解压该文件,获得内核的补丁#tar zxf Lvs-fullnat-synproxy.tar.gz#cd lvs-fullnat-synproxy#cp lvs-2.6.32--220.23.1.el6.patch ../linux-2.6.32-220.23.1.el6.x86_64/#yum install -y patch#cd ../linux-2.6.32-220.23.1.el6.x86_64/#patch -p1 < lvs-2.6.32--220.23.1.el6.patch #打补丁打入到内核#vim .config CONFIG_IP_VS_TAB_BITS=22 修改为22位#vim Makefile:添加延伸延伸版本号 EXTRAVERTION = -220.23.1.el6#make -j2 :编译内核,#make modules_install :安装模块#make install :安装内核#vim /etc/grub.conf :修改启动项。10行 default=0 ##使之重起更换内核。使用刚才修改过后的内核。 如果需要获取客户端的ip时,则也需要更改real-server的内核,对real-server的内核进行打toa补丁,动态加载toa模块,从而使得realserver可以获得客户端的ip地址 -i :TUN模式-b :FULLNAT模式-m :NAT模式-g :DR模式 VS上安装ipvsadm工具,使其支持fullnat 也就是-b模式。#安装ipvsadm工具,使得它支持fullnat模式,#cd rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/lvs-fullnat-synproxy/#cp lvs-tools.tar.gz ~#tar zxf lvs-tools.tar.gz#keepalived的编译。#cd keepalived/#yum install -y openssl-devel #yum install -y popt-devel :解决安装ipvsadm的依赖性问题。#./configure --with-kernel-dir="/lib/modules/`uname -r`/build"#make ---> make install Ipvsadm编译#cd ipvsadm/#make --> #make install#ipvsadm --help :查看是否有fullnat模式支持。如果有支持fullnat模式的,这说明从新安装的ipvsadm可用。注意:必须要先编译安装keepalived过后,才能安装ipvsadm命令。
首先下载阿里的修改过后的内核:准备材料:asciidoc-8.4.5-4.1.el6.noarch.rpm kernel-2.6.32-220.23.1.el6.src.rpm newt-devel-0.52.11-3.el6.x86_64.rpmslang-devel-2.2.1-1.el6.x86_64.rpmLvs-fullnat-synproxy.tar.gz #yum provides */rngd #查找rgnd这个命令的安装包#yum install -y rng-tools-2-13.el6_2.x86_64 安装查找的rgn命令的#rngd -r /dev/urandom :加快对内核的安装进行磁盘拉伸 +20G #pvcreate /dev/vdb #vgextend VolGroup /dev/vdb #lvextend -L +27G /dev/VolGroup/lv_root #resize2fs /dev/VolGroup/lv_root ##进行正式修改内核;# rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm #安装内核安装包#yum install -y rpm-build #安装rpm-build工具#cd /RPM/rpmbuild/SPECS/ #rpmbuild -bp kerbel.spec #rpmbuild编译kernel.spec文件#然后解决各种依赖性,注意倒数第二个改为perl-ExtUtils-Embed##yum install -y asciidoc-8.4.5-4.1.el6.noarch.rpm newt-devel-0.52.11-3.el6.x86_64.rpmslang-devel-2.2.1-1.el6.x86_64.rpm #解决各种依赖性 # rpmbuild -bp kernel.spec #在另外一个客户端登陆执行:#rngd -r /dev/urandom 速度会马上安装好。 #进入kernel-2.6.32.-220.23.1.el6目录里;#lftp 获得 Lvs-fullnat-synproxy.tar.gz文件 :解压该文件,获得内核的补丁#tar zxf Lvs-fullnat-synproxy.tar.gz#cd lvs-fullnat-synproxy#cp lvs-2.6.32--220.23.1.el6.patch ../linux-2.6.32-220.23.1.el6.x86_64/#yum install -y patch#cd ../linux-2.6.32-220.23.1.el6.x86_64/#patch -p1 < lvs-2.6.32--220.23.1.el6.patch #打补丁打入到内核#vim .config CONFIG_IP_VS_TAB_BITS=22 修改为22位#vim Makefile:添加延伸延伸版本号 EXTRAVERTION = -220.23.1.el6#make -j2 :编译内核,#make modules_install :安装模块#make install :安装内核#vim /etc/grub.conf :修改启动项。10行 default=0 ##使之重起更换内核。使用刚才修改过后的内核。 如果需要获取客户端的ip时,则也需要更改real-server的内核,对real-server的内核进行打toa补丁,动态加载toa模块,从而使得realserver可以获得客户端的ip地址 -i :TUN模式-b :FULLNAT模式-m :NAT模式-g :DR模式 VS上安装ipvsadm工具,使其支持fullnat 也就是-b模式。#安装ipvsadm工具,使得它支持fullnat模式,#cd rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/lvs-fullnat-synproxy/#cp lvs-tools.tar.gz ~#tar zxf lvs-tools.tar.gz#keepalived的编译。#cd keepalived/#yum install -y openssl-devel #yum install -y popt-devel :解决安装ipvsadm的依赖性问题。#./configure --with-kernel-dir="/lib/modules/`uname -r`/build"#make ---> make install Ipvsadm编译#cd ipvsadm/#make --> #make install#ipvsadm --help :查看是否有fullnat模式支持。如果有支持fullnat模式的,这说明从新安装的ipvsadm可用。注意:必须要先编译安装keepalived过后,才能安装ipvsadm命令。
相关文章推荐
- 负载均衡技术沙龙1期(关于咱的图片)
- 负载均衡沙龙活动第二期现场问答汇集
- 流量引导:网络世界的负载均衡解密
- 流量引导:网络世界的负载均衡解密
- 浅谈sqlserver的负载均衡问题
- asp.net实现负载均衡
- PHP开发负载均衡指南
- Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案
- LVS+Keepalived构建高可用负载均衡(测试篇)
- 简单测试Apache是如何完成负载均衡策略配置
- Apache负载均衡设置方法 mod_proxy使用介绍
- LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)
- linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结
- Shell脚本实现把进程负载均衡到多核CPU中
- tomcat6_apache2.2_ajp 负载均衡加集群实战分享
- [Oracle] RAC 之 - 负载均衡深入解析
- windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法
- haproxy+keepalived实现高可用负载均衡(理论篇)
- 高并发业务接口开发思路(实战) 推荐