千家信息网

centos6.8 x64安装keepalived-1.3.5+lvs

发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,CentOS release 6.8 x64 (Final)2.6.32-642.4.2.el6.x86_64 安装keepalived-1.3.5+lvs============一、环境安装:===
千家信息网最后更新 2024年11月30日centos6.8 x64安装keepalived-1.3.5+lvs


CentOS release 6.8 x64 (Final)2.6.32-642.4.2.el6.x86_64 安装keepalived-1.3.5+lvs

============

一、环境安装:

============

1.依赖安装

yum install -y openssl-devel libnl3-devel ipset-devel iptables-devel libnfnetlink-devel popt*    增加软连接   ln -s /usr/src/kernels/`uname -r` /usr/src/linux

2.5台机器IP设置

LVS1: 172.16.0.100

LVS2: 172.16.0.101

VIP: 172.16.0.150

WEB: 172.16.0.102

WEB2:172.16.0.103

web3:172.16.0.104(windows客户端IIS)

3.关闭selinux

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

4.关闭iptables,如果不关的话,需更具情况增加开放端口。

   #iptables -I INPUT -p tcp --dport 80 -j ACCEPT   #iptables -I INPUT -p icmp -j ACCEPT   #service iptables save

二、安装步骤(在LVS1.LVS2上安装):

============

1)安装lvs管理工具

  1.tar zxvf ipvsadm-1.26.tar.gz   2.cd ipvsadm-1.26  3.'make'  4.'make install'  5.#ipvsadm  6.lsmod | grep ip_vs

2)安装keepalived软件

  1. tar zxvf keepalived-1.3.5.tar.gz   2. cd ikeepalived-1.3.5  3. ./configure --prefix=/usr/local/keepalived --with-init=SYSV     #注:(upstart|systemd|SYSV|SUSE|openrc)   #根据系统选择对应的启动方式  4. 'make'  5. 'make install'.

6.配置keepalived文件的路径

     cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/     cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/     mkdir /etc/keepalived     cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/     cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

7.配置文件(vim /etc/keepalived/keepalived.conf)

#这里是全局定义部分

global_defs {   notification_email {    root@local   #设置报警邮件单个或多个地址     }   notification_email_from server@local #邮件的发送地址   smtp_server 127.0.0.1 #smtp 地址   smtp_connect_timeout 30 #连接smtp服务器超时的实际   router_id LVS_ONE   #路由ID两台机器不能相同。LVS2更改为不同  vrrp_skip_check_adv_addr    # vrrp_strict  #严格执行VRRP协议规范,此模式不支持节点单播.    #且重启keepalived服务,会自动启动iptables,原计划打算关闭iptables,    #但测试发现,多次(通过命令service iptables stop且chkconfig iptables off,)    #将iptables关闭后,但启动或重启keepalived服务后,自动又启动起来iptables,    #且自加了一条把VIP地址DROP掉的规则。导致VIP查不到,ping不通.默认安装时自带配置    #含有此选项。所以建议禁用此选项。    vrrp_garp_interval 0    vrrp_gna_interval 0            }#vrrp 实例定义部分vrrp_instance VI_1 {    state MASTER  #keepalived 的角色 MASTER 表示主服务器。LVS2更改为:BACKUP    interface eth0 #指定监测网卡    virtual_router_id 51 #虚拟路由标示,相同实例,需相同标示。    priority 150 #优先级 数字越大 优先级越高 MASTER的优先级高于BACKUP优先级(如master 150,backup 100)    advert_int 1 #设定主备之间检查时间 单位s    authentication {  #设定验证类型和密码        auth_type PASS        auth_pass 1111    }    virtual_ipaddress { #设定虚拟IP地址 可以设置多个 每行一个       172.16.0.150/24 brd 172.16.0.255 dev eth0 label eth0:0     }}#虚拟服务器部分virtual_server 172.16.0.150 80 {    delay_loop 6 #设定运行情况检查时间 单位s    lb_algo rr #负载调度算法 rr即轮叫算法    lb_kind DR #设置LVS负载机制 NAT TUN DR 三种模式可选    persistence_timeout 0  #会话时间                            #会话保持在某个服务节点                            #用户在动态页面50s内没有任何动作,那么后面就会被分发到其他节点                            #用户一直动作,不受50s限制    protocol TCP  #使用协议    #以下为real_server部分    real_server 172.16.0.102 80 {        weight 1  #服务节点权值,数字越大,权值越高                  #权值的大小可以为不同性能的服务器分配不同的负载                  #这样才能有效合理的利用服务器资源        TCP_CHECK {  #状态检查部分              connect_timeout 3 #3s无响应超时                                                               nb_get_retry 3  #重试次数          delay_before_retry 3   #重试间隔          connect_port 80 #连接端口                                                            }      }    real_server 172.16.0.103 80 {        weight 1          TCP_CHECK {            connect_timeout 3                                                            nb_get_retry 3            delay_before_retry 3             connect_port 80                                                         }      }     real_server 172.16.0.104 80 {        weight 1          TCP_CHECK {               connect_timeout 3                                                             nb_get_retry 3            delay_before_retry 3             connect_port 80                                                             }      }}

三、客户端设置(web1,web2配置)

1.增加启动关闭脚本,并chmod执行权限

 #!/bin/bash  #   # Script to start LVS DR real server.   # description: LVS DR real server   #   .  /etc/rc.d/init.d/functionsVIP=172.16.0.150 #修改相应的VIP  host=`/bin/hostname`case "$1" in  start)          # 启动 LVS-DR 模式,real server on this machine. 关闭ARP冲突检测。        /sbin/ifconfig lo down           /sbin/ifconfig lo up           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        /sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up          /sbin/route add -host $VIP dev lo:0;;  stop)        #停止LVS-DR real server loopback device(s).          /sbin/ifconfig lo:0 down           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;;  status)        # Status of LVS-DR real server.          islothere=`/sbin/ifconfig lo:0 | grep $VIP`           isrothere=`netstat -rn | grep "lo:0" | grep $VIP`           if [ ! "$islothere" -o ! "isrothere" ];then               # Either the route or the lo:0 device               # not found.               echo "LVS-DR real server Stopped!"           else               echo "LVS-DR real server Running..."           fi   ;;   *)               # Invalid entry.               echo "$0: Usage: $0 {start|status|stop}"               exit 1   ;;   esac

2.增加web http服务,使用80端口可以打开网站。

3.测试服务器相互之间是否可以PING通。

4.windows客户端增加VIP事项(web3机器):

win2003地址设置方法:控制面板->添加硬件->添加新的硬件->手动安装硬件-》网络适配器

重命名为VIP,增加IP地址172.16.0.104,掩码255.255.255.0

打开regedit,编辑:subnetMask为255.255.255.255

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces

Win2008地址设置方法:控制面板-硬件和打印机->新增硬件

找到新增的环回连接,重命名为VIP, 右键VIP连接属性,开始设置TCP/IP

172.16.0.104 255.255.255.255.255 保存

运行CMD执行:

    netsh interface ipv4 set interface "VIP" weakhostreceive=enabled    netsh interface ipv4 set interface "VIP" weakhostsend=enabled    netsh interface ipv4 set interface "LAN" weakhostreceive=enabled    netsh interface ipv4 set interface "LAN" weakhostsend=enabled


四、测试检查keepalived+lvs问题

1、 查看系统日志 /var/log/messages

2、 检查负载均衡器的网络连通状况(ping命令或arping)。

3、 检查 keepalived 的运行情况。ps -aux | grep keepalived查看是否进程启动。lsmod | grep ip_vs,检查ipvs 模块是否被加载到系统的内核,vip 是否被绑定到网络接口,ipvsadm 是否有输出。

4、 检查 keepalived 的配置文件书写是否正确。

5、 检查负载均衡器是否启用防火墙规则。

6、 realserver的web是否正常

推荐文档:http://www.keepalived.org/pdf/sery-lvs-cluster.pdf


0