帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
【群集】——keepalived+LVS-DR+GFS+zabbix
发布时间:2024-03-05 15:33:10   分类:帮助文档
【群集】——keepalived+LVS-DR+GFS+zabbix 目录 🍋拓扑图 🍋案例实施 🍒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=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.1.3 NETMASK=255.255.255.0 [root@web1 network-scripts]# cp ifcfg-ens33 ifcfg-ens36 [root@web1 network-scripts]# vim ifcfg-ens36 ......省略部分内容 BOOTPROTO=static NAME=ens36 DEVICE=ens36 ONBOOT=yes IPADDR=200.0.0.3 NETMASK=255.255.255.0 [root@web1 network-scripts]# systemctl restart network 1.2、GFS添加磁盘         关于磁盘可以开机前添加,会自动识别磁盘。若开机后添加可以执行以下命令识别磁盘。 echo "- - -" >> /sys/class/scsi_host/host0/scan echo "- - -" >> /sys/class/scsi_host/host1/scan echo "- - -" >> /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.conf net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0 net.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.conf vrrp_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.conf vrrp_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)/b3192.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:0 DEVICE=lo:0 IPADDR=200.0.0.100 NETMASK=255.255.255.255 ONBOOT=yes [root@web1 network-scripts]# ifup lo:0 [root@web1 network-scripts]# ifconfig lo:0 lo: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.conf net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.all.arp_announce = 2 net.ipv4.conf.default.arp_ignore = 1 net.ipv4.conf.default.arp_announce = 2 net.ipv4.conf.lo.arp_ignore = 1 net.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 node1 192.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 node2 peer probe: success. [root@gfs1 ~]# gluster peer status //查看GFS群集状态 Number of Peers: 1 ​ Hostname: node2 Uuid: 16bc8386-0168-4c21-8ed3-e762f1bd8c77 State: Peer in Cluster (Connected) 4.2.1、创建复制卷         使用fdisk命令创建一个20G的磁盘空间为sdb1并格式化。两台GFS服务器创建成复制卷,卷名为share。 [root@gfs1 ~]# fdisk /dev/sdb n→p→回车→回车→回车→w保存退出 [root@gfs1 ~]# mkfs.xfs /dev/sdb1 [root@gfs1 ~]# gluster volume create share replica 2 node1:/b1 node2:/b1 force volume create: share: success: please start the volume to access data [root@gfs1 ~]# gluster volume start share volume start: share: success 4.2.2、web挂载复制卷 web1配置如下: [root@web1 ~]# yum -y install glusterfs glusterfs-fuse [root@web1 ~]# vim /etc/hosts 192.168.1.1 node1 192.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% /dev tmpfs               489M 144K 489M   1% /dev/shm tmpfs               489M 7.1M 482M   2% /run tmpfs               489M     0 489M   0% /sys/fs/cgroup /dev/sda1           1014M 173M 842M   18% /boot tmpfs                 98M   12K   98M   1% /run/user/0 /dev/sr0             53M   53M     0 100% /media node1:share           17G 3.8G   14G   23% /var/www/html web2配置如下: [root@web2 ~]# yum -y install glusterfs glusterfs-fuse [root@web2 ~]# vim /etc/hosts 192.168.1.1 node1 192.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% /dev tmpfs               tmpfs           489M 144K 489M   1% /dev/shm tmpfs               tmpfs           489M 7.1M 482M   2% /run tmpfs               tmpfs           489M     0 489M   0% /sys/fs/cgroup /dev/sda1           xfs           1014M 173M 842M   18% /boot tmpfs               tmpfs           98M   12K   98M   1% /run/user/0 /dev/sr0           iso9660         53M   53M     0 100% /media node1: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=a baseurl=file:///zabbix gpgcheck=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 -p Enter 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.conf DBHost=localhost DBPassword=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-server Created 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-agent Created 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 httpd Created 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 /media mount: /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.conf Hostname=LVS-01 ServerActive=200.0.0.1 Server=200.0.0.1 [root@lvs1 ~]# systemctl start zabbix-agent [root@lvs1 ~]# systemctl enable zabbix-agent Created 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 agent tcp       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.conf Hostname=web2 ServerActive=200.0.0.4 Server=200.0.0.4 [root@web2 ~]# systemctl start zabbix-agent [root@web2 ~]# systemctl enable zabbix-agent [root@web2 ~]# netstat -antp | grep agent tcp       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。查看”检测中“→“图形”选择监控的内容就可以看到监控的选项了,还可以自定义添加监控内容。
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价