目录
存储虚拟化是一种将存储系统的内部功能从应用、主机或者网络资源中抽象、隐藏或者隔离的技术,其目的是进行与应用和网络无关的存储或数据管理。存储虚拟化可以在存储体系结构的多个层面实现,虚拟化为底层存储资源的复杂功能访问提供了简单、一致的接口,使用户不必关心底层系统的复杂实现。
1. 存储体系架构
现代存储体系结构主要包含三个部分:应用(Application)、存储域(Storage domain)和服务子系统(Services),如图1所示。
图1. 存储体系结构(存储工业协会SNIA)
存储域:存储域是存储体系结构的核心,它包含三个层次:文件/记录层,块聚合层和存储设备层,通过存储域可以建立上层主机的用户应用与部署在底层的存储资源之间的映射关系。
- 文件/记录层:是上层应用与存储资源之间的接口,采用文件系统或者数据库等方式,能够屏蔽底层硬件信息并以文件或者结构化数据的形式为用户提供数据信息的存储访问能力。
- 块聚合层:主要用于将多个底层存储设备的存储资源块聚合为能够被同一的存储资源,其实现可以在主机系统、存储网络或者存储设备等多个位置上实施,其目标是将数据块的物理位置与相应的逻辑位置关联起来。
- 存储设备层:主要对数据块存储的物理位置进行识别,并将数据块从真实的底层物理存储设备中读出或者写入。存储设备层也可以直接为文件/记录层提供数据访问接口,能够独立完成逻辑描述和物理存储位置的映射,二无需经过聚合层。
服务子系统:服务子系统是存储域的辅助系统,包含一系列与存储相关的功能,如管理、安全、备份、可维护性及容量规划等。
对于存储系统而言,不同层次的虚拟化实现具有不同的目标。存储设备层的存储资源是最底层的物理设备,通过数据块存储地址的虚拟化,实现对存储内容的快速寻址;块聚合层虚拟化的目标是通过对存储设备层的物理存储设备进行合理组织,将其构建为能被统一访问的物理资源池;文件/记录层进一步对物理资源进行抽象,将其虚拟化为逻辑资源,并为上层应用使用。
2. 存储设备层虚拟化
存储设备层的存储资源是指各个独立的存储设备,其中,磁盘是最重要的存储设备,其虚拟化主要体现在数据块存储地址的虚拟化上。
磁盘上的存储信息是用C-H-S(柱面号-磁头号-扇区号)来表示的,因为不同容量的磁盘拥有的柱面个数不同,所以需要针对不同的硬盘设计专门的寻址方式。然而,这对于需要进行磁盘访问的操作系统和应用来说是不可行的,因为这需要它们了解每种磁盘的物理特性,磁盘虚拟化正是解决这个问题。
磁盘虚拟化就是将用C-H-S表示的地址信息转换为具有连续编号的逻辑块地址&#