服务器架构(1)——pacemaker搭建高可用集群

一、服务器架构演变

  1. 所谓服务器架构,也就是如何将服务器各部分合理地安排,以实现最初的功能需求。 优秀的架构更有助于系统的搭建,对系统的可扩展性及可维护性也有更大的帮助。
  2. 一般而言,客户需求决定了服务器的发展方向,从服务器的技术架构来看, 目前整个服务器的技术架构的发展有三个大趋势:纵向扩展架构、横向扩展架构、超融合架构。
  3. 纵向扩展(Scale-up)主要是提升单台服务器的性能,包括高可靠、高可用性以及可扩展性,主要应用于高性能交易类业务。
  4. 横向架构(Scale-out):简单说就是以数量取胜,Scale-out架构通常对单台服务器性能要求不高,主要通过更多的服务器协同完成任务。这种架构具有高性能、低沉本、高密度、节能低碳和集群管理等特点,该架构通常应用于超大规模数据中心、大数据分析、公有云、Web应用集群等业务场景。
  5. 超融合架构(Hyper-converged):这种架构理念是将计算、存储、网络和统一管理放在一个盒子里。通过一体化的设计、集成与优化,消除系统瓶颈,实现更好的整体系统效能。这种架构主要应用于高性能数据分析、数据库整合、云计算资源池平台、一体化数据中心等应用场景。这种架构,是一个超强的整体优势作战平台。
  6. 服务器架构大致有三种架构:C/S、B/S架构,高可用架构、负载均衡架构

1.C/S、B/S架构

  1. C代表“Client”,即客户端,S代表“Server”,即服务器;C/S就是“Client/Server”的缩写,即“客户端/服务器”模式。
  2. C/S构架流程: 客户机——经过(Request)请求——服务器(即数据库)——数据库根据客户机的请求,进一步(Response)响应给客户机。
    在这里插入图片描述
  3. B代表“Browser”,即浏览器;S代表“Server”,即服务器。B/S就是“Browser/Server”的缩写,即“浏览器/服务器”模式。
  4. B/S常用架构流程: 客户机浏览器——经过Http请求——Web服务器——经过查询——数据库服务器——响应查询后返回结果——Web服务器——再经过Http响应——返回给客户机浏览器
    在这里插入图片描述

2. 高可用架构

  1. 在C/S、B/S架构的基础上,通过横向扩展架构,形成一组计算机,这组计算机也就是集群。高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。
  2. 简单来说,集群作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node),如果某个节点失效,它的备援节点将在几秒钟的时间内接管它的职责。因此,对于用户而言,集群永远不会停机。这样就可以保证服务器硬件故障服务依然可用,数据依然保存并能够被访问。
  3. 主要的手段包括数据和服务的冗余备份以及失效转移:
    (1)对于服务而言,一旦某个服务器宕机,就将服务切换到其他可用的服务器上;
    (2)对于数据而言,如果某个磁盘损坏,就从备份的磁盘(事先就做好了数据的同步复制)读取数据。

二、高可用架构

1 高可用集群软件

实现高可用的开源软件有heartbeat、RHCS(在RHEL6中)、pacemaker/keepalived(在RHEL7中)。核心是通过心跳线连接两台服务器。。corosync+pacemaker 是现在最常用的组合。

2 pacemaker集群资源管理器

2.1 前提条件

两台RHEL7的虚拟机,主机名分别为servera、serverb,IP分别为192.168.1.136、192.168.1.116;配置l两台主机解析 ;两台虚拟机镜像均挂载到了/westos,配置yum源;两台虚拟机的火墙关闭,selinux为disabled状态。*
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 pacemaker详细配置

(1)安装pacemaker
在RHEL7中,安装pacemaker之前,需要配置yum源,在基础yum源上添加高可用套件和存储套件。
pacemaker套件存放路径为镜像下的/addons
在这里插入图片描述
在这里插入图片描述
两台虚拟机的yum仓库都配置成功时,使用命令安装:yum install -y pacemaker corosync
在这里插入图片描述
(2)在两台虚拟机上均安装pcs管理工具并启用pcsd服务:yum install -y pacemaker pcs psmisc policycoreutils-python
在这里插入图片描述
(3)两台虚拟机连接时需要认证,设定认证用户并给定用户密码:echo westos | passwd --stdin hacluster
注意两台主机的密码需要设定一致
在这里插入图片描述
(4)如果无法使用Tab键补齐pcs子命令,可以安装补齐子命令的工具:yum install -y bash-*
(5)使用pcs命令认证两台虚拟机: pcs cluster auth servera serverb
在这里插入图片描述(6)指定集群名称,加入servera和serverb到集群中:pcs cluster setup --name mycluster servera serverb
在这里插入图片描述
(7)启动集群:pcs cluster start --all
检验集群:corosync-cfgtool -s
查看集群状态:pcs cluster status
在这里插入图片描述
(8)检查配置并进行错误修改:crm_verify -L -V
在这里插入图片描述
默认情况下,fence是没有经行配置的,所以会产生错误。fence的作用就是解决节点故障。可以使用命令屏蔽掉fence后,错误就会消失。
命令:pcs property set stonith-enabled=false
在这里插入图片描述

2.3 Pacemaker 配置资源

在其中任意一个节点中,添加资源即可,节点之间资源同步。
(1)添加VIP:pcs resource create vip ocf:heartbeat:IPaddr2 ip=192.168.1.100 op monitor interval=30s
首先配置一个IP地址,不管集群服务在那个节点上运行,我们需要给客户端一个固定地址来访问服务,这个固定的IP地址取名为VIP。并且设定为集群每30秒检查它一次。注意:选择的IP地址不能被节点所占用
在这里插入图片描述
(2)添加Apache服务:pcs resource create apache systemd:httpd op monitor interval=1min
在所有的节点上安装Apache服务,但不用启动服务,集群会根据资源情况自动开启。
在这里插入图片描述
(3)创建资源组,将vip以及apache资源添加到同一个资源组中:pcs resource group add webgroup vip apache
显示vip资源和apoache服务资源分别运行在不同的后端服务器。这是由于集群具有对资源平均分配到各个后端服务器的特性设置的。但是实际需要是vip必须和apache服务运行在同一个后端服务器,才能保证客户的正常访问。此时需要设置资源组。
在这里插入图片描述


模拟测试:
(1)当一个节点宕机,资源会自动移动到另一个节点,保证服务的正常运行。
在这里插入图片描述
在这里插入图片描述
当节点servera恢复正常之后,集群会根据健康检查情况将该节点自动添加集群,但是资源继续在节点serverb上运行,不会回切到节点servera。
在这里插入图片描述
(2)节点状态正常,但节点中的资源Apache被关闭
这种情况下,不会切换到另一个节点上的资源,因为节点监控服务是每隔一分钟监控一次,所以当出现问题时,会在一分钟之后,自动开启本机节点上的资源,保证服务的正常运行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般情况下,只有当节点的内核崩溃后,是需要手动断电处理,就没有办法自动加入集群。
当节点出现单点故障时,都可以通过高可用集群来解决故障。

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页