文档需要---记一次keepalived 测试

LVS+Keepalived

image.png

实验环境:

1.Win10下的VMware 的虚拟机

2.网络链接模式:桥接

3.系统:centos7最小化安装

4.nginx服务也是设置在lvs上

基础准备工作:

1) 绑定静态IP地址/设定主机名 重启服务后ping下百度以及下面看是否通了

192.168.1.232 lvs-master

192.168.1.231 lvs-slave

2) IP地址与主机名的绑定 /etc/hosts

3) 关闭防火墙 service iptables stop(有就关)

配置两台Web服务器

  1. 安装nginx

快速安装方式:登陆官网http://nginx.org/en/linux_packages.html#stable

image.png

Vim /etc/yum.repos.d/nginx.repo

[nginx]

name=nginx repo

baseurl=http://nginx.org/packages/centos/7/$basearch/

gpgcheck=0

enabled=1

保存后 yum install nginx 即可。

启动服务:nginx -c 到配置文件 这里 nginx –c /etc/nginx/nginx.conf

即可看到:为了区别两台nginx 可在html下的index 进行修改

image.png

设置VIP

1、 分别在backup lvs和master lvs上安装lvs

2、

安装方式1:直接yum install ipvsadm

安装方式 2:源码包安装

  1. wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz

安装依赖:yum groupinstall 'Development tools' -y

yum install libnl* popt* -y

解压tar包

Make make install 就好了

3.安装好ipvsadm后

①进入指定文件夹:cd /etc/init.d/

②编辑脚本文件:vim realserver.sh


SNS_VIP=192.168.1.230

/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

这里我们设置vip为1.230

chmod 755 realserver 修改权限后 我们执行改脚本即可。

/这个脚本之前需要 安装下ifconfig 不然无法使用 yum install net-tools 最小化安装无ifconfig。

配置主负载服务器

(1) 安装Keepalived相关包:yum install -y keepalived 源码包安装同上

(2) 编辑keepalived.conf配置文件

①进入keepalived.conf所在目录:cd /etc/keepalived


global_defs {

   notification_email {

         [email protected]

   }

   notification_email_from [email protected]

   smtp_server 192.168.80.1

   smtp_connection_timeout 30

   router_id LVS_DEVEL  # 设置lvs的id,在一个网络内应该是唯一的

}

vrrp_instance VI_1 {

    state MASTER   #指定Keepalived的角色,MASTER为主,BACKUP为备

    interface eno16777736  #这个是出口网卡与外网相连的网卡一致。 

    virtual_router_id 51  #虚拟路由编号,主备要一致

    priority 100  #定义优先级,数字越大,优先级越高,主DR必须大于备用DR

    advert_int 1  #检查间隔,默认为1s

    authentication {

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {

        192.168.1.230  #定义虚拟IP(VIP)为192.168.2.33,可多设,每行一个

    }

}

# 定义对外提供服务的LVS的VIP以及port

virtual_server 192.168.1.230 80 {

    delay_loop 6 # 设置健康检查时间,单位是秒

    lb_algo wrr # 设置负载调度

    lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式

    nat_mask 255.255.255.0

    persistence_timeout 0

    protocol TCP

    real_server 192.168.1.232 80 {  # 指定real server1的IP地址

        weight 3   # 配置节点权值,数字越大权重越高

        TCP_CHECK {

        connect_timeout 10

        nb_get_retry 3

        delay_before_retry 3

        connect_port 80

        }

    }

    real_server 192.168.1.231 80 {  # 指定real server2的IP地址

        weight 3  # 配置节点权值,数字越大权重越高

        TCP_CHECK {

        connect_timeout 10

        nb_get_retry 3

        delay_before_retry 3

        connect_port 80

        }

     }

}

启动keepalived:service keepalived start

配置完成后:ip a 虚拟ip必须在你对外网卡上才算成功。

image.png

配置从负载服务器:

从负载服务器与主负载服务器大致相同,只是在keepalived的配置文件中需要改以下两处:

(1)将state由MASTER改为BACKUP

(2)将priority由100改为99

查看进程是否完全启动:

image.png

即可得到:

image.png
image.png

你可能感兴趣的:(文档需要---记一次keepalived 测试)