LVSfullnat安装-创新互联

阿里巴巴开源LVS fullnat  (内核要求2.6.32)

创新互联长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为简阳企业提供专业的网站建设、成都网站设计,简阳网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

1、下载 fullnat LVS源码

wget https://github.com/alibaba/LVS/tree/lvs_v2              #版本2,建议使用这个版本

wget https://github.com/alibaba/LVS/archive/master.zip

unzip aster.zip;  #解压下载的源码,主要有以下文件目录,其中 kernel目录是内核源码,tools里有ipvsadm 、keepalived、quagga(可以使用Quagga将linux机器打造成一台功能完备的路由器)、rpm

AUTHORS  CHANGES  docs  kernel  README.md  tools

2、内核编译&安装

cd  /usr/local/src/LVS-lvs_v2/kernel

请先安装好 perl perl-devel popt popt-devel libnl libnl-devel libssl libssl-devel openssl openssl-devel popt-static yum -y install ncurses ncurses-devel

去 掉 udev,udev的编译要求比较严格,容易在启动时报udev: missing sysfs features; please update the kernel or disable the kernel's CONFIG_SYSFS_DEPRECATED option;出现这个错问题也不大

vi .config

CONFIG_SYSFS_DEPRECATED=n

CONFIG_SYSFS_DEPRECATED_V2=n

mkdir -p /usr/src/kernels/2.6.32

make O=/usr/src/kernels/2.6.32 menuconfig;  #选择模块需要编译的,exit退出,选择 YES保存

make mrproper

make O=/usr/src/kernels/2.6.32

make O=/usr/src/kernels/2.6.32 modules_install install

make时遇错

/bin/sh: perl: command not found

make[2]: *** [scripts/mod/empty.o] Error 127

make[1]: *** [scripts/mod] Error 2

make: *** [scripts] Error 2

解决:yum -y perl perl-devel

make install遇错

WARNING: Couldn't open directory /lib/modules/2.6.32: No such file or directory

解决:ln -s /lib/modules/`uname -r` /lib/modules/2.6.32

问题:make install时报

sh /usr/local/src/LVS-lvs_v2/kernel/arch/x86/boot/install.sh 2.6.32 arch/x86/boot/bzImage \

        System.map "/boot"

ERROR: modinfo: could not find module sd_mod

ERROR: modinfo: could not find module crc_t10dif

解答:这是因为现在运行的kernel有这些模块,而新编译的内核没有这些模块。如果不需要可直接忽视,如果需要编译到新的内核中,请修改 .config的相关参数为=m

使用新编译的内核vi /boot/grub/grub.conf 修改

default=0

reboot 重启系统,uname -r查看到的版本应该是2.6.32

3、安装keepalived

要求先安装好 openssl openssl-devel popt-static

cd  /usr/local/src/master/tools/keepalived/

./configure --prefix=/usr/local/keepalived --with-kernel-dir=/usr/local/src/LVS-lvs_v2/kernel;

make;

最终结果:

Keepalived configuration

------------------------

Keepalived version    : 1.2.2

Compiler         : gcc

Compiler flags      : -g -O2

Extra Lib         : -lpopt -lssl -lcrypto  -lnl

Use IPVS Framework    : Yes

IPVS sync daemon support : Yes

IPVS use libnl      : Yes

Use VRRP Framework    : Yes

Use Debug flags      : No

make install;

默认路径: /usr/local

配置文件: /usr/local/etc/keepalived/keepalived.conf

自动启动脚本模板: /usr/local/etc/rc.d/init.d/keepalived

复制安装目录下的 /usr/local/keepalived/etc/rc.d/init.d/keepalived 复制到 /etc/init.d/

把/etc/init.d/keepalived  文件中

. /etc/sysconfig/keepalived 改为

. /usr/local/keepalived/etc/sysconfig/keepalived

keepalived启动时报 Starting keepalived: /bin/bash: keepalived: command not found

解决方法:  ln -s prefix/sbin/keepalived /usr/sbin/

4、安装ipvsadm

依赖 libnl libnl-devel  libssl-devel libssl

cd /usr/local/src/LVS-lvs_v2/tools/ipvsadm/

make;

make install;

make遇错

gcc -Wall -Wunused -Wstrict-prototypes -g -o ipvsadm ipvsadm.o config_stream.o dynamic_array.o ../keepalived/keepalived/libipvs-2.6/libipvs.a -lpopt  -lnl

/usr/bin/ld: cannot find -lnl

collect2: ld returned 1 exit status

make: *** [ipvsadm] Error 1

解决:yum -y install libnl libnl-devel  libssl-devel libssl

5、安装quagga

cd /usr/local/src/LVS-lvs_v2/tools/quagga

./configure --prefix=/usr/local/quagga

make;

make install;

接下来的配置请参照 LVS操作手册

查看IPVS详情

查看 /proc/net目录下的

ip_vs           ip_vs_app       ip_vs_conn      ip_vs_conn_sync ip_vs_ext_stats ip_vs_stats

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:LVSfullnat安装-创新互联
文章起源:http://hbruida.cn/article/ceogsc.html