IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 项目-基keepalived双VIP的web集群 -> 正文阅读

[系统运维]项目-基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的并发连接数的限制。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:16:52  更:2022-08-06 11:20:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 17:03:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码