LVS+DR+apache+keepalived负载均衡

这篇具有很好参考价值的文章主要介绍了LVS+DR+apache+keepalived负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1、首先准备两台服务器

ip         10.0.1.32
ip 10.0.1.33
vip 10.0.1.100

2、关闭防火墙

```shell

systemctl stop firewalld
systemctl disable firewalld
sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config
grep '^SELINUX=' /etc/selinux/config
setenforce off
reboot

```

3、安装keepalived,两台机器都需要安装

```shell

yum -y install keepalived

```

4、打开keepalived的配置文件,首先配置主的文件

```shell

vim /etc/keepalived/keepalived.conf


! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state MASTER   #这里要改成主的
    interface ens33   #这个网卡名字一定要写自己的  我的是ens33
    virtual_router_id 51
    priority 100   #这个是优先级主的优先级一定要比从的优先级高
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.1.100   #vip地址
    }
}

virtual_server 10.0.1.100 80 {  
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    protocol TCP

    real_server 10.0.1.32 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            connect_port 80
            nb_get_retry 3
            delay_before_retry 3
        }
   }

    real_server 10.0.1.33 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            connect_port 80
            nb_get_retry 3
            delay_before_retry 3
        }
   }
}
# vrrp_strict   #centos7里的keepalived有一个广播  这个需要删除  切记

```
5、配置从的文件,比主的文件有一点差别

```shell
vim /etc/keepalived/keealived.con

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_instance VI_1 {
    state BACKUP    #这个要写从
    interface ens33   #网卡名字要写成自己的
    virtual_router_id 51
    priority 90     #从的优先级一定要比主的优先级要低
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.0.1.100   #vip要和主的配置的一致
    }
}

virtual_server 10.0.1.100 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    protocol TCP

    real_server 10.0.1.33 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            connect_port 80
            nb_get_retry 3
            delay_before_retry 3
        }
   }

    real_server 10.0.1.32 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            connect_port 80
            nb_get_retry 3
            delay_before_retry 3
        }
   }
}

# vrrp_strict   #centos7里的keepalived有一个广播  这个需要删除  切记
```
6、重启keepalived,两个机子都需要重启

```shell

systemctl restart keepalived

```

7、查看主的vip是否存在

```shell
[root@node2 network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 10.0.1.100/32 brd 10.0.1.100 scope global lo:0
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:0e:cc:e5 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.32/24 brd 10.0.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 10.0.1.100/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::67a:22ad:a7c5:73/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
```
8、关闭主的keepalived,查看vip是否漂移到从上

主:systemctl stop keepalived

从:


[root@localhost html]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 10.0.1.100/32 brd 10.0.1.100 scope global lo:0
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:45:8a:35 brd ff:ff:ff:ff:ff:ff
    inet 10.0.1.32/24 brd 10.0.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 10.0.1.100/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::de48:34e2:d290:a46/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:65:fe:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:65:fe:02 brd ff:ff:ff:ff:ff:ff
复制代码
如果成功,代表keepalived配置成功

主:开启keepalived

systemctl restart keepalived

9、安装ipvsadm,两个服务器都需要安装、

yum  -y  install ipvsadm

10、增加服务器的接口

复制代码
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens33  ifdown-eth   ifdown-post    ifdown-TeamPort  ifup-eth   ifup-plip    ifup-sit       init.ipv6-global
ifcfg-lo     ifdown-ib    ifdown-ppp     ifdown-tunnel    ifup-ib    ifup-plusb   ifup-Team      network-functions
ifcfg-lo:0   ifdown-ippp  ifdown-routes  ifup             ifup-ippp  ifup-post    ifup-TeamPort  network-functions-ipv6
ifdown       ifdown-ipv6  ifdown-sit     ifup-aliases     ifup-ipv6  ifup-ppp     ifup-tunnel
ifdown-bnep  ifdown-isdn  ifdown-Team    ifup-bnep        ifup-isdn  ifup-routes  ifup-wireless
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
复制代码
11、修改cp的接口

复制代码
[root@localhost network-scripts]# vim ifcfg-lo:0

[root@localhost network-scripts]# cat ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.0.1.100
NETMASK=255.255.255.255
ONBOOT=yes
[root@localhost network-scripts]# ifup ifcfg-lo:0
ifconfig

复制代码
12、另一台服务器做同样的操作

13、查看ifconfig看两台服务器的vip添加上没有

14、两台服务器执行操作


ipvsadm --save > /etc/sysconfig/ipvsadm
ipvsadm -A -t 10.0.1.100:80 -s rr
ipvsadm -a -t 10.0.1.100:80 -r 10.0.1.33:80 -g
ipvsadm -a -t 10.0.1.100:80 -r 10.0.1.32:80 -g
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
route add -host 10.0.1.100 dev lo:0


systemctl restart ipvsadm
systemctl status ipvsadm
复制代码
15、两台服务器执行ipvsadm查看是否成功

复制代码
[root@localhost ~]# 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.1.100:80 rr
  -> 10.0.1.33:80             Route   1      0          0         
  -> 10.0.1.32:80             Route   1      0          7         
[root@localhost ~]#
复制代码
16、两台服务器查看vip是否存在

复制代码
[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.1.2    0.0.0.0         UG    100    0        0 ens33
10.0.1.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
10.0.1.100  0.0.0.0         255.255.255.255 UH    0      0        0 lo
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@localhost ~]# 
复制代码
17、两台服务器源码安装Apache

yum -y install httpd

18、编写测试页面

第一台服务器

[root@localhost ~]#  
[root@localhost ~]# cat /var/www/html/index.html 
1111
[root@localhost ~]# 
第二台服务器

[root@localhost ~]# vim /var/www/html/index.html 
[root@localhost ~]# cat /var/www/html/index.html 
2222
[root@localhost ~]# 
19、两台服务器更改Apache配置文件

复制代码
 

#http的持久链接主要依靠keepalive

KeepAlive OFF     #关闭KeeoAlive长链接     
KeepAliveTimeout 15    #长连接多久算是超时,超时之后自动断开长连接
MaxKeepAliveRequests 100   #长连接最多接受多少个请求,请求数量大于改值则自动断开
开启Apache
systemctl restart httpd
 文章来源地址https://www.toymoban.com/news/detail-695760.html

到了这里,关于LVS+DR+apache+keepalived负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LVS负载均衡-DR

    1.DR模式中每台主机都有一个VIP地址 虚拟网址放在lo网卡上(回环网卡) arp_ignore=1 Arp_announce=2 系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址 2.内核参数修改   3.vim /etc/rc.conf   开机自启动   Chmod +x /etc/rc.d/rc.conf 4.实验 五台虚拟机(两台web服务虚拟

    2023年04月25日
    浏览(42)
  • LVS-DR+keepalived实现高可用负载群集

    VRRP 通信原理: VRRP就是虚拟路由冗余协议,它的出现就是为了解决静态路由的单点故障。 VRRP是通过一种竞选的一种协议机制,来将路由交给某台VRRP路由。 VRRP用IP多播的方式(多播地址224.0.0.18)来实现高可用的通信,工作时主节点发包,备节点接收包,当备节点接收不到主

    2024年02月12日
    浏览(27)
  • LVS负载均衡集群(DR)

    目录 1.数据包流向 2.通信遇到的问题         1.ARP广播 导致所有节点服务器和调度器的VIP响应         2.VIP的调度器失效 3.案例        1. 配置负载调度器          2.部署共享存储         3. 配置节点服务器(这里是两台)         1.客户端发送请求到负载均衡器 请求的数

    2024年02月12日
    浏览(22)
  • LVS负载均衡—DR模式

    目录 一、DR模式的特点 二、LVS-DR中的ARP问题 1)问题一:VIP地址相同导致响应冲突 问题原因: 解决方法:  2)问题二:返回报文时源地址使用VIP,导致网关设备的ARP缓存表紊乱 问题原因: 解决方法: 3)Linux部署NAT模式的应对方案 三、LVS单网段DR模式部署 实验准备 实验部

    2024年02月08日
    浏览(33)
  • LVS负载均衡集群之LVS-DR部署

    目录 一、lVS-DR集群概述  二、LVS-DR数据包流向分析 四、LVS-DR特性 五、DR模式 LVS负载均衡群集部 5.0配置虚拟 IP 地址(VIP 192.168.14.180) 5.1.配置负载调度器(192.168.14.101) 5.2部署共享存储(NFS服务器:192.168.14.104) 5.3配置节点服务器(192.168.14.102、192.168.14.103) 5.4.测试 LVS 群集

    2024年02月15日
    浏览(23)
  • LVS负载均衡群集部署(DR模式)

    ipvsadm 工具选项说明: 工具选项 作用 -A 添加虚拟服务器 -D 删除整个虚拟服务器 -s 指定负载调度算法(轮询:rr、加权轮询:wrr、最少连接:lc、加权最少连接:wlc) -a 表示添加真实服务器(节点服务器) -d 删除某一个节点 -t 指定 VIP地址及 TCP端口 -r 指定 RIP地址及 TCP端口

    2024年02月08日
    浏览(31)
  • LVS DR模式负载均衡群集部署

    目录 1 LVS-DR 模式的特点 1.1 数据包流向分析 1.2 DR 模式的特点 2 DR模式 LVS负载均衡群集部署 2.1 配置负载调度器 2.1.1 配置虚拟 IP 地址 2.1.2 调整 proc 响应参数 2.1.3 配置负载分配策略 2.2 部署共享存储 2.3 配置节点服务器 2.3.1 配置虚拟 IP 地址 2.3.2调整内核的 ARP 响应参数以阻

    2024年02月09日
    浏览(33)
  • NGINX负载均衡及LVS-DR负载均衡集群

    原理 : 1. 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 2. PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链 3. IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群 服务进

    2024年02月13日
    浏览(31)
  • LVS+KeepAlived高可用负载均衡集群

    高可用集群只需要在调度器上多进行一台或两台(服务器本身的价格比较昂贵,一般备用的服务器的数量会和当前业务创造的价值对等)的设置,就可避免因调度器瘫痪业务中断的风险,所以实现了真正的高可用的效果。 1.普通群集 普通的群集的部署是通过一台度器控制调配

    2024年02月09日
    浏览(68)
  • 【Linux】LVS负载均衡群集 DR模式

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 (2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。 (

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包