【大话存储II】学习笔记(15章),集群概论

随着应用程序对服务器、存储系统的系统要求越来越高,单台设备有时已经无法满足需求了,此时我们有两种方法可以解决:

  • 使用性能更高的机器,但是成本以及维护成本非常高,而且不见得适合所有的应用。
  • 多台设备联合起来对外提供服务,这就是集群。

主机可以形成集群,存储设备也可以形成集群。目前中高端存储设备自身就有双控制器。

一些NAS设备可以在多台独立设备之间形成集群,并实现单一命名空间,即用户访问目录路径就像访问一台机器一样。屏蔽了后端访问的过程,实际上,可能是由集群中不同的节点来提供服务的。

集群概述

上面讲到了为什么要用集群,首先用多个节点来代替一个节点完成任务,处理能力可以得到提高,其实还可以获得高可用性,即一个节点发生故障,另外的节点可以接替故障节点。

我们可以把集群分为三种:

  • 高可用集群

    在HA集群中,节点分为活动节点和备份节点,当活动节点故障了以后,备份节点立即接替任务。

    那怎么实现切换的呢?HA集群的实现是基于资源切换。资源指的是备份节点要接管的所有东西,比如IP地址、磁盘卷、上下文等。

    那怎么知道需要主节点挂了呢?需要依靠操作系统上安装的HA软件。它可以监控对方节点状态,一旦发现故障,则强行将资源占有。

  • 负载均衡集群

    负载均衡节点中,所有节点都参与工作。每个节点的地位相同,但是工作量怎么分配呢?可以有两种方式:

    • 由单独的节点来分配运算量
    • 也可以由节点通过网络通信来协商。
  • 高性能集群

    又称科学计算集群,其实与负载均衡集群本质上是一样的 ,不过主要用于科学计算而已,所以这种集群主要面向与CPU消耗型的应用。

    如何把任务平均分配到每个CPU核心上呢?如果在一台计算机上则非常简单,操作系统会自动将多个线程平摊到多个CPU核心上

    但是在集群里面,则可以通过网络来进行协商。为了方便编程,还开发出很多API,可以屏蔽很多编程复杂度。所以节点收到任务数据之后,再由节点操作系统自行将任务数据分派到多个CPU核心上。

系统路径上的集群各论

集群可以在系统路上的任何点实现。比如CPU、内存、显卡等硬件可以形成集群,软件上,应用程序、文件系统、卷管理系统也可以形成集群。

什么时候需要集群呢?

  • 当需要系统高可用的时候,也就是某处故障不会影响系统的可用,可选择使用高可用性集群
  • 当单个系统的处理能力不能满足性能要求的时候,可使用负载均衡集群
  • 当需要运算的数据量很大的时候,运算周期很长的时候,可使用高性能集群。

下面我们一一谈一下硬件层面和软件层面的集群。

硬件层面的集群

  • CPU集群:体现在多CPU的计算机系统,比如对称多处理系统,多个CPU共享物理内存相互协作。
  • 内存集群:多条内存组成更大的容量空间。比如通过双通道提高性能(相当于条带化RAID0)
  • 以太网卡集群:将多块以太网卡绑定在一起,向上提供虚拟网卡,底层则可以通过ARP轮询负载均衡,或者HA方式的多路径访问。
  • 以太网集群:多台设备协作转发,实现了负载均衡和HA,体现在路由器和以太网交换机上。
  • 显卡集群:将插在总线上的多块显卡连接起来,实现对大型3D数据渲染负载均衡,性能可以得到很大的提升。
  • FC卡的集群:通过与主机上的多路径软件配合,多块FC卡之间可以实现流量的负载均衡和HA,或者通过FC网络中的ISL链路负载均衡、HA方式实现流量分摊
  • FC网络设备的集群:一般来说FC网络设备没有向以太网交换机那样实现了负载均衡和HA 。
  • 控制器集群:几乎中高端磁盘阵列的控制器都是双控的,可以是HA关系,或者是负载均衡关系。
  • 磁盘集群:典型的集群是RAID系统,

软件层面的集群

  • 应用程序的集群:一个应用程序可以同时启动多个实例(进程),共同完成工作 。不同实例可以运行在同一机器上,也可运行在不同的机器上,通过网络交互信息。
  • 文件系统的集群:文件系统的集群是一个比较独立的课题。可以实现集群功能的文件系统叫集群文件系统,比如NFS、CIFS等网络文件系统,就是最简单的集群文件系统。

    集群文件系统主要为了解决:容量、性能、共享

    • 解决容量问题:比如说分布式文件系统,文件的存储其实是分散在各个节点上的,但是对外呈现统一的命名空间,也即目录

    也就是说分布式文件系统将每个节点的可用空间进行虚拟的整合,形成虚拟目录,对外屏蔽细节,对外根据多种策略来判断数据流向,将数据写入实际的空间里面。

    • 解决性能问题。

    同样的,可以使用多个节点来获得高性能。集群文件系统使得每个节点不必连接昂贵的磁盘阵列,就可以获得较高的文件IO性能。

    在分布式文件系统的虚拟整合目录之上,采用了类似条带RAID 0的方式,依据负载均衡策略,将每次IO写入的数据,负载分担到所有节点上,节点获得的性能越多提升就越大。

    但是实际上,集群文件系统实施起来不那么容易,需要经过长时间的调优。

    • 解决共享访问的问题。

    这是集群文件系统要解决的最重要的问题,也就是多节点共同访问相同目录和相同文件时一致性的问题。

    集群文件系统需要考虑多个节点同时读写相同文件,保证所有节点都能读到一致性的数据,并利用分布式锁机制保证允许的性能下,节点之间不会写冲突。

    常用的集群文件系统有PVFS,GFS,DFS,Lustre等

  • 卷管理系统集群

    本机的卷和本机和远程的卷进行镜像等协同操作,形成集群。

原文地址:https://www.cnblogs.com/dy2903/p/8448907.html

时间: 2024-08-29 22:50:29

【大话存储II】学习笔记(15章),集群概论的相关文章

【大话存储】学习笔记(7,8章),FC协议

Fibre Channnel 我们之前引入了SAN的概念,SAN首先是个网络,而不是存储设备.这个网络是专门来给主机连接存储设备用的. 我们知道按照SCSI总线16个节点的限制,不可能接入很多的磁盘,要扩大SAN的规模,只使用SCSI总线是不行的,所以必须找到一种可寻址容量大.稳定性强.速度块.传输距离远的网络结构.FC网络就应运而生. FC网络 Fibre Channnel也就是网状通道,FC协议从1988年出现,最开始作为高速骨干网技术. 任何互联系统都逃不过OSI模型,所以我们可以用OSI

【大话存储】学习笔记(20章),云存储

目前云计算.云存储.云备份等技术可谓是铺天盖地,其中不乏有很多是浑水摸鱼的,本来没有多少云的性质,只是打着云的旗号来炒作而已. 目前市场对一款产品是否是云,没有明显的界定.因为云本来就没有一个标准. 云的是怎么来的 国外在指代一堆设备的时候,一般使用Cluster这个词,而中文翻译一般是"簇"或者"集群".云这个词来源已不可考,也许是某个人在讲授PPT的时候,顺口说了一句"The Servers in the cloud"的吧,这样Cloud这个

Elasticsearch学习笔记-03.1集群健康

本文系本人根据官方文档的翻译,能力有限.水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸. 原文出处:https://www.elastic.co/guide/en/elasticsearch/reference/current/_cluster_health.html 让我们以一个基础的健康检查开始,用这个检查我们可以得知我们的集群工作状态如何.咱们来使用curl做这个检查,不过你也可以使用任何能发起HTTP/REST请求的工具来做这个练习.假设我们仍旧在启动E

Elasticsearch学习笔记-03探索集群

本文系本人根据官方文档的翻译,能力有限.水平一般,如果对想学习Elasticsearch的朋友有帮助,将是本人的莫大荣幸.原文出处:https://www.elastic.co/guide/en/elasticsearch/reference/current/_exploring_your_cluster.html REST API现在咱们已经成功让Elasticsearch的节点(和集群)运行良好了,下一步来了解一下如何与之通信.得之吾幸,Elasticsearch提供了非常广泛切强大的RES

Hadoop学习笔记—13.分布式集群中的动态添加与下架

开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与下架一个Hadoop节点. 一.实验环境结构 本次试验,我们构建的集群是一个主节点,三个从节点的结构,其中三个从节点的性能配置各不相同,这里我们主要在虚拟机中的内存设置这三个从节点分别为:512MB.512MB与256MB.首先,我们暂时只设置两个从节点,另外一个作为动态添加节点的时候使用.主节点与

Spark学习笔记—01 Spark集群的安装

一.概述 关于Spark是什么.为什么学习Spark等等,在这就不说了,直接看这个:http://spark.apache.org, 我就直接说一下Spark的一些优势: 1.快 与Hadoop的MapReduce相比,Spark基于内存的运算要快100倍以上,基于硬盘的运算也要快10倍以上.Spark实现了高效的DAG执行引擎,可以通过基于内存来高效处理数据流. 2.易用 Spark支持Java.Python和Scala的API,还支持超过80种高级算法,使用户可以快速构建不同的应用.而且Sp

Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如何动态(不关机且正在运行的情况下)地添加一个Hadoop节点与下架一个Hadoop节点. 一.实验环境结构 本次试验,我们构建的集群是一个主节点,三个从节点的结构,其中三个从节点的性能配置各不相同,这里我们主要在虚拟机中的内存设置这三个从节点分别为:512MB.512MB与256MB.首先,我们暂时只设置两个从节点,另外一个作为动态添加节点的时候使用.主节点与

【大话存储】学习笔记(14章), 虚拟化.md

操作系统对硬件的虚拟化 操作系统:就是为其他程序提供编写和运行环境的程序. 由程序来运行程序,而不是程序自己来运行,这是操作系统提供的虚拟化的表现. 加电之后,首先运行OS,随时可以载入其他程序执行.执行完以后切换回OS本身. 但是每次还是要等待这个程序执行完毕,才能接着载入下个程序执行.任何中断事件,都会中断正在运行的程序. 程序执行完毕,会将CPU归还给OS.从而继续OS本身的运行.这种操作系统就是单任务操作系统,典型代表就是DOS. 而批处理就是操作系统将多个程序一个一个的排列起来.省去了

【大话存储】学习笔记(16章),数据保护和备份技术

数据保护 所谓数据保护是指对当前时间点上的数据进行备份, 如果说一份数据被误删除了,可以通过备份数据找回来. 从底层来分,数据保护可以分为文件级保护和块级保护. 文件级备份 文件级备份:将磁盘上所有文件通过调用文件系统接口备份到另一个介质上.也就是把数据以文件形式读出,然后存储在另一个介质上面. 此时备份软件只能感知到文件这一层. 我们知道一般来说,文件在原来的介质上,可以是不连续存放的,通过文件系统来管理和访问.当备份到新的介质上以后,文件完全可以连续存放.正因为如此,没有必要备份元数据,因为

【大话存储】学习笔记(17章),数据容灾

数据容灾 数据备份系统只能保证实际上被安全复制了一份,如果生产系统故障,必须将备份数据尽快的恢复到生产系统中继续生产,就叫容灾. 容灾可以分为四个级别: 数据级容灾:只是将生产站点的数据同步到远端. 与应用结合的数据级容灾:保证对应应用数据一致性. 应用级容灾:需要保证灾难发生以后,需要保证原生成系统中的应用系统在灾备站点可用. 业务级容灾:除了保证数据.应用系统在灾备站点可用,还要保证整个企业的业务系统仍对外可用,是最终层次的容灾. 概述 如果要充分保证数据的安全,只是在本地做备份是不够的,所