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