储存虚拟化
编辑(了解如何以及何时删除此模板消息)
在计算机科学中,存储虚拟化是将物理存储资源的逻辑视图呈现给主机系统的过程,将企业中的所有存储介质(硬盘、光盘、磁带等)视为一个存储池 .
存储系统也称为存储阵列、磁盘阵列或文件管理器。 存储系统通常使用特殊的硬件和软件以及磁盘驱动器,以便为计算和数据处理提供非常快速和可靠的存储。 存储系统很复杂,可以被认为是一种特殊用途的计算机,旨在提供存储容量和高级数据保护功能。 磁盘驱动器只是存储系统中的一个元素,还有系统中的硬件和专用嵌入式软件。
存储系统可以提供块访问存储或文件访问存储。 块访问通常通过光纤通道、iSCSI、SAS、FICON 或其他协议提供。 通常使用 NFS 或 SMB 协议提供文件访问。
在存储系统的上下文中,可以发生两种主要类型的虚拟化:
- 在此上下文中使用的块虚拟化是指逻辑存储(分区)与物理存储的抽象(分离),以便可以在不考虑物理存储或异构结构的情况下访问它。 这种分离使存储系统的管理员可以更灵活地管理最终用户的存储。
- 文件虚拟化通过消除在文件级别访问的数据与文件物理存储位置之间的依赖关系来应对 NAS 挑战。 这为优化存储使用和服务器整合以及执行无中断文件迁移提供了机会。
区块虚拟化
编辑地址空间重映射
存储虚拟化通过抽象化数据的物理位置来帮助实现位置独立性。 虚拟化系统向用户呈现数据存储的逻辑空间,并处理将其映射到实际物理位置的过程。
可以有多层虚拟化或映射。 然后一层虚拟化的输出可以用作更高层虚拟化的输入。 虚拟化将后端资源之间的空间映射到前端资源。 在这种情况下,后端是指不提供给计算机或主机系统以供直接使用的逻辑单元号 (LUN)。 前端 LUN 或卷提供给主机或计算机系统以供使用。
映射的实际形式将取决于所选的实现。 一些实现可能会限制映射的粒度,这可能会限制设备的功能。 典型的粒度范围从单个物理磁盘到物理磁盘的某个小子集(兆字节或千兆字节的倍数)。
在基于块的存储环境中,单个信息块使用 LUN 标识符和该 LUN 内的偏移量进行寻址——称为逻辑块寻址 (LBA)。
元数据
虚拟化软件或设备负责维护虚拟化存储的所有映射信息的一致视图。 此映射信息通常称为元数据,并存储为映射表。
地址空间可能受维护映射表所需容量的限制。 粒度级别和总可寻址空间都直接影响元数据的大小,从而影响映射表。 出于这个原因,在可寻址容量的数量和粒度或访问粒度之间进行权衡是很常见的。
解决这些限制的一种常见方法是使用多级虚拟化。 在当今部署的多个存储系统中,通常使用三层虚拟化。
一些实现不使用映射表,而是使用算法计算位置。 这些实现利用动态方法来计算访问位置,而不是将信息存储在映射表中。
输入输出重定向
虚拟化软件或设备使用元数据来重定向 I/O 请求。 它将接收传入的 I/O 请求,其中包含有关逻辑磁盘 (vdisk) 数据位置的信息,并将其转换为对物理磁盘位置的新 I/O 请求。
例如,虚拟化设备可能:
- 收到 vdisk LUN ID=1, LBA=32 的读取请求
- 为 LUN ID=1、LBA=32 执行元数据查找,并发现它映射到物理 LUN ID=7、LBA0
- 向物理 LUN ID=7, LBA0 发送读取请求
- 接收从物理 LUN 返回的数据
- 将数据发送回发起者,就好像它来自 vdisk LUN ID=1,LBA32</
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/196317/