个人lvs+keepalived+nginx 高可用负载均衡笔记

关闭Linux、selinux

systemctl stop firewalld.service
systemctl disable firewalld.service

永久关闭
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效

----安装 lvs

yum install ipvsadm

-----安装 keepalived

yum install -y keepalived

--添加ifconfig-

yum whatprovides ifconfig
yum install net-tools -y

#!/bin/bash
ifconfig lo:0 192.168.7.120 broadcast 192.168.7.120 netmask 255.255.255.255 up
route add -host 192.168.7.120 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

#!/bin/bash
#
ifconfig enp0s3:0 192.168.7.120 broadcast 192.168.7.120 netmask 255.255.255.255 up #添加虚拟地址的虚接口
route add -host 192.168.7.120 dev enp0s3:0 #给ens33:0添加路由
ipvsadm -C #清除内核虚拟服务器表中的所有记录
ipvsadm -A -t 192.168.7.120:80 -s rr #创建虚拟服务器
ipvsadm -a -t 192.168.7.120:80 -r 192.168.7.140:80 -g #添加服务器节点
ipvsadm -a -t 192.168.7.120:80 -r 192.168.7.59.:80 -g #添加服务器节点
ipvsadm -Ln

-------------高可用---

vrrp_instance VI_1 {
    state MASTER              #配置主,若是从改成BACKUP
    interface eth0            #注意网卡,须是本机的网卡
    virtual_router_id 51      #id号
    priority 100              #优先级,100最高,若是从改成100以下
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.7.120        #VIP,即对外的IP,用户访问的IP。可以添加多个VIP
    }
}
                              #下面是配置VIP对应的真实服务器,也可以添加多个VIP配置
virtual_server 192.168.7.120 80 {
    delay_loop 6              #每隔多少秒keepalived监测rs的状态
    lb_algo rr               #设置分发的算法
    lb_kind DR               #设置分发的模式,这里使用DR模式演示
    persistence_timeout 0     #同一个IP连接访问在多少秒内被分发到同一个rs上,这里改成0,如果是60,那么会在60秒内一直被连接到同一个rs上。
    protocol TCP
                               #真实服务器的配置,注意IP和端口
    real_server 192.168.7.140 80 {
        weight 100            #权重
        TCP_CHECK {
        connect_timeout 10    #10秒无响应超时
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
    }
 }
                              #第二台rs服务器
    real_server 192.168.7.59 80 {
        weight 100
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
    }
 }
}

个人笔记如果有问题欢迎留言交流

标签: none

添加新评论