博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lvs + keepalived + httpd 高可用集群(转)
阅读量:7294 次
发布时间:2019-06-30

本文共 3824 字,大约阅读时间需要 12 分钟。

实验信息和拓扑:

备注:Centos 6.5 selinux –disabled iptables off

ServerName Ipaddress information
LVSMaster 172.16.100.10/24
LVSBackup 172.16.100.11/24
VIP 172.16100.200/24
RealServer1 172.16.100.100/24
RealServer2 172.16.100.101/24

  1. 配置lvs Master & lvs Backup

# yum install popt popt-devel popt-static libnl-devel libnl–y

# mkdir -p mkdir /usr/local/src/lvs

# cd /usr/local/src/lvs/

安装ipvsadm

# wget 

# tar zxvf ipvsadm-1.26.tar.gz

# make && make install && echo"install LVS ok"

安装keepalived

# wget 

# tar zxvf keepalived-1.2.13.tar.gz

# cd keepalived-1.2.13

# ./configure && make && make install && echo "installkeepalived ok" || echo "install keepalived is failed"

配置keepalived为启动脚本:

# cp /usr/local/etc/rc.d/init.d/keepalived  /etc/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/

LVS Backup 配置同上

Master keepalived.conf配置文件:

!Configuration File for keepalived 

global_defs{ 

   notification_email { 

         mengtao10@163.com 

   } 

   notification_email_from mengtao10@163.com

   smtp_server 127.0.0.1 

   router_id LVS_DEVEL 

vrrp_instanceVI_1 { 

    state MASTER              

    interface eth0 

    virtual_router_id 51 

    priority 100     

    advert_int 1 

    authentication { 

        auth_type PASS 

        auth_pass 1q2w3e4r5t6y 

    } 

    virtual_ipaddress { 

        172.16.100.200  

    } 

virtual_server172.16.100.200 80 { 

    delay_loop 6                   

    lb_algo wrr                   

    lb_kind DR                   

    persistence_timeout 60         

    protocol TCP                 

    real_server 172.16.100.100 80 { 

        weight 3                

        TCP_CHECK { 

        connect_timeout 10        

        nb_get_retry 3 

        delay_before_retry 3 

        connect_port 80 

        } 

    } 

    real_server 172.16.100.101 80 { 

        weight 3 

        TCP_CHECK { 

        connect_timeout 10 

        nb_get_retry 3 

        delay_before_retry 3 

        connect_port 80 

        } 

     } 

}

Lvs Backup配置文件:

 ! Configuration File for keepalived 

global_defs{ 

   notification_email { 

         mengtao10@163.com 

   } 

   notification_email_from mengtao10@163.com

   smtp_server 127.0.0.1 

   router_id LVS_DEVEL 

vrrp_instanceVI_1 { 

    state BACKUP              

    interface eth0 

    virtual_router_id 51 

    priority 99     

    advert_int 1 

    authentication { 

        auth_type PASS 

        auth_pass 1q2w3e4r5t6y 

    } 

    virtual_ipaddress { 

        172.16.100.200  

    } 

virtual_server172.16.100.200 80 { 

    delay_loop 6                   

    lb_algo wrr                   

    lb_kind DR                   

    persistence_timeout 60         

    protocol TCP                 

    real_server 172.16.100.100 80 { 

        weight 3                

        TCP_CHECK { 

        connect_timeout 10        

        nb_get_retry 3 

        delay_before_retry 3 

        connect_port 80 

        } 

    } 

    real_server 172.16.100.101 80 { 

        weight 3 

        TCP_CHECK { 

        connect_timeout 10 

        nb_get_retry 3 

        delay_before_retry 3 

        connect_port 80 

        } 

     } 

}

两台realserver配置脚本如下:

 

#!/bin/bash

#

# Script to start LVS DR real server.

# description: LVS DR real server

#

. /etc/rc.d/init.d/functions

 

VIP=172.16.100.200

host=`/bin/hostname`

 

case "$1" in

start)

     # Start LVS-DR real server on this machine.

      /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)

 

      # 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

 

# sh realserver.sh  start

 

  1. 访问验证:

    1.任意关闭一台web服务器,服务都可以正常访问

    2.任意关闭一台lvs,服务都可以正常访问

 

本文出自 “” 博客,请务必保留此出处

转载于:https://www.cnblogs.com/fatt/p/4424620.html

你可能感兴趣的文章
线程池的概述和使用学习笔记
查看>>
oracle基础之日志系列
查看>>
【NetApp】移动磁盘柜到一个新的控制器
查看>>
实在太伟大了,感谢楼主共享深度爬取和广度爬取
查看>>
crontab调用python时出现ImportError: No module named XXX的问题
查看>>
方正智睿NoSQL数据库总体介绍
查看>>
CentOS6.9安装Redis4.0.0
查看>>
Android 监听事件
查看>>
基于CentOS6.5环境之下的LNMP之编译安装mysql5.6.27
查看>>
《系统运维全面解析:技术、管理与实践》纠错汇总
查看>>
Object类对线程的支持----等待与唤醒
查看>>
硬盘串口和并口的区别
查看>>
java multithreading server example
查看>>
自动分发神器搭建kickstart
查看>>
我的友情链接
查看>>
mysql主从复制,半同步,主主复制架构的实现
查看>>
keepalived通过vrr_script实现高可用性案例分析
查看>>
寓言四则
查看>>
让那些设计师在没有斗志的时候读读
查看>>
SQLServer2008 数据库 开启 远程 连接 设置
查看>>