项目-基keepalived双VIP的web集群

项目名称

基于keepalived的双vip高可用web集群

项目架构图

在这里插入图片描述

项目环境

Centos7.9(1核1G),nginx-1.21.6,ansible 2.9.17,keepalived 2.0.10,Nginx-1.19.7,nfs-utils-1.3.0,bind-utils-9.11.4

项目描述

构建一个高可用的web集群,两台服务器使用nginx给三台real server做负载均衡,并在负载均衡器上使用keepalived实现双VIP做高可用,使用NFS保证real server的数据一致性,使用named搭建DNS服务器给两台负载均衡器做域名负载均衡。

项目步骤:
  1. 配置好nfs文件系统
#在web-1,web-2和web-3
[root@web-1 nginx]# yum install nfs-utils -y


#web-1上,更改exports配置文件
[root@web-1 ~]# echo “/usr/local/nginx/html 192.168.2.0/24(rw)” >>/etc/exports
[root@web-1 ~]# service nfs-server restart

#在web-2和web-3上挂载文件,但这样挂载重启后会失效,可以写入/etc/rc.local文件永久修改 
[root@web-3 ~]# mount -t nfs 192.168.2.13:/usr/local/nginx/html /usr/local/wang/html
[root@web-2 ~]# mount -t nfs 192.168.2.13:/usr/local/nginx/html /usr/local/wang/html

[root@localhost html]# df -Th
文件系统                             类型      容量  已用  可用 已用% 挂载点
devtmpfs                             devtmpfs  475M     0  475M    0% /dev
tmpfs                                tmpfs     487M     0  487M    0% /dev/shm
tmpfs                                tmpfs     487M  7.7M  479M    2% /run
tmpfs                                tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root              xfs        17G  1.7G   16G   10% /
/dev/sda1                            xfs      1014M  138M  877M   14% /boot
tmpfs                                tmpfs      98M     0   98M    0% /run/user/0
192.168.2.13:/usr/local/liuxing/html nfs4       17G  2.5G   15G   15% /usr/local/wang/html
  1. 在LB-1和LB-2上更改配置文件,实现基于URL的七层负载均衡
        upstream myweb{
            server 192.168.2.13 fail_timeout=10s max_fails=2;
            server 192.168.2.31 fail_timeout=10s max_fails=2;
            server 192.168.2.38 fail_timeout=10s max_fails=2;
        }
		server {
		    listen 80;
		    server_name  bannianmeichifan.com;
            location / {
                proxy_pass  http://myweb;
            }
        }
  1. 在LB-1和LB-2上部署keepalived
[root@lb-1 logs]#  install keepalived -y
[root@lb-1 logs]# vim /etc/keepalived/keepalived.conf
 #vrrp_strict #需要注释掉
#设置两个实例,实现双VIP,互为主备
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.2.80
    }
}

vrrp_instance VI_2 {
    state BACKUP
    interface ens33
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.2.81
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Atg5dy8a-1659271166921)(C:\Users\SZX\AppData\Roaming\Typora\typora-user-images\image-20220726160949086.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nUICeXPP-1659271166922)(C:\Users\SZX\AppData\Roaming\Typora\typora-user-images\image-20220726161035965.png)]

  1. 修改Windows主机下的C:\Windows\System32\drivers\etc\hosts文件,实现对双VIP的DNS负载均衡

    #添加下面内容
    192.168.2.80 bannianmeichifan.com
    192.168.2.81 bannianmeichifan.com

  2. 搭建DNS服务器
[root@dns ~]# yum install bind* -y
#设置named服务开启自启动
[root@dns ~]# systemctl enable named
#修改主配置文件
[root@dns ~]# vim /etc/named.conf
 listen-on port 53 { any; };
 allow-query     { any; };
# 修改/etc/named.rfc1912.zones文件,添加以下配置,添加域名解析
zone "bannianmeichifan.com" IN {
        type master;
        file "zone.bannianmeichifan.com";
        allow-update { none; };
};
#添加一条解析记录
[root@dns named]# cd /var/named
[root@dns named]# cp named.localhost zone.bannianmeichifan.com -a
[root@dns named]# vimzone.bannianmeichifan.com
#添加以下配置
www A 192.168.2.81
www A 192.168.2.80
[root@dns named]# systemctl restart named

效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XeY7i6HW-1659271166923)(E:\桌面\Note\nginx\双VIPweb集群.assets\image-20220727211314704.png)]

  1. 查看效果

real server:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mfzN1uxV-1659271166924)(C:\Users\SZX\AppData\Roaming\Typora\typora-user-images\image-20220726163729923.png)]
在这里插入图片描述
在这里插入图片描述

负载均衡器:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下
来直接上传(img-8WVpJA7N-1659271166927)(E:\桌面\Note\nginx\双VIPweb集群.assets\image-20220726222807482.png)]

  1. 压力测试(设置ulimit n 10000)

real server
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

负载均衡器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gLe8ZiZ4-1659271166931)(E:\桌面\Note\nginx\双VIPweb集群.assets\image-20220726231309794.png)]
在这里插入图片描述
可以看到负载均衡器的CPU几乎跑满,而real server的性能过剩且测试的吞吐量与real server的配置(worker processes 1, worker_connections 10240)较为接近,应该提升负载均衡器的硬件配置,增加real server的并发连接数的限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值