服务器集群-程序员宅基地

技术标签: 服务器  集群  

服务器集群(Server cluster)就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行

服务器集群简介

一旦在服务器上安装并运行了集群服务,该服务器即可加入群集集群化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。下述各节简要介绍了群集创建和集群操作中的节点行为。

注意:有关安装集群服务器的信息,请参阅 Windows server 2003产品家族的帮助和部署指南。

关于Windows Server 2003的企业版和Datacenter版都可以支持最大达8个节点的集群配置;其典型的特征是可为数据库、消息系统、文件与打印服务这些关键业务应用,提供高可用性和可扩展性,在集群中的多个服务器(节点)保持不间断的联系。即是说如果在集群中的某一节点因出错或维护不可用时,另一节点会立刻提供服务,以实现容错。正在访问服务的用户可以继续访问,而不会察觉到服务已经由另一台服务器(节点)提供。

创建群集

在服务器集群产品中含有用来在服务器上安装群集软件和创建新群集的群集安装实用工具。创建新群集时,首先在选择作为群集的第一个成员的计算机上运行该实用工具。第一步是确定群集名称并创建群集数据库和初始的群集成员列表来定义新群集。 Windows server 2003 群集新增了一个群集管理设置向导以及使用 cluster.exe命令行界面创建( 包括从远程创建 )群集的功能。

创建群集的第二步是,添加可供所有群集成员使用的共用数据存储设备。这样,创建的新群集将带有一个节点、自己的本地数据存储设备以及群集共用资源 —— 通常是磁盘或数据存储和连接介质资源。

创建群集的最后一步是,在另外将要成为群集成员的每一台计算机上运行安装实用工具。每当将新节点添加到群集中时,新节点都会自动从群集的原始成员获得现有群集数据库的副本。当节点加入或形成群集时,群集服务会更新该节点私有的配置数据库副本。

形成群集

如果服务器运行了群集服务并且无法找到群集中的其它节点,它自己可以形成一个群集。要形成群集,节点必须能够获得对仲裁资源的独占权。

当最初形成群集时,群集中的第一个节点将包括群集配置数据库每当有新节点加入群集时,新节点都会在本地获得并保持群集配置数据库的副本。仲裁资源用恢复日志(其中含有同节点无关的群集配置和状态数据)的形式存储配置数据库的最新版本。

在群集运行中,群集服务使用仲裁恢复日志执行以下操作 :

保证只有一组活动、可相互通讯的节点才能形成群集

仅当某个节点可以获得对仲裁资源的控制权时,才允许它形成群集

仅当某个节点可以同控制仲裁资源的节点通讯时,才允许它加入或留在现有群集中

集群服务的状态

从群集中的其它节点和群集服务管理接口的角度看,当形成群集时,群集中的每个节点可能处于三种不同状态中的一种。事件处理器会记录这些状态,而事件日志管理器会将这些状态复制到群集的其它节点。群集服务状态包括:

脱机。此时的节点不是完全有效的群集成员。该节点及其群集服务器可能在运行,也可能未运行。

联机。此时的节点是完全有效的群集成员。它遵从群集数据库的更新、对仲裁算法施加自己的影响、维护心跳通讯,并可以拥有和运行资源组。

暂停。它只能支持它当前已拥有的那些资源组。之所以提供暂停状态,是为了允许执行某些维护。大多数服务器群集组件会将联机和暂停视为等价的状态。

优势

一、集群系统可解决所有的服务器硬件故障,当某一台服务器出现任何故障,如:硬盘、内存、CPU、主板、I/O板以及电源故障,运行在这台服务器上的应用就会切换到其它的服务器上。

二、集群系统可解决软件系统问题,我们知道,在计算机系统中,用户所使用的是应用程序和数据,而应用系统运行在操作系统之上,操作系统又运行在服务器上。这样,只要应用系统、操作系统、服务器三者中的任何一个出现故障,系统实际上就停止了向客户端提供服务,比如我们常见的软件死机,就是这种情况之一,尽管服务器硬件完好,但服务器仍旧不能向客户端提供服务。而集群的最大优势在于对故障服务器的监控是基于应用的,也就是说,只要服务器的应用停止运行,其它的相关服务器就会接管这个应用,而不必理会应用停止运行的原因是什么。

三、集群系统可以解决人为失误造成的应用系统停止工作的情况,例如,当管理员对某台服务器操作不当导致该服务器停机,因此运行在这台服务器上的应用系统也就停止了运行。由于集群是对应用进行监控,因此其它的相关服务器就会接管这个应用。

缺点

我们知道集群中的应用只在一台服务器上运行,如果这个应用出现故障,其它的某台服务器会重新启动这个应用,接管位于共享磁盘柜上的数据区,进而使应用重新正常运转。我们知道整个应用的接管过程大体需要三个步骤:侦测并确认故障、后备服务器重新启动该应用、接管共享的数据区。因此在切换的过程中需要花费一定的时间,原则上根据应用的大小不同切换的时间也会不同,越大的应用切换的时间越长。

加入群集

寻找

如果一个服务器要加入现有群集 , 则它必须运行群集服务并且必须成功找到群集中的其它节点。在找到其它节点后,加入的服务器必须接受群集成员资格验证,并获得群集配置数据库的副本。

条件

加入现有群集的过程开始于 Windows Server 2003 或 Windows 2000 Service Control Manager 在节点上启动群集服务之时。在启动过程中,群集服务会配置并装入该节点的本地数据设备。它并不会试图将共用的群集数据设备作为节点联机,因为现有群集可能正在使用这些设备。

过程

为了查找其它节点 , 会启动一个发现过程。当节点发现任何群集成员时,它将执行身份验证序列。第一个群集成员会对新加入者进行身份验证,并且在新服务器得到成功验证后返回成功状态。如果验证不成功(未能识别待加入节点的群集成员身份,或者它使用了无效的帐户密码),则加入群集的请求会被拒绝。

验证

进行成功验证后,首先联机的群集节点会检查加入节点上的配置数据库副本。如果该副本已过时,对加入服务器进行验证的群集节点会为加入的服务器发送该数据库的更新副本。刚加入群集的节点在收到复制的数据库后,可以用它查找共享资源并根据需要将它们联机。

脱离群集

当节点关闭或群集服务被停止时,节点可能脱离群集。但当节点不执行群集操作(比如不向群集配置数据库提交更新)时,节点也可能被迫脱离(被逐出)群集。

如果节点根据预先的计划脱离群集,它会向其它所有节点成员发送 ClusterExit 消息,通知它们它将脱离群集。该节点不等待任何响应就会立即进行关闭资源和所有群集连接的操作。由于其余节点收到了退出消息,因此它们不会执行在节点意外失效或网络通讯停止时发生的重新分组过程以重新确立群集成员身份。

方法

有两种常用的服务器集群方法,一种是将备份服务器连接在主服务器上,当主服务器发生故障时,备份服务器才投入运行,把主服务器上所有任务接管过来。另一种方法是将多台服务器连接,这些服务器一起分担同样的应用和数据库计算任务,改善关键大型应用的响应时间。同时,每台服务器还承担一些容错任务,一旦某台服务器出现故障时,系统可以在系统软件的支持下,将这台服务器与系统隔离,并通过各服务器的负载转嫁机制完成新的负载分配。PC服务器中较为常见的是两台服务器的集群,UNIX系统可支持8台服务器的集群系统,康柏的专用系统OpenVMS可支持多达96台服务器的集群系统。

集群的特点

在集群系统中,所有的计算机拥有一个共同的名称,集群内任一系统上运行的服务可被所有的网络客户所使用。集群必须可以协调管理各分离组件的错误和失败,并可透明的向集群中加入组件。用户的公共数据被放置到了共享的磁盘柜中,应用程序被安装到了所有的服务器上,也就是说,在集群上运行的应用需要在所有的服务器上安装一遍当集群系统在正常运转时,应用只在一台服务器上运行,并且只有这台服务器才能操纵该应用在共享磁盘柜上的数据区,其它的服务器监控这台服务器,只要这台服务器上的应用停止运行(无论是硬件损坏、操作系统死机、应用软件故障,还是人为误操作造成的应用停止运行),其它的服务器就会接管这台服务器所运行的应用,并将共享磁盘柜上的相应数据区接管过来。其接管过程如下图所示(以应用A为例):

1、应用A正常工作时;

2、应用A停止工作后,其它的备用服务器将该应用接管过来。 具体接管过程分三部执行: a.系统接管 b.加载应用 c.客户端连接

集群技术的分类

1)高可用集群

高可用集群的英文全称是High Availability,简称HA cluster。高可用的含义是最大限度地可以使用。从集群的名字上可以看出,此类集群实现的功能是保障用户的应用程序持久、不间断地提供服务。

2)负载均衡集群

负载均衡集群也是由两台或者两台以上的服务器组成。分为前端负载调度和后端服务两个部分。负载调度部分负责把客户端的请求按照不同的策略分配给后端服务节点,而后端节点是真正提供应用程序服务的部分。与HA Cluster不同的是,负载均衡集群中,所有的后端节点都处于活动状态,它们都对外提供服务,分摊系统的工作负载。

3)科学计算集群

高性能计算集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大计算能力,包括数值计算和数据处理,并且倾向于追求综合性能。HPC与超级计算类似,但是又有不同,计算速度是超级计算追求的第一目标。最快的速度、最大的存储、最庞大的体积、最昂贵的价格代表了超级计算的特点。随着人们对计算速度需求的提高,超级计算也应用到各个领域,对超级计算追求单一计算速度指标转变为追求高性能的综合指标,即高性能计算。

转自:百度百科-验证 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/fuhanghang/article/details/128610198

智能推荐

基于STM32串口通信的ESP8266WiFi模块使用_cipmux and cipserver must be 0-程序员宅基地

文章浏览阅读8.8w次,点赞196次,收藏1.9k次。掌握esp8266的使用可以实现真正的万物物联。esp8266wifi通信对于MCU而言归结到底还是串口或spi通信。因此,掌握RS232通信协议、SPI通信协议以及esp8266的配置就可以基本搞定WiFi模块的使用。参考文章:[1] ESP8266WiFi模块AT指令入门指南[2] ESP8266 WIFI串口通信模块使用详解(实例:附STM32详细代码)[3] STM32串口接收..._cipmux and cipserver must be 0

win7系统远程桌面 无法连接到服务器,win7系统远程连接提示“由于以下原因无法连接”的解决方法...-程序员宅基地

文章浏览阅读1.4k次。很多小伙伴都遇到过win7系统远程连接提示“由于以下原因无法连接”的困惑吧,一些朋友看过网上零散的win7系统远程连接提示“由于以下原因无法连接”的处理方法,并没有完完全全明白win7系统远程连接提示“由于以下原因无法连接”是如何解决的,今天小编准备了简单的解决办法,只需要按照 1)未启用对服务器的远程访问 2)远程计算机已关闭的顺序即可轻松解决,具体的win7系统远程连接提示“由于以下原因无法连..._win7 无法远程 到服务器

vue_element-admin整合SpringBoot实现登录_vue-element-admin 整合springboot登录-程序员宅基地

文章浏览阅读3.4k次。SpringBoot实现vue-admin-template登录接口vue-admin-templatevue-admin-template是一个简化版的vue-element-admin的模板,适合vue用来做项目的搭建,虽然官方文档以及花裤衩前端大佬在博客中已经将大部分的疑难杂症解决了,但当完全自己搭建的时候才发现多折腾vue-admin-template登录接口请求详解要想搞懂一个接口,最好的方式就是1.去看接口的定义声明的参数2.发送请求查看返回的数据格式开始1.先配置跨域等基_vue-element-admin 整合springboot登录

百度离线地图瓦片下载_百度瓦片地图下载-程序员宅基地

文章浏览阅读2.2k次。瓦片简介百度离线地图是由多层级的多张瓦片组成的,存放在titles文件夹下,层级越高,瓦片越多,显示的地图越详细下载的瓦片有png和jpg等格式,我下载的png格式没法用,后面全改成jpg格式就可以了将下载的瓦片按照下载级别放到对应的文件夹下瓦片获取从别的博主那找了两种获取方式1、链接: http://www.xiaoguo123.com/p/baidumap_offline_v2/.从这个链接里边的网盘下载,按照博主的介绍一步步做,一定要看使用前必读,需要按照用前必读改一下百度的密钥这个瓦_百度瓦片地图下载

调Q技术的基本原理-程序员宅基地

文章浏览阅读1.7w次,点赞19次,收藏68次。几分钟复习一下调Q技术~ 基本原理及常见方法详解。复习面试必备!_调q

维护网络服务器安全的七个小技巧-服务器安全资源网-程序员宅基地

文章浏览阅读127次。技巧一:从基本做起***开始对你的网络发起***的时候,他们首先会检查是否存在一般的安全漏洞。因此,当你服务器上的数据都存在一个FAT的磁盘分区的时候,即使安装上世界上所有的安全软件也不会对你有多大帮助的。因此,你需要从基本做起。将服务器上所有包含了敏感数据的磁盘分区都转换成NTFS格式的。同时,可以为Exchange Server安装反病毒软件,将被感染的邮件在到达用户以前..._简述你利用互联网进行资源检索时遇到的问题或是小技巧,列举并上传至活动心得

随便推点

用户画像入门(转)_常见用户画像的基本人口属性不包括以下哪一因素-程序员宅基地

文章浏览阅读2k次。这篇文章在宏观上很好地描述了用户画像的主要内容。(文章内的图片来源于不同帖子,侵删)一、 什么是用户画像 用户画像是指根据用户的属性、偏好、生活习惯、行为等信息,抽象出来的标签化用户模型。通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。..._常见用户画像的基本人口属性不包括以下哪一因素

springMVC中前台封装的数据无法传到后台的解决_springmvc 多级封装的参数无法传递到后台-程序员宅基地

文章浏览阅读1.9k次。前台与后台数据交互_springmvc 多级封装的参数无法传递到后台

在anaconda环境下,安装tensorflow_file "/home/snake/anaconda3/envs/tf12/lib/python3.-程序员宅基地

文章浏览阅读5.3w次,点赞16次,收藏92次。转载地址:https://www.cnblogs.com/tiansheng/p/7281290.html,http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html,安装环境:Centos7,anaconda3,python3.6(1) 建立一个 conda 计算环境名字叫tensorflow:conda..._file "/home/snake/anaconda3/envs/tf12/lib/python3.6/site-packages/tensorflow

CentOS 7 构造GCC 4.8.2 32位编译环境_libpthread库 yum安装-程序员宅基地

文章浏览阅读1.2w次。CentOS 7 构造GCC 4.8.2 32位编译环境_libpthread库 yum安装

第三次作业——《原型设计》-程序员宅基地

文章浏览阅读424次。原型设计这个作业属于哪个课程这个作业要求在哪里https://www.cnblogs.com/harry240/p/11524127.html这个作业的目标1,熟悉三种原型设计工具并学会使用他们; 2,对给出的题目进行需求分析; 3,设计题目所需要的原型背景简介:什么是原型设计 ?原型设计是产品经理确认需求、设计产品最重要的沟通工具。一,对..._供不完全的原型设计文件-“数据集实例(不全).rp”, 完成如下任务

MT7628无法连接_mt7628有些mac地址导致ap无法被连接-程序员宅基地

文章浏览阅读2.8k次。MT7628驱动版本:4.0.13现象:手机或者pad无法连接MT7628 APlog:[ 3633.276000] Qidx(0), not enough space in MgmtRing, MgmtRingFullCount=957![ 3633.288000] Qidx(0), not enough space in MgmtRing, MgmtRingFullCount=_mt7628有些mac地址导致ap无法被连接