Centos 安装LVS(dr)

来源:互联网 发布:linux安装vnc黑屏 编辑:程序博客网 时间:2024/05/23 22:42

配置LVS(dr)浪费了不少时间!对Linux安装一个软件需要各种依赖包,出错却又无法解决比较痛苦

现在终于搞定了,说下步骤:

1:参考这边文章,http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html  但这篇文章讲的是LVS(NAT) ,网上看到这种模式不是很多人用,主要是估计性能不太好,一般都用LVS(DR)

但有些步骤还是差不多的。

系统平台:CentOS 6.3

Kernel:2.6.32-279.el6.i686    

LVS版本:ipvsadm-1.26

keepalived版本:keepalived-1.2.4

系统平台下面这个kernel 是通过命令 uname -r 获取 在下面安装会有用

2:安装软件

   安装LVS前系统需要安装popt-static,kernel-devel,make,gcc,openssl-devel,lftp,libnl*,popt*

这么多都需要安装  可以直接通过命令 yum -y install popt-static kernel-devel  make  gcc  openssl-devel lftp  libnl*   popt*

一下就可以安装这么多了,参考链接:http://www.oschina.net/code/snippet_54100_10351    如果怕还缺什么依赖包 ,直接把链接页面提到的

yum groupinstall "Development Tools"  执行这个   

     说下这个地方,一定要按照第一个链接页面的步骤执行下去,否则在make&&make install 这个地方报错,如果报错,说明没有按照顺序来,就照着顺序重试下就可以了。ln -s /usr/src/kernels/2.6.32-279.el6.i686//usr/src/linux/     这里面的2.6.32-279.el6.i686就是上面的通过uname -r 获取的。

按照第一个链接一直安装到 开启路由转发 开启路由转发好像对LVS(DR)没有多大用,这个功能是针对LVS(NAT)起作用的。

  在配置keepalived的时候,就要参考这个链接:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html

我是通过直接复制配置的,把虚拟IP和真实IP改下就可以了。端口号都要一致。比如都是80端口。

然后再真实机上面配置Apache,真实机是Linux(centos or ubutu) ,使用window做真实机出了问题,通过LVS访问不到window,我估计在window需要配置什么才能运行,但我没找到什么好的资料。如果在真实机上面配置好Apache后,默认就开了80端口,可以直接ip访问就可以看到页面了。

   如果这个时候在LVS机器上运行

   # service keepalived restart

   # ipvsadm

   

   如果能显示你配置的真实机IP地址,说明成功了一半。

   然后就是测试访问虚拟IP 看能不能跳转到真实机的页面上去。我就是卡在这个地方,页面不跳转。ping 虚拟IP是可以ping通的。

   如果你也是不能跳转页面就要注意一下注意点:

    1:真实机防火墙需要关掉  centos 是 service iptables stop 

    2:还需要执行一段下面的文件

#!/bin/bash#description: Config realserverVIP=192.168.1.61 /etc/rc.d/init.d/functions case "$1" instart)       /sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP       /sbin/route add -host $VIP dev lo:0       echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore       echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce       echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore       echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce       sysctl -p >/dev/null 2>&1       echo "RealServer Start OK"       ;;stop)       /sbin/ifconfig lo:0 down       /sbin/route del $VIP >/dev/null 2>&1       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore       echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce       echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore       echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce       echo "RealServer Stoped"       ;;*)       echo "Usage: $0 {start|stop}"       exit 1esac exit 0

这个在提到的第三个链接页面也有说道执行方式。把上面的内容保存为realserver.sh 文件

# sh realserver.sh start

我执行的时候报了个错,只要他显示realserver start ok就可以了

把上面两步骤执行完在访问虚拟IP就可以跳转页面了。


 注意:后来发现改真实机的IP的时候,居然不能显示真实机的IP,发现能显示真实机的IP有个共同点就是装了Apache   直接访问IP就可以看到一个页面

是因为Apache开启开放了80端口,所以机器的80端口要开放。