存储基础【块/文件/对象、集中式/分布式、DAS/NAS/SAN、RAID技术】

1、什么是块存储、文件存储、对象存储

存储是指将数据保存在某种介质上,以便于后续的访问和使用。存储的基本概念包括存储介质、存储设备、存储系统、存储架构等。

  • 存储介质:是指用于存放数据的物理材料,如磁带、磁盘、光盘、闪存等。
  • 存储设备:是指用于读写存储介质上的数据的机械或电子装置,如磁带机、磁盘驱动器、光驱、固态硬盘等。
  • 存储系统:是指由多个存储设备组成的逻辑单元,提供数据的存取服务,如磁盘阵列、文件服务器、对象存储设备等。
  • 存储架构:是指存储系统与计算机之间的连接方式和通信协议,如直接连接(DAS)、网络连接(NAS)、块连接(SAN)等。

根据数据的组织方式和访问方式,可以将存储分为三种类型:块存储、文件存储和对象存储。

  • 块存储:是指将数据分割为固定大小的块,每个块有一个唯一的地址,通过地址来访问块。块存储通常采用“控制器+磁盘柜”的方式,基于专用的硬件和软件,支持块级别的读写操作。块存储不提供文件系统功能,需要由主机或客户端来格式化和管理数据。块存储适合于对性能、稳定性、数据一致性要求高的场景,如核心数据库、金融/医疗等应用。
  • 文件存储:是指将数据组织为文件和目录的层次结构,每个文件有一个唯一的路径,通过路径来访问文件。文件存储通常采用“标准的x86服务器+存储软件”的方式,基于通用的硬件和软件,支持文件级别的读写操作。文件存储提供文件系统功能,可以由多个主机或客户端共享数据。文件存储适合于对扩展性、吞吐率、存储功能要求高的场景,如海量非结构化数据、云原生/容器/超融合等应用。
  • 对象存储:是指将数据封装为对象,每个对象包含数据、元数据和全局唯一的标识符,通过标识符来访问对象。对象存储通常采用“标准的x86服务器+分布式软件”的方式,基于通用的硬件和软件,支持对象级别的读写操作。对象存储不提供文件系统功能,也不支持随机访问或修改数据,只能整体读写对象。对象存储适合于对规模可扩展、容量巨大、成本低廉要求高的场景,如图片/视频/音频等多媒体数据、云备份/归档等应用。

1.1、块存储、文件存储和对象存储的区别

块级存储和文件级存储是两种不同的数据存储方式,主要区别在于存储的组织形式和访问方式。对象存储是另一种不同的数据存储方式,主要区别在于存储的数据结构和访问方式。

  • 块级存储:块级存储是将数据分成固定大小的块进行存储的方式,每个块有一个唯一的标识符,但没有其他元数据。块级存储通常用于结构化的数据,如数据库、应用程序等,因为它可以提供更高的性能和灵活性。块级存储需要通过SCSI或FC等协议来访问,操作系统会将块级存储识别为本地硬盘,并在其上创建文件系统。块级存储的优点是可以支持多种文件系统和操作系统,提供高速和低延迟的数据传输,实现数据的随机访问和修改。块级存储的缺点是不能直接管理文件和文件夹,需要额外的软件或硬件来实现,而且成本和复杂度较高。
  • 文件级存储:文件级存储是将数据以文件为单位进行存储的方式,每个文件有一个文件名和路径,以及一些元数据。文件级存储通常用于非结构化的数据,如文档、图片、视频等,因为它可以提供更简单的管理和共享。文件级存储需要通过NFS或SMB等协议来访问,操作系统会将文件级存储识别为网络共享,并在其上访问或创建文件和文件夹。文件级存储的优点是可以直接管理文件和文件夹,无需额外的软件或硬件来实现,而且成本和复杂度较低。文件级存储的缺点是不能支持多种文件系统和操作系统,提供相对较慢和较高延迟的数据传输,实现数据的顺序访问和修改。
    对象存储:对象存储是将数据作为一个完整的对象进行存储的方式,每个对象包含一个唯一的标识符,一个元数据和一个数据。对象存储通常用于非结构化的数据,如图片、视频、文档等,因为它可以提供更大的容量和更好的可扩展性。对象存储需要通过API或HTTP等协议来访问,操作系统无法将对象存储识别为本地硬盘或网络共享,并且无法在其上创建文件系统。对象存储的优点是可以直接管理对象和元数据,无需额外的软件或硬件来实现,而且成本和复杂度较低。对象存储的缺点是不能支持多种文件系统和操作系统,提供相对较慢和较高延迟的数据传输,实现数据的顺序访问和修改。

如下是块级存储、文件级存储和对象存储的一些区别和相似点:

  • 区别
    • 存储方式:块级存储将数据分成块,文件级存储将数据以文件为单位,对象存储将数据作为对象。
    • 元数据:块级存储没有元数据,文件级存储有部分元数据,对象存储有丰富的元数据。
    • 访问方式:块级存储通过SCSI或FC等协议访问,文件级存储通过NFS或SMB等协议访问,对象存储通过API或HTTP等协议访问。
    • 识别方式:块级存储被操作系统识别为本地硬盘,并在其上创建文件系统,文件级存储被操作系统识别为网络共享,并在其上访问或创建文件和文件夹,对象存储不能被操作系统识别,并且无法在其上创建文件系统。
    • 性能:块级存储具有最高的性能,因为它可以提供高速和低延迟的数据传输,实现数据的随机访问和修改。文件级存储具有中等的性能,因为它可以提供较快和较低延迟的数据传输,实现数据的顺序访问和修改。对象存储具有最低的性能,因为它可以提供较慢和较高延迟的数据传输,实现数据的顺序访问和修改。
    • 成本:块级存储具有最高的成本,因为它需要专用的光纤设备和专业知识,而且光纤设备通常比以太网设备更昂贵。文件级存储具有中等的成本,因为它可以利用现有的以太网基础设施和标准化的设备,无需额外投资或专业技术人员。对象存储具有最低的成本,因为它可以利用云服务或低端硬件来实现,而且只需按需付费。
    • 可扩展性:块级存储具有最高的可扩展性,因为它可以提供更大的存储容量和更好的性能,支持数百台服务器和数千个存储设备。文件级存储具有中等的可扩展性,因为它可以提供较大的存储容量和较好的性能,支持数十台服务器和数百个存储设备。对象存储具有最低的可扩展性,因为它可以提供无限的存储容量,但性能受限于网络带宽和延迟。
  • 相似点
    • 数据共享:块级存储、文件级存储和对象存储都可以实现数据的共享,但方式不同。块级存储可以通过光纤扩展器或网桥来实现远程或异地的数据备份或恢复。文件级存储可以通过互联网或虚拟专用网(VPN)来实现远程或异地的文件访问或共享。对象存储可以通过API或HTTP等协议来实现全球范围内的对象访问或共享。
    • 数据冗余:块级存储、文件级存储和对象存储都可以实现数据的冗余,但方式不同。块级存储可以通过RAID或镜像等技术来实现数据的冗余,提高数据的可靠性和可用性。文件级存储可以通过复制或快照等技术来实现数据的冗余,提高数据的恢复能力和一致性。对象存储可以通过多副本或纠删码等技术来实现数据的冗余,提高数据的耐久性和容错性。

2、DAS、NAS、SAN是什么

DAS、NAS和SAN是三种常见的存储技术,它们的主要区别在于连接方式、存储级别和网络类型。下面是它们的各自的优劣势:

DAS(直连附加存储)是指存储设备直接连接到计算机或服务器上,通常通过SCSI或FC接口。它的优势是购置成本低,配置简单,使用过程和使用本机硬盘并无太大差别。它的缺点是数据备份操作复杂,服务器本身容易成为系统瓶颈,服务器发生故障,数据不可访问,对于存在多个服务器的系统来说,设备分散,不便管理。

NAS(网络附加存储)是指存储设备通过网络技术(TCP/IP,ATM,FDDI)连接到服务器上,实现文件级别的共享。它的优势是集成了存储设备、网络接口和以太网技术,通过以太网直接访问数据,可快速实现部门级存储容量需求和文件传输需求。它具有自己的操作系统和自己的存储空间,兼容各种操作系统,并且具有良好的灵活性。它的缺点是存储数据通过网络传输,因此容易产生数据泄漏等安全问题,易受网络上其它流量的影响,当网络上有其它大数据流量时会严重影响系统性能。另外,存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,因此会在某些情况下严重影响系统效率。

SAN(存储区域网络)是指存储设备通过光纤通道(Fibre Channel)技术连接到服务器上,实现块级别的共享。它的优势是提供了高速、高可靠、高安全的数据传输网络,支持数百个磁盘,提供海量存储空间,可以根据需要划分为不同大小的LUN,然后分配给服务器。它将计算与存储分离开来,增强了存储扩展的灵活性。它的缺点是需要单独建立光纤网络,异地扩展比较困难。另外,SAN阵列柜和SAN必须的光纤通道交换机价格都是十分昂贵的。

2.1、NAS和SAN的区别

SAN和NAS是两种不同的网络存储技术,都是利用网络将服务器和存储设备连接起来,实现数据的高速传输和共享。SAN和NAS的区别主要有以下几个方面:

  • 存储方式:SAN是基于块级存储的,即将数据分成固定大小的块进行传输和存储,而不是以文件为单位。NAS是基于文件级存储的,即将数据以文件为单位进行传输和存储。这样,SAN可以提供更高的性能和灵活性,支持多种文件系统和操作系统。NAS可以提供更简单的管理和共享,支持多种协议和应用。
  • 网络协议:SAN通常使用光纤通道(Fibre Channel,FC)协议或者iSCSI协议来连接服务器和存储设备。FC协议是专门为存储而设计的,可以提供高达32Gbps的带宽,低延迟和高吞吐量。iSCSI协议是在TCP/IP层上封装SCSI命令,可以利用现有的以太网基础设施,降低成本和复杂度。NAS通常使用以太网协议来连接服务器和存储设备,并使用NFS或SMB等文件访问协议来共享文件。
  • 网络拓扑:SAN通常使用光纤交换机或路由器来构建一个专用的存储网络,与本地区域网(LAN)分离。这样可以减少网络拥塞和延迟,提高数据的可靠性和安全性。SAN还可以使用光纤扩展器或网桥来跨越远距离,实现远程或异地的数据备份或恢复。NAS通常直接连接到LAN上的交换机或路由器上,并使用LAN上的IP地址来访问文件。这样可以利用现有的网络设备和管理工具,降低部署和维护的难度。NAS还可以利用互联网或虚拟专用网(VPN)来实现远程或异地的文件访问或共享。
  • 成本和可扩展性:SAN通常具有更高的成本和可扩展性,因为SAN需要专用的光纤设备和专业知识,而且光纤设备通常比以太网设备更昂贵。但是,SAN也可以提供更大的存储容量和更好的性能,支持数百台服务器和数千个存储设备。NAS通常具有更低的成本和可扩展性,因为NAS可以利用现有的以太网基础设施和标准化的设备,无需额外投资或专业技术人员。但是,NAS也受限于以太网的速度和带宽,难以支持高性能或大规模的应用。

2.2、IP SAN和FC SAN的区别

FC SAN和IP SAN是两种存储区域网络(SAN)的技术,都是利用网络将服务器和存储设备连接起来,实现数据的高速传输和共享。FC SAN和IP SAN的相同点和差异点主要有以下几个方面:

  • 相同点:FC SAN和IP SAN都是基于块级存储的,即将数据分成固定大小的块进行传输和存储,而不是以文件为单位。这样可以提高数据的访问速度和效率,同时也可以支持多种文件系统和操作系统。FC SAN和IP SAN都可以实现存储的集中化、虚拟化和管理,提高存储的可用性、可靠性和可扩展性。
  • 差异点:FC SAN和IP SAN的主要差异在于使用的网络协议和硬件设备不同。FC SAN使用光纤通道(Fibre Channel,FC)协议和光纤设备,如光纤卡、光纤交换机、光纤盘阵等。IP SAN使用互联网协议(Internet Protocol,IP)和以太网设备,如网卡、路由器、交换机、磁盘阵列等。由于这些差异,FC SAN和IP SAN在性能、成本、兼容性等方面也有所不同。
    • 性能:FC SAN通常具有更高的性能,因为FC协议是专门为存储而设计的,可以提供高达32Gbps的带宽,低延迟和高吞吐量。IP SAN通常具有较低的性能,因为IP协议是通用的网络协议,需要在TCP/IP层上封装SCSI命令,增加了开销和复杂度。IP SAN的带宽受限于以太网的速度,一般为1Gbps或10Gbps。
    • 成本:IP SAN通常具有更低的成本,因为IP SAN可以利用现有的以太网基础设施和标准化的设备,无需额外投资或专业技术人员。FC SAN通常具有更高的成本,因为FC SAN需要专用的光纤设备和专业知识,而且光纤设备通常比以太网设备更昂贵。
    • 兼容性:IP SAN通常具有更好的兼容性,因为IP SAN可以使用任何支持IP协议的网络设备或软件,无需考虑厂商或版本的差异。IP SAN还可以利用IP网络的特性,如路由、转发、加密等,实现跨地域或跨平台的存储访问。FC SAN通常具有较差的兼容性,因为FC SAN需要使用符合FC标准的设备或软件,并且不同厂商或版本之间可能存在兼容性问题。FC SAN还受限于光纤网络的特性,如距离、拓扑、信号等,难以实现远程或异构的存储访问。

3、RAID技术

RAID是一种数据存储虚拟化技术,它将多个物理磁盘驱动器组件组合成一个或多个逻辑单元,用于数据冗余、性能提升或两者兼而有之。RAID的全称是Redundant Array of Independent Disks,意思是独立磁盘的冗余阵列。

RAID的用途是为了提高数据的可靠性、可用性、性能和容量。RAID有多种不同的模式,称为RAID级别,根据所需的冗余和性能水平,将数据以不同的方式分布在磁盘上。常见的RAID级别有RAID 0、RAID 1、RAID 5、RAID 6和RAID 10等,每种级别都有其优缺点和适用场景。

以下是一些常见的RAID级别的介绍:

==- RAID 0:RAID 0是将数据分成块,平均分布在两个或多个磁盘上,没有冗余数据。RAID 0的优点是可以提高数据的读写速度和利用率,因为可以同时访问多个磁盘。RAID 0的缺点是没有容错能力,如果任何一个磁盘出现故障,整个阵列都会失效,导致数据丢失。RAID 0适合用于对性能要求高,但对数据安全要求低的场景,如视频编辑、游戏等。

  • RAID 1:RAID 1是将两个或多个磁盘完全镜像,存储相同的数据,实现一对一的冗余。RAID 1的优点是可以提高数据的可靠性和可用性,因为如果任何一个磁盘出现故障,另一个磁盘仍然可以正常工作,并且可以快速恢复。RAID 1的缺点是降低了数据的利用率和写入速度,因为需要同时写入两个或多个磁盘。RAID 1适合用于对数据安全要求高,但对性能要求不高的场景,如文件服务器、数据库服务器等。
  • RAID 5:RAID 5是将数据分成块,分布在三个或多个磁盘上,并且在每个磁盘上存储一部分奇偶校验信息。奇偶校验信息可以用于恢复因磁盘故障而丢失的数据。RAID 5的优点是可以提高数据的读取速度和容错能力,因为可以同时访问多个磁盘,并且可以容忍一个磁盘的故障。RAID 5的缺点是降低了写入速度和利用率,因为需要计算和写入奇偶校验信息,并且牺牲了一个磁盘的空间。RAID 5适合用于对读取性能要求高,但对写入性能要求不高的场景,如文件服务器、邮件服务器等。
  • RAID 6:RAID 6是在RAID 5的基础上增加了一层奇偶校验信息,分布在四个或多个磁盘上。这样可以提高数据的容错能力,因为可以容忍两个磁盘的故障。RAID 6的优点是可以提高数据的可靠性和可用性,尤其是在大容量或高风险的场景下。RAID 6的缺点是降低了写入速度和利用率,因为需要计算和写入两层奇偶校验信息,并且牺牲了两个磁盘的空间。RAID 6适合用于对数据安全要求极高,但对性能要求不高的场景,如备份服务器、归档服务器等。
    - RAID 10:RAID 10是将RAID 1和RAID 0的组合,即将两个或多个RAID 1的镜像阵列进行条带化。这样可以同时提高数据的读写速度和容错能力,因为可以同时访问多个磁盘,并且可以容忍一个或多个磁盘的故障。RAID 10的优点是可以提供最佳的性能和可靠性,没有任何缺点。RAID 10的缺点是需要大量的磁盘和成本,因为需要至少四个磁盘,并且牺牲了一半的空间。RAID 10适合用于对性能和数据安全要求都很高的场景,如数据库服务器、交易服务器等。

3.1、使用RAID的场景

一般存储做 RAID 的选择要根据数据安全性、性能和成本的需求来决定。不同的 RAID 等级有不同的优缺点和适用场景。介绍一下常见的 RAID 等级:

  • RAID 0:一种磁盘条带化技术,将数据平均分散在多个磁盘上,提高了读写速度和容量,但没有冗余能力,任何一块磁盘损坏都会导致数据丢失。适合对数据安全性要求不高,但需要高性能和低成本的场合。最少需要一块硬盘,建议至少两块。
  • RAID 1:一种磁盘镜像技术,将相同的数据同时写入两块或多块磁盘,实现数据的完全备份,提高了数据安全性和读取速度,但降低了写入速度和容量。适合对数据安全性要求高,但不在乎成本和空间利用率的场合。最少需要两块硬盘。
  • RAID 5:一种利用奇偶校验技术来实现数据冗余的技术,将数据和校验信息分布在多个磁盘上,可以容忍一块磁盘损坏,同时提高了读写性能和空间利用率。适合对数据安全性和性能都有要求,但成本有限的场合。最少需要三块硬盘。
  • RAID 6:一种在 RAID 5 的基础上增加了第二套奇偶校验信息的技术,可以容忍两块磁盘同时损坏,提高了数据安全性,但牺牲了一些性能和空间利用率。适合对数据安全性要求非常高,但性能要求不高的场合。最少需要四块硬盘。
  • RAID 10:一种将 RAID 1 和 RAID 0 结合起来的技术,先将两块或多块硬盘组成 RAID 1 ,再将多组 RAID 1 组成 RAID 0 ,兼顾了安全性和速度,但需要更多的硬盘和成本。适合对数据安全性和性能都有较高要求,且硬盘数量足够的场合。最少需要四块硬盘。

选择硬盘做 RAID 的时候,需要注意以下几个方面:

  • 硬盘的兼容性:需要确保硬盘和主板或 RAID 卡是兼容的,否则可能会出现无法识别或性能下降的问题。
  • 硬盘的规格:需要选择相同或相近的硬盘规格来做 RAID ,包括容量、转速、缓存等。如果使用不同规格的硬盘,RAID 的性能和容量会受到影响。一般来说,RAID 的容量等于最小容量的硬盘乘以硬盘数量,RAID 的性能等于最慢速度的硬盘。
  • 硬盘的质量:需要选择质量可靠、寿命长、故障率低的硬盘来做 RAID ,以提高数据安全性和稳定性。
  • 硬盘的数量:需要根据选择的 RAID 等级,准备足够数量的硬盘来做 RAID 。不同的 RAID 等级有不同的最低硬盘数量要求,比如 RAID 0 需要至少两块,RAID 1 需要至少两块,RAID 5 需要至少三块,RAID 6 需要至少四块,RAID 10 需要至少四块。

4、集中式存储和分布式存储

集中式存储和分布式存储是两种不同的存储架构,它们的区别和优劣势如下:

  • 集中式存储:是指将数据集中存储在一台或多台主机上,由主机负责数据的处理和控制,终端或客户端只负责数据的输入和输出。集中式存储通常采用“控制器+磁盘柜”的方式,基于专用的硬件和软件,支持块存储和文件存储功能。
  • 分布式存储:是指将数据分散存储在多台网络计算机上,每台计算机都可以提供数据的读写服务,计算机之间通过消息传递来通信和协调。分布式存储通常采用“标准的x86服务器+存储软件”的方式,实现了存储的硬件和软件解耦,支持块存储、文件存储和对象存储功能。

集中式存储和分布式存储各有优劣势,具体如下:

  • 集中式存储的优势

    • 部署结构简单,无需考虑多节点之间的分布式协作问题。
    • I/O路径短,访问延迟小,性能高。
    • 技术成熟,稳定性好,对高IOPS、低延时、数据强一致性有很好支持。
    • 通过RAID+电池保护、双活、容灾等技术保障数据安全性和业务连续性。
  • 集中式存储的劣势

    • 扩展能力有限,无法很好支撑高并发访问性能和海量数据场景。
    • 专用硬件成本高,TCO成本高。
    • 存在单点问题,一旦主机出现故障,整个系统将不可用。
    • 市场份额越来越小,人才培养成本高。
  • 分布式存储的优势

    • 规模可扩展至上千个节点,容量扩展到上百PB甚至EB级,性能随容量线性提升。
    • 多个节点同时提供读写服务,具有很高的吞吐率。
    • 使用多副本或纠删码技术实现数据保护,提高数据可靠性。
    • 使用标准化硬件搭建存储平台,降低硬件采购和维护成本。
    • 支持三种存储功能(块、文件、对象),能够打造统一的数据存储平台。
  • 分布式存储的劣势

    • 部署结构复杂,需要考虑多节点之间的分布式协作问题。
    • I/O路径长,访问延迟高,性能低。
    • 技术不够成熟,稳定性差,对低延时、数据强一致性支持不好。
    • 需要处理分布式并发、缺乏全局时钟、故障总是会发生等问题。

综上所述,集中式存储和分布式存储各有适合的应用场景,需要根据业务需求进行合理选择。一般来说:

  • 集中式存储适合:核心数据库、金融/医疗等对性能、稳定性、数据一致性要求高的场景。
  • 分布式存储适合:海量非结构化数据、云原生/容器/超融合等对扩展性、吞吐率、存储功能要求高的场景。

猜你喜欢

转载自blog.csdn.net/wtt2020/article/details/131723551
今日推荐