从硬盘到集群存储

Ms.Haoz存储硬件,集群存储硬盘,集群存储,存储方案大约 11 分钟

集群存储是HPC集群的关键组件,对集群的使用和集群性能都有较大的影响。

一个好用的集群,快速、稳定的存储是必不可少的。而存储从硬件到软件也是种类繁多,各种专业词汇让人摸不到头脑。

现在我们就来介绍下关于存储的那些软硬件知识,内容分两篇,下面我们先介绍硬件内容。

硬件篇

硬盘

硬盘是数据存储的核心和基础。无论采用何种存储架构,最终数据还是要存储到硬盘里面。所以所有的存储架构也是围绕着如何管理硬盘而展开的。目前的市场上的硬盘主要分2种,机械硬盘固态硬盘,这点大家应该都知道。 机械硬盘根据接口情况分多种,目前最为常用的有两种,分别是 STAT(Serial Advanced Technology Attachment)和SAS(Serial Attached SCSI), 这是两种计算机硬盘接口标准,它们在物理接口、数据传输速率、可靠性等方面存在不同。具体区别为:

  • 物理接口
    SATA和SAS的物理接口是不同的。SATA使用较为普遍的扁平线缆,而SAS则使用更为复杂的点对点串行连接,这种连接方式可以让SAS在更长的距离范围内工作,并且支持更多的设备连接。此外,SAS还支持SATA硬盘的连接。

  • 数据传输速率
    SAS具有更高的数据传输速率。SATA的最高速率是6Gbps,而SAS的最高速率可以达到12Gbps,这使得SAS适合于高性能计算机系统,如企业级服务器、数据库等。

  • 可靠性
    SAS在可靠性方面也比SATA更好。SAS硬盘通常具有更高的质量标准和更严格的测试要求,因此在高负载和24/7工作环境下更加可靠。此外,SAS硬盘还支持多路径和多节点,从而提高了数据的可靠性和可用性。

SAS硬盘具有更高的性能、可靠性和更复杂的接口,成本更高,所以,价格自然也比SATA硬盘要高。SAS硬盘是目前构建集群存储的主要硬盘。

固态硬盘目前主流的也分两种:SATA SSDNVMe SSD, 同样,他们在物理接口,性能方面存在区别。

  • 性能方面
    NVMe SSD比传统的SATA SSD拥有更快的读写速度和更高的吞吐量。这是因为NVMe SSD采用了更为先进的协议,通过PCIe总线传输数据,提供更高的带宽和更低的延迟,如今,市面上可以几秒内快速开机的电脑产品都是基于NVMe SSD硬盘实现的。相对而言,SATA SSD的性能则受到SATA接口的限制。

  • 接口方面
    SATA SSD使用SATA接口,而NVMe SSD使用PCIe接口。PCIe是一种高速总线,支持更高的带宽和更快的数据传输速度,因此,NVMe SSD的性能更为出色。

所以,NVMe SSD的价格也比传统SATA SSD的价格要高。

硬件存储方案

我们基本都了解在电脑上连接硬盘的方式,其实,在大部分情况在服务器中也是同样的连接方式。然而,还有很多情况或场景,我们需要大量的存储空间来存放数据,这时候就需要用到很多磁盘,如何组织这些磁盘呢?通常我们会在服务器中增加阵列卡来拓展服务器可以连接硬盘的数量。 阵列卡是一种硬件设备,用于连接多个硬盘,将它们组合成阵列,提供数据存储、保护、备份和恢复等功能。阵列卡通常安装在计算机主板上的扩展插槽中,使用专用的接口和电路板连接硬盘。

阵列卡的主要功能包括:

  • 硬盘管理:阵列卡可以检测硬盘的状态,包括故障、读写速度、温度等,并根据需要对硬盘进行管理和维护。
  • 阵列管理:阵列卡可以创建、删除、扩展和合并阵列,同时支持不同的RAID级别,提供数据保护和恢复功能。
  • 数据保护:阵列卡可以提供数据镜像、数据备份和数据恢复等功能,保证数据的完整性和可用性。
  • 性能优化:阵列卡可以提供高速的数据读写和处理速度,提高计算机系统的性能和效率。
  • 外部接口:阵列卡可以提供不同的外部接口,包括SAS、SATA、SCSI等,支持不同的硬盘和阵列配置。

阵列卡核心是RAID功能,所以,有时候也叫它RAID卡,这里给大家简单介绍下常见的RAID级别。

  • RAID 0:提供数据分布和并行读写方式,提高读写速度,但没有数据冗余,如果一个硬盘出现故障,可能导致数据丢失。
  • RAID 1:提供数据镜像的方式,将数据完全复制到另外一台硬盘中,保证数据的完整性和可用性,但需要消耗更多的存储空间。
  • RAID 5:提供奇偶校验的方式,将数据和奇偶校验信息分别存储在不同的硬盘中,当一个硬盘出现故障时,可以通过奇偶校验信息重建数据,保证数据的完整性和可用性。
  • RAID 6:类似于RAID 5,但提供双重奇偶校验的方式,可以保证在两个硬盘出现故障的情况下仍然能够恢复数据。
  • RAID 10:将RAID 1和RAID 0相结合,将多个数据镜像的硬盘组合起来,再进行数据分布和并行读写,提高读写速度,同时保证数据的完整性和可用性。 注意:这个读法是RAID一零,而不是RAID十。

另外,按存储的连接方式来区分,目前主要的方案有三种:

  • DAS(Direct-attached Storage)直连存储
    DAS就是指将存储设备直接连接到计算机或服务器的一种方式。DAS存储不需要中间层的存储网络,所以,数据传输速度快,访问延迟低,有高性能、方便安装、安全性高、成本低的优点。但缺点也同样明显:扩展性差、容量有限、管理麻烦、数据共享困难。
  • NAS(Network-attached Storage)网络附加存储
    NAS是一种连接到计算机网络上的存储设备,可以通过网络提供数据存储和访问服务。NAS存储设备通常采用独立的操作系统,例如基于Linux的NAS操作系统(例如FreeNAS、OpenMediaVault)或专有的NAS操作系统(例如QNAP、Synology),这些操作系统提供了数据管理、访问控制、备份、恢复和监控等功能。NAS存储有方便数据共享、管理简单、扩展性好的优点,但性能会受到网络带宽和传输延迟的限制。由于NAS存储连接到网络上,安全性也是一个重要的问题。另外,NAS存储连接到多个计算机或服务器,提供并发访问,需要考虑数据一致性的问题。
  • SAN(Storage Area Network)存储区域网络
    SAN是一种专门用于数据存储的高速网络,通过Fibre Channel、iSCSI等专有协议连接存储设备和计算机或服务器,提供高性能、高可用性、高扩展性的数据存储解决方案。SAN存储通常由专门的存储设备和交换机组成,交换机可以提供高速数据传输和路由功能,使得多个计算机或服务器可以同时访问存储设备。SAN存储具有高性能、高可用性、高扩展性、安全性好的优点,但相对成本高昂,复杂性高,需要专业的技术知识才能进行配置和管理。

通过以上内容,我们基本熟悉了各种硬盘和存储方案的特点,现在的你应该基本能够根据需要选择自己需要的存储方案了。方案有很多,重点是我们要清楚自己的需求是什么?

以上就是存储硬件的基本介绍了。下面,我们介绍软件方面的内容。

软件篇

如果将建设存储集群比作建一栋房子,那么硬盘和硬件存储方案就是这栋房子的砖块和钢筋水泥,而软件则好比是这栋房子的设计图纸。

有人要高楼大厦,有人要普通小楼,有人要独栋别墅,也有人要温馨小屋。人们对房子的需求是多元的。同样,人们对存储的需求也是多元的。于是乎,就有各种不同的存储软件。但不管是什么软件,都需要在操作系统的基础上运行。

所以,硬件的基础之上就是操作系统。操作系统主要负责底层硬件的驱动和管理,同时提供基本的文件系统和存储管理功能。常见的操作系统包括Linux、Windows、UNIX等。 操作系统在管理硬盘的过程中,也会将物理磁盘抽象出来进行管理,这个过程叫做磁盘的虚拟化。比如 Linux的LVM,可以将多个物理磁盘整合成一个逻辑磁盘,实现数据的统一管理和快速分配。Windows也有类似的软件,叫做Windows Storage Spaces。磁盘的虚拟化过程并不一定是在操作系统之后这个位置做,可以根据需求在其他地方实现,比如,硬件篇中我们提到的RAID也是一种磁盘虚拟化的技术。

然后就是文件系统,文件系统负责将数据存储到硬盘中,并提供文件访问、数据保护和数据恢复等功能。咱们常见的文件系统有Windows的NTFS、FAT,Linux的XFS、EXT系列等。这就是我们个人电脑和普通服务器主要使用的存储系统了。可以满足单台计算机的存储功能和需求。

再向上扩展,则由于应用场景、领域的不同,人们也开发出了不同的文件系统来解决相应的问题。目前常见的领域和软件如下:

  • HPC
    根据HPC的特点,目前主要用于HPC场景的存储文件系统为并行文件系统,常用的并行文件系统有 Lustre、Beegfs、IBM Spectrum Scale(原名GPFS)等。
  • 云计算和大数据
    应用于云计算和大数据的主要文件系统为分布式文件系统,常用的分布式文件系统有Ceph、GlusterFS、MooseFS、HDFS等。
  • NAS
    企业NAS存储类似企业内部网盘,用于存储企业内部数据存储。常用的NAS系统有FreeNAS、Openfiler、Synology Drive等

整体来看,他们都可以在更高层级上以节点为单位,整合多个节点的存储资源,来构建更大的存储空间。在节点这个层级也同样属于一种存储虚拟化的方案。

所以,按照这个思路我们可以总结一个通用存储架构情况,如下:
storage_cluster

为了体现各种硬件方案,这个图中的硬件方案是多样的。这种属于异构存储。 实际情况,一般只有分布式存储可能会出现如此复杂的情况。HPC环境下为了保障存储性能的稳定,底层基本只使用一种硬件方案,通常是storage2或storage3方案。并行文件系统部分,则由于设计和实现的方式有一些区别,不同并行文件系统之间也有一定的差别。使用时也需要对具体的并行文件系统进行学习,才能熟练掌握。

本篇关于硬盘到存储的分析就到这里了,以上都是个人对存储的理解和总结,如有什么问题或需要补充的内容,欢迎交流。

上次编辑于:
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7

回到顶部