LVS+Keepalived

1. 服务器配置及网络设置

lvs服务器
lvs01
ens33. 10.0.2.10/24
ens33:0 10.0.2.100/32

lvs02
ens33 10.0.2.11/24
ens33:0 10.0.2.100/32
LVS服务器开启路由转发
web1
ens33 10.0.2.20/24
lo:0 10.0.2.100/32

web2
ens33 10.0.2.21/24
lo:0 10.0.2.100/32
Web服务器关闭arp

2.配置LVS服务器

LVS01

hostnamectl set-hostname LVS01
网卡配置ens33 10.0.17.20/24 10.0.17.200/32


yum install -y keepalived.x86_64
systemctl enable keepalived.service
yum install -y ipvsadm.x86_64
ipvsadm -C
vi /etc/sysctl.conf  #添加一行
net.ipv4.ip_forward = 1
sysctl -p


vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   router_id LVS_01
   vrrp iptables
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.17.200 80
    }
}


virtual_server 10.0.17.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP


    real_server 10.0.17.20 80{
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

    real_server 10.0.17.21 80{
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

systemctl enable keepalived

systemctl start keepalived.service

ipvsadm -Ln

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.17.200:80 rr
  -> 10.0.17.20:80                Route   1      0          0
  -> 10.0.17.21:80                Route   1      0          0

LVS02

hostnamectl set-hostname LVS02
网卡配置ens33 10.0.17.20/24 10.0.17.200/32
yum install -y keepalived.x86_64
systemctl enable keepalived.service
yum install -y ipvsadm.x86_64
ipvsadm -C
vi /etc/sysctl.conf  #添加一行
net.ipv4.ip_forward = 1
sysctl -p


vi /etc/keepalived/keepalived.conf

global_defs {
   router_id LVS_02
   vrrp iptables
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.17.200 80
    }
}


virtual_server 10.0.17.200 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP


    real_server 10.0.17.20 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }

    real_server 10.0.17.21 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

systemctl enable keepalived

systemctl restart keepalived.service

ipvsadm -Ln

web01

网卡配置
ens33:10.0.17.20/24
ifcfg-lo:0  10.0.17.200/32
vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.17.200
NETMASK=255.255.255.255
NETWORK=10.0.17.200
BROADCAST=10.0.17.200
ONBOOT=yes
NAME=loopback


vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2

yum install -y httpd
cat > /var/www/html/index.html <<EOF
web01 10.0.17.20
EOF

setenforce 0
vi /etc/selinux/config
SELINUX=permissive
systemctl restart httpd
systemctl enable httpd

web02

网卡配置
ens33:10.0.17.21/24
ifcfg-lo:0  10.0.17.200/32
vi /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.17.200
NETMASK=255.255.255.255
NETWORK=10.0.17.200
BROADCAST=10.0.17.200
ONBOOT=yes
NAME=loopback


vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2

cat > /var/www/html/index.html <<EOF
web02 10.0.17.21
EOF

setenforce 0
vi /etc/selinux/config
SELINUX=permissive
systemctl restart httpd
systemctl enable httpd

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 20:18:01       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 20:18:01       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 20:18:01       62 阅读
  4. Python语言-面向对象

    2024-07-16 20:18:01       72 阅读

热门阅读

  1. LeetCode //C - 227. Basic Calculator II

    2024-07-16 20:18:01       25 阅读
  2. 什么样的服务器是合乎直销网站标准

    2024-07-16 20:18:01       19 阅读
  3. rabbitmq消息投递失败

    2024-07-16 20:18:01       20 阅读
  4. 网络通信介绍

    2024-07-16 20:18:01       18 阅读
  5. decimal.js库

    2024-07-16 20:18:01       21 阅读
  6. 自我承诺闭环

    2024-07-16 20:18:01       18 阅读
  7. 通讯录-C/C++

    2024-07-16 20:18:01       20 阅读
  8. Docker 三剑客

    2024-07-16 20:18:01       23 阅读
  9. Spring注解的实现原理【简单实现一个注解】

    2024-07-16 20:18:01       20 阅读
  10. 洛谷 P10119 题解

    2024-07-16 20:18:01       20 阅读
  11. 初识C++

    初识C++

    2024-07-16 20:18:01      18 阅读
  12. 删除文件夹下的文件

    2024-07-16 20:18:01       20 阅读