CentOS 6.5 LVS + KeepAlived 记录搭建实验记录

感谢原创作者:https://blog.csdn.net/tengyuantuohai/article/details/19639671

一:实验前准工作:

1.1安装:VMware 14 (用作搭建虚拟服务器,本机系统是win7)

1.2这里我安装了1台centos6.5 ,其他4台克隆

分别对应ip:

对外主机1地址:192.168.52.138  LVS_VIP(VIP:Virtual IP)
虚拟主机1地址:192.168.52.134  LVS_Master    
虚拟主机2地址:192.168.52.135  LVS_Backup    
虚拟主机3地址:192.168.52.136  WEB1_RealServer    
虚拟主机4地址:192.168.52.137  WEB2_RealServer

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第1张图片

1.3小技巧:快速克隆

可以安装好一台,其他4台用虚拟机克隆

(1)关闭当前系统,点虚拟机--管理--克隆--下一步-虚拟机中的当前状态--创建链接克隆--自行命名和选择系统保存目录即可

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第2张图片

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第3张图片

(2)VMware 如果从win7复制进虚拟服务器复制不了,安装好VMware  Tools即可 (菜单:虚拟机-安装VMware  Tools)

(3)Centos6.5安装软件出现下面问题,是用户权限问题,切换回root用户就行了,命令:#su  ,输密码

Loaded plugins: fastestmirror, refresh-packagekit, security
You need to be root to perform this command.

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第4张图片

(4)直接在虚拟机操作命令窗口比较麻烦,我直接用SecureCRT来远程链接

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第5张图片

 

二:开始搭建

1.打开LVS_Master

(1)安装IPVSADM

#yum -y install ipvsadm

(2)光闭防火墙(方便测试)

#service iptables stop

(3)KeepAlived 的安装

#cd /usr/src
#yum -y install openssl-devel
#wget http://www.keepalived.org/software/keepalived-1.2.7.tar.gz
#wget http://mirror.centos.org/centos/6/os/x86_64/Packages/popt-static-1.13-7.el6.x86_64.rpm
#yum -y install popt-static-1.13-7.el6.x86_64.rpm
#yum -y install kernel-devel make gcc openssl-devel libnl* popt*
#ln -s /usr/src/kernels/2.6.32-220.13.1.el6.x86_64/ /usr/src/linux
#tar zxvf keepalived-1.2.7.tar.gz
#cd keepalived-1.2.7
#./configure --with-kernel-dir=/usr/src/kernels/2.6.32-358.2.1.el6.x86_64/

这步执行成功会显示下图

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第6张图片

继续

#make && make install  
#cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/  
#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/  
#mkdir /etc/keepalived  
#cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/  
#cp /usr/local/sbin/keepalived /usr/sbin/

到这里KeepAlivde应该安装成功了

(4)sysctl.conf文件

#vim /etc/sysctl.conf     

修改里面“net.ipv4.ip_forward = 1” 

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第7张图片

保存退出,刷新生效

#sysctl -p

(5)KeepAlivde的配置

#vim /etc/keepalived/keepalived.conf   (前面命令已经copy到了这里)

我的配置文件

onfiguration File for keepalived
global_defs {
        notification_email { 
                [email protected] 
        } 
        notification_email_from [email protected]
        smtp_server 127.0.0.1
        smtp_connect_timeout 30
        router_id LVS_MASTER
}
 
vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 60
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.52.138
    }
}
 
virtual_server 192.168.52.138 8080 {
    delay_loop 6
    lb_algo rr 
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP
 
    real_server 192.168.52.136 8080 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
 
    real_server 192.168.52.137 8080 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

(6)保存退出,启动keepalived

#service keepalived start

提示:Starting keepalived: [  OK  ]  证明成功了

(7)查看进程

#ps aux | grep keepalived

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第8张图片

注意有4个进程才算成功,3个是有问题的

Keepalived正常运行时,共启动3个进程,其中一个进程是父进程,负责监控其子进程;一个是vrrp子进程;另外一个是checkers子进程。

(8)查看下虚拟IP是否已经加上

#ip a

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第9张图片

主机地址:192.168.52.138   LVS_VIP(VIP:Virtual IP)已经有了,说明虚拟IP已经自动配置上了。

 


2.打开虚拟主机3地址:192.168.52.136  WEB1_RealServer

(1)先装个web服务器,这里可以自行用nginx 或tomcat,网页能正常访问即可

我这里安装tomcat

#yum -y install tomcat6 tomcat6-webapps tomcat6-admin-webapps

#service tomcat6 start

启动成功,直接访问:http://192.168.52.136:8080/ 就可以访问到tomcat页面了,为了方便区分,建个首页文件,写上自己ip

#cd /usr/share/tomcat6/webapps/ROOT/
#cat /dev/null > index.html
#vim index.html
输入:web1 192.168.52.136

保存再访问:

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第10张图片

(2)配置虚拟IP启动脚本

#vim /etc/init.d/realserver.sh

#!/bin/bash
SNS_VIP=192.168.52.138
. /etc/rc.d/init.d/functions
case "$1" in
start)
 ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
 /sbin/route add -host $SNS_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)
 ifconfig lo:0 down
 route del $SNS_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 1
esac
exit 0

(3)启动脚本

#sh /etc/init.d/realserver.sh start

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第11张图片

RealServer Start OK 才算成功

(4)验证是否和master链接上了

去LVS_MASTER服务器的终端查看下ipvsadm,查看已经连接上了WEB1服务器

#ipvsadm -ln

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第12张图片

我这里因为136,和137都启动过,所以截图会有,这里出现证明访问:http://192.168.52.138:8080/ 它会自动转发到

http://192.168.52.136:8080/ 或 http://192.168.52.137:8080/ ,可以在网页访问下

(5)异常:这里碰到一些问题:怎么访问转发就是失败

解决方案:

我碰到的是防火墙问题,把master防火墙关闭 (可能还有keepAlived版本,配置文件路径等,可能不同人碰到实际问题不同,多查资料可以参考:https://www.linuxidc.com/Linux/2015-03/114981.htm)

# service iptables stop 

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第13张图片

页面访问转发成功

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第14张图片

 

三:可以在lvs_master配置好后再克隆lvs_backup  ,

#vim /etc/keepalived/keepalived.conf

其他配置相同,不同在

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第15张图片

router_id LVS_MASTER  改成:router_id LVS_BACKUP

interface eth1:网卡,以服务器真实网卡来配置,有可能是eth0 ,eth1,eth2

priority 100 :主是100,从要改比它小,可以是99 ,我这里用90

 

四:可以在配置好web1服务器后再克隆web2....webn

(1)验证:同时开启lvs_master和lvs_backup服务,访问http://192.168.52.138:8080/ ,成功转发到web2 192.168.52.137

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第16张图片

把web2服务器关闭,看能否自动切换到web1

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第17张图片

访问http://192.168.52.138:8080/ ,自动转发到web1 192.168.52.136

CentOS 6.5 LVS + KeepAlived 记录搭建实验记录_第18张图片

同理也可以来回关闭master 和backup做验证测试

若有其他问题可以多查下日志,网上找下资料

查看日志:#tail -f /var/log/messages

你可能感兴趣的:(nginx,KeepAlived,php)