块存储有时也称为块级存储,是一种用于在存储区域网络 (SAN) 或云存储环境中存储数据文档的技术。对于需要快速、高效和可靠数据传输的计算场景,开发人员十分青睐块存储。
块存储将数据分割成块,然后将这些块存储为独立的片段,每个片段都有唯一的标识符。SAN 会将这些数据块放置在效率最高的地方。这意味着它可以跨不同的系统存储这些块,并且每个块都可以进行配置(或分区),以支持不同的操作系统。
块存储还将数据与用户环境分离,允许数据分布在多个环境中。这就为数据创建了多个路径,使用户能够快速检索数据。当用户或应用程序向块存储系统请求数据时,底层存储空间会重新组装数据块,并将数据呈现给用户或应用程序。
在数据存储领域,块存储并非唯一的存储方式。开发人员还使用其他系统,如对象存储和文档存储。虽然每种存储方法的最终目标都是为用户和应用程序提供数据,但每种存储方法的数据存储和检索方式都不尽相同。
对象存储(也称为基于对象的存储)将数据文件分割成称为对象的片段。然后,它将这些对象存储在一个存储库中,该存储库可以分布在多个联网系统中。
在实践中,应用程序可以管理所有对象,无需传统文件系统。每个对象都会获得一个唯一 ID,应用程序使用该 ID 来识别对象。每个对象都存储了与对象中存储的文件有关的元数据信息。
对象存储和块存储的一个重要区别在于它们各自处理元数据的方式。在对象存储中,可以对元数据进行定制,使其包含有关对象存储中所存储数据文件的额外详细信息。
例如,视频文件所附的元数据可以进行定制,以显示视频的拍摄地点和使用的摄像机类型。它甚至可以包括细节,例如每一帧拍摄的对象。在块存储中,元数据仅限于基本文件属性。
块存储最适合不经常更改的静态文件,因为对文件的任何更改都会导致创建一个新对象。
文件存储,也称为文件级或基于文件的存储,通常与网络直连存储 (NAS) 技术相关联。NAS 使用与传统网络文件系统相同的理念向用户和应用程序提供存储。
换句话说,用户或应用程序通过目录树、文件夹和单个文件接收数据。其功能类似于本地硬盘驱动器。但是,NAS 或网络操作系统 (NOS) 负责处理访问权限、文件共享、文件锁定和其他控制功能。
文件存储的配置非常简单,但数据访问受限于单一数据路径,与块存储或对象存储相比,这可能会影响性能。文件存储也仅使用常见的文件级协议,例如适用于 Windows 的技术文件系统 (NTFS) 或适用于 Linux 的网络文件系统 (NFS)。这可能会限制不同系统之间的可用性。
观看 Bradley Knapp 介绍两种最常用的存储类型:块存储和文件存储,包括它们的差异、优点和用例。
块存储允许创建原始存储卷,基于服务器的操作系统可以连接到原始存储卷。您可以将这些原始卷视为单独的硬盘。这样,您就可以将块存储用于几乎任何类型的应用,包括文件存储、数据库存储、虚拟机文档系统 (VMFS) 卷等。
以在企业内部部署虚拟机为例。使用块存储,可以轻松创建和格式化基于块的存储卷,以存储 VMFS。然后,物理服务器就可以连接到该块,创建多个虚拟机。此外,创建基于块的卷,安装操作系统并附加到该卷,用户就可以使用该本地操作系统分享文件。
私有云部署是块存储的另一个绝佳用途。要更深入地了解私有云和块存储,请查看 IBM Garage 讲解,以了解使用块存储和文件存储扩展虚拟化私有云的虚拟化。
块存储固有的灵活性使其成为容器的理想选择。容器将应用程序从操作系统中抽象出来,就像虚拟化从物理硬件中抽象出操作系统一样。使用块存储,您可以快速定义和启动容器。容器受益于块存储的速度和单个主机挂载多个块的原生能力。
开发人员通常使用存储区域网络 (SAN) 部署块存储。SAN 是提供数据存储访问的计算机网络。SAN 向其他联网系统提供块存储,就好像这些块是本地连接设备一样。
例如,服务器可通过光纤通道、互联网小型计算机系统接口 (iSCSI) 或 InfiniBand 等数据网络连接到 SAN。这种连接允许服务器访问块,就像访问本地卷一样。您还可以在 SAN 上配置多个存储阵列,并且可以将多个服务器连接到 SAN。
SAN 由很多元素或层组成。第一是主机层,由运行网络操作系统的服务器组成,通过主机总线适配器 (HBA) 卡连接到数据网络。HBA 卡再通过电缆连接到存储网络。
主机层与结构层相连,结构层是 SAN 交换机、路由器、协议桥接器、网关设备和电缆等设备的集合。结构层与存储空间交互,存储空间由磁盘驱动器、磁带或光学介质等物理存储设备组成。
块存储本身并不提供太多冗余,因此对于任何任务关键型块存储实现而言,RAID 阵列都是一个重要的考虑因素。RAID(独立磁盘冗余阵列)通过将数据写入两个或多个驱动器来保护数据。如果一个磁盘发生故障,其他磁盘上的信息通常可以替换它,而用户不会察觉到中断。
传统的以供应商为中心的 SAN 解决方案的开源替代方案正在兴起,几乎每天都有新的项目出现,同时已有的项目也在不断改进和增加功能。开源项目 FreeNAS 提供块存储和软件定义 RAID。Openfiler 是另一种开源存储解决方案,支持块存储和 RAID。
虽然开源技术在存储空间展现出巨大的潜力,但要保证成功需要专业知识,这意味着如今的存储管理员需要供应商提供支持和服务。
块存储即服务 (BSSaaS) 属于规模更大的企业存储即服务 (ESaaS) 类别。在 ESaaS 中,寻求基于云存储的人员可选择块存储、文件存储或对象存储来支持其数据存储需求。在大多数情况下,在使用 ESaaS 时,用户还必须选择 IaaS 或 PaaS 解决方案,并直接在云中部署应用程序和服务器。
在存储方面,满足需求的能力至关重要。存储空间消耗呈指数级增长。由于块存储独立于计算资源,因此扩展只需通过 ESaaS 提供商创建额外的块存储卷即可。
对于采用混合云方法的企业而言,扩展可能需要购买额外的硬盘驱动器或 RAID 阵列,但扩展的实际过程相对不变。提供额外的块存储卷是增加可用存储量的主要要求。了解有关扩展和块存储的更多信息。
IBM Storage Ceph 是由 IBM 提供支持的开源 Ceph 平台发行版,可在单个系统中提供可大规模扩展的对象存储、块存储和文件存储。
访问云服务,获得可扩展、安全可靠且经济实惠的数据存储解决方案。
利用 IBM 的云咨询服务发掘新功能并提升业务敏捷性。了解如何通过混合云战略和专家合作共同制定解决方案、加快数字化转型并优化性能。