文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【群集】——keepalived+LVS-DR+GFS+zabbix

2023-09-09 16:35

关注

目录

🍋拓扑图

🍋案例实施

🍒1、环境配置

🍒1.1、配置IP地址

🍒1.2、GFS添加磁盘

🍈2、Keepalived

🍈2.1、配置主调度器

🍈2.2、配置备份调度器

🍓3、LVS-DR

🍓3.1、负载均衡

🍓3.1.1、关闭icmp重定向

🍓3.1.2、配置负载分配策略

🍓3.2、配置主调度器

🍓3.3、配置备份调度器

🍌4、GFS

🍌4.1、web端

🍌4.1.1、web配置VIP

🍌4.1.2、关闭部分arp应答

🍌4.1.3、配置httpd

🍌4.2、配置GFS端

🍌4.2.1、创建复制卷

🍌4.2.2、web挂载复制卷

🍌4.2.3、测试

🍎5、zabbix

🍎5.1、安装

🍎5.1.1、创建zabbix源

🍎5.1.2、安装MariaDB

🍎5.1.3、安装Zabbix

🍎5.1.4、配置zabbix

🍎5.2 、zabbix界面优化

🍎5.3、监控LVS

🍎5.3.1、web界面配置

🍎5.4、监控web

🍎5.4.1、web界面配置


🍤:事实证明大虾还是好吃的。

1、环境配置

        环境要求:如图所示配置IP地址,所有主机桥接到vmnet1,并关闭防火墙和Selinux。GFS两台服务器分别添加两块20G的磁盘,客户端使用宿主机。

1.1、配置IP地址

        关于IP的配置这里以web1为例,只有web1和web2添加两块网卡,相对比其他服务器的配置只是多一块需要配置的网卡,其他服务器正常配置IP即可。

[root@web1 ~]# systemctl stop firewalld[root@web1 ~]# systemctl disable firewalld[root@web1 ~]# setenforce 0[root@web1 ~]# cd /etc/sysconfig/network-scripts/[root@web1 network-scripts]# vim ifcfg-ens33 ......省略部分内容BOOTPROTO=staticNAME=ens33DEVICE=ens33ONBOOT=yesIPADDR=192.168.1.3NETMASK=255.255.255.0[root@web1 network-scripts]# cp ifcfg-ens33 ifcfg-ens36[root@web1 network-scripts]# vim ifcfg-ens36......省略部分内容BOOTPROTO=staticNAME=ens36DEVICE=ens36ONBOOT=yesIPADDR=200.0.0.3NETMASK=255.255.255.0[root@web1 network-scripts]# systemctl restart network

1.2、GFS添加磁盘

        关于磁盘可以开机前添加,会自动识别磁盘。若开机后添加可以执行以下命令识别磁盘。

echo "- - -" >> /sys/class/scsi_host/host0/scanecho "- - -" >> /sys/class/scsi_host/host1/scanecho "- - -" >> /sys/class/scsi_host/host2/scan 

        到目前的配置,web1和web2可以ping通全网,而公网和私网则不能相互ping通。GFS1和GFS2每台服务器上都有一块sdb磁盘。

2、Keepalived

        搭建Keepalived实现Lvs的双机热备。本次使用yum方式安装keepalived和ipvsadm管理工具。LVS1和LVS2都需要那种,这里以LVS1为例。

[root@lvs1 ~]# yum -y install keepalived ipvsadm[root@lvs1 ~]# systemctl enable keepalived

2.1、配置主调度器

[root@lvs1 ~]# cd /etc/keepalived/[root@lvs1 keepalived]# cp keepalived.conf keepalived.conf.back[root@lvs1 keepalived]# vim keepalived.conf! Configuration File for keepalived​global_defs { ......省略部分内容   router_id LVS1           //主调度器名称}   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 {        200.0.0.100         //配置漂移地址    }}   [root@lvs1 keepalived]# systemctl start keepalived[root@lvs1 keepalived]# ip addr show dev ens33          //查看漂移地址2: ens33:  mtu 1500 qdisc pfifo_fast state UP qlen 1000    link/ether 00:0c:29:16:da:97 brd ff:ff:ff:ff:ff:ff    inet 200.0.0.1/24 brd 200.0.0.255 scope global ens33       valid_lft forever preferred_lft forever    inet 200.0.0.100/32 scope global ens33              //此时漂移地址在主调度器上       valid_lft forever preferred_lft forever    inet6 fe80::c3cf:e745:3647:394a/64 scope link        valid_lft forever preferred_lft forever

2.2、配置备份调度器

[root@lvs2 ~]# cd /etc/keepalived/[root@lvs2 keepalived]# cp keepalived.conf keepalived.conf.bak[root@lvs2 keepalived]# vim keepalived.conf! Configuration File for keepalived​global_defs {......省略部分内容   router_id LVS2               //备份调度器名称}  ​vrrp_instance VI_1 {    state BACKUP                //备份调度器的热备状态    interface ens33             //修改接口网卡    virtual_router_id 51    priority 99                 //修改优先级别    advert_int 1    authentication {        auth_type PASS        auth_pass 1111    }    virtual_ipaddress {        200.0.0.100             //配置漂移地址    }}  [root@lvs2 keepalived]# systemctl start keepalived[root@lvs2 keepalived]# ip addr show dev ens33              //查看漂移地址2: ens33:  mtu 1500 qdisc pfifo_fast state UP qlen 1000    link/ether 00:0c:29:55:f7:8d brd ff:ff:ff:ff:ff:ff    inet 200.0.0.2/24 brd 200.0.0.255 scope global ens33       valid_lft forever preferred_lft forever    inet6 fe80::15ae:efbc:5794:874b/64 scope link        valid_lft forever preferred_lft forever

        备份服务器仍处于备份状态,因此备份服务器不会为ens33接口添加VIP地址。当主服务器失效时,VIP地址才会过来,达到了双机热备的功能。

3、LVS-DR

3.1、负载均衡

        两台LVS都需要配置选项3.1中的内容(关闭ICMP重定向,配置策略)。

3.1.1、关闭icmp重定向

[root@lvs1 ~]# vim /etc/sysctl.confnet.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.ens33.send_redirects = 0[root@lvs1 ~]# sysctl -p

3.1.2、配置负载分配策略

[root@lvs1 ~]# ipvsadm -C               //清除原有策略[root@lvs1 ~]# ipvsadm -A -t 200.0.0.100:80 -s rr[root@lvs1 ~]# ipvsadm -a -t 200.0.0.100:80 -r 200.0.0.3 -g -w 1[root@lvs1 ~]# ipvsadm -a -t 200.0.0.100:80 -r 200.0.0.4 -g -w 1[root@lvs1 ~]# ipvsadm-save             //保存策略-A -t lvs1:http -s rr-a -t lvs1:http -r 200.0.0.3:http -g -w 1-a -t lvs1:http -r 200.0.0.4:http -g -w 1[root@lvs1 ~]# systemctl enable ipvsadm

3.2、配置主调度器

        通过配置文件添加两台web节点。

[root@lvs1 ~]# vim /etc/keepalived/keepalived.confvrrp_instance VI_1 {            //在vrrp配置模块下面添加节点......省略部分内容    virtual_ipaddress {        200.0.0.100    }}......省略部分内容virtual_server 200.0.0.100 80 {             //以下内容需要修改添加节点信息    delay_loop 15    lb_algo rr     lb_kind DR     protocol TCP        real_server 200.0.0.3 80 {        weight 1        TCP_CHECK {            connect_port 80            connect_timeout 3            nb_get_retry 3            delay_before_retry 4        }       }    real_server 200.0.0.4 80 {        weight 1        TCP_CHECK {            connect_port 80            connect_timeout 3            nb_get_retry 3            delay_before_retry 4        }    }}[root@lvs1 ~]# systemctl restart keepalived

3.3、配置备份调度器

        相同的方法配置完主调度器后,接着配置备份调度器。

[root@lvs2 ~]# vim /etc/keepalived/keepalived.confvrrp_instance VI_1 {                        //在vrrp配置模块下面添加节点......省略部分内容    virtual_ipaddress {        200.0.0.100    }}......省略部分内容virtual_server 200.0.0.100 80 {             //以下内容需要修改添加节点信息    delay_loop 15    lb_algo rr     lb_kind DR     protocol TCP        real_server 200.0.0.3 80 {        weight 1        TCP_CHECK {            connect_port 80            connect_timeout 3            nb_get_retry 3            delay_before_retry 4        }       }    real_server 200.0.0.4 80 {        weight 1        TCP_CHECK {            connect_port 80            connect_timeout 3            nb_get_retry 3            delay_before_retry 4        }    }}[root@lvs2 ~]# systemctl restart keepalived

4、GFS

4.1、web端

        GFS的配置如下表所示,两台服务器实现复制卷,复制卷的名称为share。

        在两个web服务器将share复制卷挂载到web服务器的/var/www/html下。

IP主机名挂载盘挂载目录
192.168.1.1gfs1/dev/sdb(20G)/b3
192.168.1.2gfs2/dev/sdb(20G)/b3

4.1.1、web配置VIP

        每个web服务器上都需要配置漂移地址(VIP)。

[root@web1 ~]# cd /etc/sysconfig/network-scripts/[root@web1 network-scripts]# cp ifcfg-lo ifcfg-lo:0[root@web1 network-scripts]# vim ifcfg-lo:0DEVICE=lo:0IPADDR=200.0.0.100NETMASK=255.255.255.255ONBOOT=yes[root@web1 network-scripts]# ifup lo:0[root@web1 network-scripts]# ifconfig lo:0lo:0: flags=73  mtu 65536        inet 200.0.0.100  netmask 255.255.255.255        loop  txqueuelen 1  (Local Loopback)​[root@web1 network-scripts]# vim /etc/rc.local......省略部分内容/sbin/route add -host 200.0.0.100 dev lo:0          //添加一条路由[root@web1 network-scripts]# route add -host 200.0.0.100 dev lo:0

4.1.2、关闭部分arp应答

[root@web1 ~]# vim /etc/sysctl.confnet.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.default.arp_ignore = 1net.ipv4.conf.default.arp_announce = 2net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2[root@web1 ~]# sysctl -p

4.1.3、配置httpd

[root@web1 ~]# yum -y install httpd[root@web1 ~]# echo "111" > /var/www/html/index.html [root@web1 ~]# systemctl start httpd[root@web1 ~]# systemctl enable httpd

4.2、配置GFS端

        两台GFS服务器都需要配置,以下gfs1和gfs2配置相同,我以gfs1为例,gfs2相反配置即可。

[root@gfs1 ~]# vim /etc/hosts                   //GFS本地节点解析192.168.1.1 node1192.168.1.2 node2[root@gfs1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma[root@gfs1 ~]# systemctl start glusterd[root@gfs1 ~]# systemctl enable glusterd[root@gfs1 ~]# gluster peer probe node1         //本身在gfs1上操作,所以node1也可以不执行peer probe: success. Probe on localhost not needed[root@gfs1 ~]# gluster peer probe node2peer probe: success.[root@gfs1 ~]# gluster peer status              //查看GFS群集状态Number of Peers: 1​Hostname: node2Uuid: 16bc8386-0168-4c21-8ed3-e762f1bd8c77State: Peer in Cluster (Connected)

4.2.1、创建复制卷

        使用fdisk命令创建一个20G的磁盘空间为sdb1并格式化。两台GFS服务器创建成复制卷,卷名为share。

[root@gfs1 ~]# fdisk /dev/sdbn→p→回车→回车→回车→w保存退出[root@gfs1 ~]# mkfs.xfs /dev/sdb1[root@gfs1 ~]# gluster volume create share replica 2 node1:/b1 node2:/b1 forcevolume create: share: success: please start the volume to access data[root@gfs1 ~]# gluster volume start sharevolume start: share: success

4.2.2、web挂载复制卷

web1配置如下:

[root@web1 ~]# yum -y install glusterfs glusterfs-fuse[root@web1 ~]# vim /etc/hosts192.168.1.1 node1192.168.1.2 node2[root@web1 ~]# mount -t glusterfs node1:share /var/www/html/[root@web1 ~]# df -h文件系统             容量  已用  可用 已用% 挂载点/dev/mapper/cl-root   17G  3.8G   14G   23% /devtmpfs             473M     0  473M    0% /devtmpfs                489M  144K  489M    1% /dev/shmtmpfs                489M  7.1M  482M    2% /runtmpfs                489M     0  489M    0% /sys/fs/cgroup/dev/sda1           1014M  173M  842M   18% /boottmpfs                 98M   12K   98M    1% /run/user/0/dev/sr0              53M   53M     0  100% /medianode1:share           17G  3.8G   14G   23% /var/www/html

web2配置如下:

[root@web2 ~]# yum -y install glusterfs glusterfs-fuse[root@web2 ~]# vim /etc/hosts192.168.1.1 node1192.168.1.2 node2[root@web2 ~]# mount -t glusterfs node1:share /var/www/html/[root@web2 ~]# df -hT文件系统            类型            容量  已用  可用 已用% 挂载点/dev/mapper/cl-root xfs              17G  3.9G   14G   23% /devtmpfs            devtmpfs        473M     0  473M    0% /devtmpfs               tmpfs           489M  144K  489M    1% /dev/shmtmpfs               tmpfs           489M  7.1M  482M    2% /runtmpfs               tmpfs           489M     0  489M    0% /sys/fs/cgroup/dev/sda1           xfs            1014M  173M  842M   18% /boottmpfs               tmpfs            98M   12K   98M    1% /run/user/0/dev/sr0            iso9660          53M   53M     0  100% /medianode1:share         fuse.glusterfs   17G  3.8G   14G   23% /var/www/html

        到目前为止,复制卷就已经创建完了。下一步需要测试了,在挂载盘中创建文件,查看网页内容。

4.2.3、测试

        在上面挂了盘以后,之前的内容就已经消失了,所以还得从新创建一个新的网页内容。在web1上创建一个内容,内容会同步到web2上,客户端查看的内容就会是后面创建的内容。

[root@web1 ~]# echo "666" > /var/www/html/index.html......web2查看网页内容[root@web2 ~]# cat /var/www/html/index.html 666 

5、zabbix

        无监控不运维,最后搭建Zabbix服务器分别监控LVS服务器和web服务器的性能。

5.1、安装

5.1.1、创建zabbix源

        挂盘后将文件复制到创建的目录中,yum仓库目录指向zabbix。

[root@zabbix ~]# mkdir /zabbix[root@zabbix ~]# cp /media/* /zabbix[root@zabbix ~]# cd /zabbix[root@zabbix zabbix]# createrepo .[root@zabbix ~]# rm -rf /etc/yum.repos.d/*[root@zabbix ~]# vim /etc/yum.repos.d/a.repo[a]name=abaseurl=file:///zabbixgpgcheck=0

5.1.2、安装MariaDB

[root@zabbix ~]# yum -y install mariadb-server mariadb[root@zabbix ~]# systemctl start mariadb[root@zabbix ~]# systemctl enable mariadb[root@zabbix ~]# mysqladmin -u root password "123"

5.1.3、安装Zabbix

[root@zabbix ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent[root@zabbix ~]# mysql -u root -pEnter password:             //输入密码MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by "456";Query OK, 0 rows affected (0.00 sec)

5.1.4、配置zabbix

[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix Enter password: [root@zabbix ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak[root@zabbix ~]# vim /etc/zabbix/zabbix_server.confDBHost=localhostDBPassword=456[root@zabbix ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/.zabbix_agent.conf.bak[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf Server=200.0.0.10                       //客户端被动等待指定服务器来查询数据ServerActive=200.0.0.10                 //客户端主动提交数据到指定的服务器Hostname=Zabbix server                  //主机名称[root@zabbix ~]# systemctl start zabbix-server[root@zabbix ~]# systemctl enable zabbix-serverCreated symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.[root@zabbix ~]# systemctl start zabbix-agent[root@zabbix ~]# systemctl enable zabbix-agentCreated symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.[root@zabbix ~]# systemctl start httpd[root@zabbix ~]# systemctl enable httpdCreated symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf        php_value date.timezone Asia/Shanghai[root@zabbix ~]# systemctl restart httpd

5.2 、zabbix界面优化

        浏览器输入http://200.0.0.10/zabbix,用户名默认为Admin密码为zabbix,登录即可见到默认页面。为了页面的美观可以修改中文字体,修改乱码等。

5.3、监控LVS

        被监控端安装软件,配置基本相同,这里先只监控LVS主服务器了。

[root@lvs1 ~]# mount /dev/cdrom /mediamount: /dev/sr0 写保护,将以只读方式挂载[root@lvs1 ~]#  rpm -ivh /media/zabbix-agent-3.2.6-1.el7.x86_64.rpm 警告:/media/zabbix-agent-3.2.6-1.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY准备中...                          ################################# [100%]正在升级/安装...   1:zabbix-agent-3.2.6-1.el7         ################################# [100%]

        被监控端修改配置文件

[root@lvs1 ~]# vim /etc/zabbix/zabbix_agentd.confHostname=LVS-01ServerActive=200.0.0.1Server=200.0.0.1[root@lvs1 ~]# systemctl start zabbix-agent[root@lvs1 ~]# systemctl enable zabbix-agentCreated symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.[root@lvs1 ~]# netstat -anpt | grep agenttcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      3764/zabbix_agentd  tcp6       0      0 :::10050                :::*                    LISTEN      3764/zabbix_agentd  

5.3.1、web界面配置

        新建主机,监控LVS。查看”检测中“→“图形”选择监控的内容就可以看到监控的选项了,还可以自定义添加监控内容。

查看验证

5.4、监控web

        被监控端安装软件,配置基本相同,这里只监控web2了。

[root@web2 ~]# rpm -ivh /media/zabbix-agent-3.2.6-1.el7.x86_64.rpm 警告:/media/zabbix-agent-3.2.6-1.el7.x86_64.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY准备中...                          ################################# [100%]正在升级/安装...   1:zabbix-agent-3.2.6-1.el7         ################################# [100%][root@web2 ~]# vim /etc/zabbix/zabbix_agentd.confHostname=web2ServerActive=200.0.0.4Server=200.0.0.4[root@web2 ~]# systemctl start zabbix-agent[root@web2 ~]# systemctl enable zabbix-agent[root@web2 ~]# netstat -antp | grep agenttcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      49560/zabbix_agentd tcp6       0      0 :::10050                :::*                    LISTEN      49560/zabbix_agentd 

5.4.1、web界面配置

        新建主机,监控web。查看”检测中“→“图形”选择监控的内容就可以看到监控的选项了,还可以自定义添加监控内容。

来源地址:https://blog.csdn.net/qq_61116007/article/details/126385121

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯