centos7搭建keepalived+LVS+NFS高可用web群集

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 一、理论部分Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

一、理论部分

Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。


keepalived起初是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换和健康检查的功能,用来判断LVS负载调度器、节点服务器的可用性,及时隔离并替换为新的服务器,当故障主机恢复后将其重新加入群集


keepalived采用vrrp(virtual router redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多级热备功能。vrrp是针对路由器的一种备份解决方案,由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供提供服务,每个热备组内同一时刻只有一台主路由器提供服务,其他路由器处于冗余状态,若主路由器失效,则从其他路由器会自动接替虚拟IP,继续提供服务,虚拟IP被称之为漂移地址

二、部署部分image.pngkeepalive主服务器配置

1.安装支持软件

[root@localhost ~]# yum -y install kernel-devel openssl-devel popt-devel ipvsadm
[root@localhost ~]# tar xvf keepalived-1.2.13.tar.gz
[root@localhost ~]# cd keepalived-1.2.13
[root@localhost ~]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make && make install

2.修改配置文件/etc/keepalived/keepalived.conf

[root@localhost ~]# vim /etc/keepalived/keepalived.conf

global_defs {
router_id LVS_DEVEL_R1      //本地路由名称,不可冲突
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
    auth_type PASS
    auth_pass 1111
}
virtual_ipaddress {
   192.168.81.100         //VIP地址,可以有多个
  }
}
virtual_server 192.168.81.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
!persistence_timeout 60     //不可省略,表示持续时间
protocol TCP
real_server 192.168.81.230 80 {
    weight 1
TCP_CHECK {
    connect_port 80
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 4
    }
 }
real_server 192.168.81.240 80 {
    weight 1
TCP_CHECK {
    connect_port 80
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 4
    }
 }
}

3.重启服务

[root@localhost ~]# service keepalived restart

4.查看VIP

[root@localhost ~]# ip add show

keepalive从服务器配置

与主服务器配置文件修改有三点不同

修改路由名称

修改优先级

修改热备状态

1.1.安装支持软件

[root@localhost ~]# yum -y install kernel-devel openssl-devel popt-devel ipvsadm
[root@localhost ~]# tar xvf keepalived-1.2.13.tar.gz
[root@localhost ~]# cd keepalived-1.2.13
[root@localhost ~]# ./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-431.el6.x86_64/ && make && make install

2.修改配置文件/etc/keepalived/keepalived.conf

[root@localhost ~]# vim /etc/keepalived/keepalived.conf

global_defs {
router_id LVS_DEVEL_R2      //修改
}
vrrp_instance VI_1 {
state BACKUP          //修改
interface eth0
virtual_router_id 51
priority 80                 //修改
advert_int 1
authentication {
    auth_type PASS
    auth_pass 1111
}
virtual_ipaddress {
   192.168.81.100         //VIP地址,可以有多个
  }
}
virtual_server 192.168.81.100 80 {
delay_loop 15
lb_algo rr
lb_kind DR
!persistence_timeout 60     //不可省略,表示持续时间
protocol TCP
real_server 192.168.81.230 80 {
    weight 1
TCP_CHECK {
    connect_port 80
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 4
    }
 }
real_server 192.168.81.240 80 {
    weight 1
TCP_CHECK {
    connect_port 80
    connect_timeout 3
    nb_get_retry 3
    delay_before_retry 4
    }
 }
}

3.重启服务

[root@localhost ~]# service keepalived restart

配置节点web服务器池(所有服务器均配置相同)

1.配置虚拟ip地址

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost ~]# cp ifcfg-lo ifcfg-lo:0
[root@localhost ~]# vim ifcfg-lo:0
  DEVICE=lo:0
  IPADDR=172.16.16.172
  NETMASK=255.255.255.255
  ONBOOT=yes
[root@localhost ~]# ifup lo:0
[root@localhost ~]# vim /etc/rc.local
  route add -host 172.16.16.172 dev lo:0

2.调整/proc响应

[root@localhost ~]# 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

3.添加防火墙策略,允许访问http服务

[root@localhost ~]# firewall-cmd --permanent --add-service=http
[root@localhost ~]# firewall-cmd --reload

部署NFS共享存储,提供网页内容

1.安装软件

[root@localhost ~]# yum -y install nfs-utils rpcbind

2.设置共享目录

[root@localhost ~]# vim /etc/exports        //将/var/www/html做为共享目录
  /var/www/html   172.16.16.0/24(rw,sync,no_root_squash)

3.启动nfs服务

[root@localhost ~]# service rpcbind start
[root@localhost ~]# service nfs start

4.showmount -e //查看本机共享目录

5.要给共享目录写入权限

[root@localhost ~]# chmod -R 755 /var/www/html

6.防火墙配置

[root@localhost ~]# firewall-cmd --permanent --add-service=nfs
  [root@localhost ~]# firewall-cmd --reload

6.客户端挂载

[root@localhost ~]# mount 192.168.81.250:/var/www/html/ /var/www/html/

整个环境注意事项

不要在nfs启动http服务,将所有的selinux关掉

相关实践学习
小试牛刀,一键部署电商商城
SAE 仅需一键,极速部署一个微服务电商商城,体验 Serverless 带给您的全托管体验,一起来部署吧!
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
1月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
92 21
|
缓存 负载均衡 应用服务中间件
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
在本章内容中,我们将深入探讨 Tomcat 服务器的运行架构、LVS 负载均衡的运行机制以及 Cache 缓存机制,并提供相应的解决方案和指导。通过理解这些关键概念和机制,您将能够优化您的系统架构,提高性能和可扩展性。
415 4
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
|
存储 Linux 块存储
DRBD+Heratbeat+NFS高可用文件共享存储
DRBD+Heratbeat+NFS高可用文件共享存储
|
负载均衡 监控 Linux
CentOS6.5高可用集群LVS+Keepalived(DR模式)
CentOS6.5高可用集群LVS+Keepalived(DR模式)
|
关系型数据库 MySQL Linux
centos7下 Mysql+Keepalived 双主热备高可用图文配置详解
centos7下 Mysql+Keepalived 双主热备高可用图文配置详解
209 0
|
Kubernetes 应用服务中间件 网络安全
CentOS7上二进制部署Kubernetes高可用集群(v1.18版本)
CentOS7上二进制部署Kubernetes高可用集群(v1.18版本)
655 0
|
存储
keepalived+DRBD+NFS高可用存储
keepalived+DRBD+NFS高可用存储
226 0
|
25天前
|
Web App开发 前端开发 JavaScript
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
这是一份实用的鸿蒙Web多设备适配开发指南,针对开发者在不同屏幕尺寸下的布局难题提供了解决方案。文章通过三大法宝(相对单位、媒体查询和窗口监听)详细介绍如何实现智能适配,并提供了多个实战案例,如宫格布局、对话框变形和自适应轮播图等。此外,还分享了调试技巧及工具推荐,帮助开发者快速上手并优化性能。最后鼓励读者实践探索,并提示更多官方资源等待发现。
|
3月前
|
关系型数据库 MySQL 数据库
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
TIS 是一款基于Web-UI的开源大数据集成工具,通过与人大金仓Kingbase的深度整合,提供高效、灵活的实时数据集成方案。它支持增量数据监听和实时写入,兼容MySQL、PostgreSQL和Oracle模式,无需编写复杂脚本,操作简单直观,特别适合非专业开发人员使用。TIS率先实现了Kingbase CDC连接器的整合,成为业界首个开箱即用的Kingbase CDC数据同步解决方案,助力企业数字化转型。
539 5
基于Flink CDC 开发,支持Web-UI的实时KingBase 连接器,三大模式无缝切换,效率翻倍!
|
3月前
|
机器学习/深度学习 开发框架 API
Python 高级编程与实战:深入理解 Web 开发与 API 设计
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧以及数据科学和机器学习。本文将深入探讨 Python 在 Web 开发和 API 设计中的应用,并通过实战项目帮助你掌握这些技术。