设为首页 收藏本站
查看: 2477|回复: 2

[经验分享] LVS fullnat安装

[复制链接]

尚未签到

发表于 2019-1-2 12:09:21 | 显示全部楼层 |阅读模式
  阿里巴巴开源LVS fullnat  (内核要求2.6.32)
  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
  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-658635-1-1.html 上篇帖子: 配置Linux—LVS (DR) 下篇帖子: lvs小实验
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表