云计算之存储虚拟化 - 01
在计算机科学中,计算机存储系统的存储虚拟化通过虚拟化技术来提供更好的功能和更丰富的特性。广义来说,一个存储系统可以被看做存储阵列,磁盘阵列或者文件,存储系统通常使用。为了给计算和数据处理过程提供非常可靠、快速的存储,存储系统通常使用特殊的硬件、软件及磁盘驱动。存储系统往往都是复杂的,并且通常被认为是一种提供数据存储能力和数据保护机制的特殊计算机。 存储系统提供块存储(Block St
在计算机科学中,计算机存储系统的存储虚拟化通过虚拟化技术来提供更好的功能和更丰富的特性。广义来说,一个存储系统可以被看做存储阵列,磁盘阵列或者文件,存储系统通常使用。为了给计算和数据处理过程提供非常可靠、快速的存储,存储系统通常使用特殊的硬件、软件及磁盘驱动。存储系统往往都是复杂的,并且通常被认为是一种提供数据存储能力和数据保护机制的特殊计算机。
存储系统提供块存储(Block Storeage)和文件存储(File Storeage).块存储通常是通过Fibre Channel,iSCSI,SAS, FICON协议或者其他协议。文件存储通常是使用NFS orCIFS协议。下面详细解释下块存储和文件存储。
块虚拟化(Block virtualization)
块存储是在物理存储的基础上抽象出逻辑存储,使得访问块存储的时候不需要考虑物理存储的结构。这种分离使得存储系统的系统管理员能够很方便、灵活地地管理存储系统及为终端用户分配存储能力。
文件虚拟化(File virtualization)
网络附加存储(Network-attached storage)为网络中的Windows / Linux / Mac OS 等各种不同操作系统的计算机提供文件共享和数据备份。通过消除在文件级别的数据访问与文件的物理存储位置的来迎接NAS的挑战。这为通过优化存储和服务器整合来提供非破坏性的文件迁移提供了条件。
1.地址空间映射
存储虚拟化有助于通过抽象数据存储的位置来实现"数据位置独立性"-数据和实际物理存储位置独立,用户不必关心数据存储的物理位置等细节。虚拟化存储系统呈现给用户一个逻辑空间来完成数据存储,虚拟化存储系统内部实现数据到物理文件的映射过程。虚拟化或映射的过程可能有多层,一层虚拟化的输出可以作为更高一层的虚拟化
输入。虚拟化在"后端"和"前端"资源之间进行映射。这里的"后端"指的是一个逻辑单元号(逻辑单元号指的是唯一地确定一个逻辑单元的数字),这个逻辑单元号并不会被计算机或者主机系统所直接使用,"前端"是呈现给计算机或主机系统来直接使用的。映射的实际形式将取决于所选择的实现。一些实现可能限制映射,这可能会限制设备的功能粒度。典型的粒度范围从一个单一的物理磁盘到一些小的子集(百兆或千兆字节的倍数)的物理磁盘。在基于块的存储环境中,一个单一的信息块使用一个LUN标识符和偏移来进行定位-这种方式称为逻辑块定位。
2.元数据
虚拟化软件或设备负责维护虚拟化存储的所有映射信息一致的视图。这个映射信息通常被称为存储为一个映射表的元数据。地址空间可能被存储能力所限制来维护这个映射。粒度的水平和总的寻址空间都会影响元数据的大小,因此也会影响映射表的大小。出于这个原因,通常需要在可寻址空间大小和可访问空间的粒度之间做出平衡选择。为了解决这些限制的一个常用的方法是使用多层次的虚拟化。在当今部署的一些存储系统里,常见的是使用三层虚拟化。虚拟化的一些实现不适用映射表(Mapping Table),而是通过算法来实计算物理地址。这些实现利用动态方法计算获得的位置,而不是在一个映射表存储的信息。
3.I/O重定向
虚拟化软件或设备使用元数据来重新直接定向I/O请求。它将传入的包含数据的逻辑位置信息的I/O请求转化为新的指向数据的物理位置的请求。
例如,虚拟化设备可以:
- Receive a read request for vdisk LUN ID=1, LBA=32;
- Perform a meta-data look up for LUN ID=1, LBA=32, and finds this maps to physical LUN ID=7, LBA0;
-Sends a read request to physical LUN ID=7, LBA0;
- Receives the data back from the physical LUN
- Sends the data back to the originator as if it had come from vdisk LUN ID=1, LBA32;
4.存储能力
大多数的实现允许在实现支持的范围内对多厂商的存储设备进行异构管理。这意味着以下的功能并不局限于单个厂商的设备。这意味着以下的功能并不局限于单个厂商的设备(特定的存储控制器提供相似的能力),事实上可能跨不同厂商的设备。
5.复制
数据复制技术是不限于虚拟化设备。然而大多数的实现提供一些或所有这些复制服务。当存储虚拟化,复制服务必须实现上述软件或设备在虚拟化过程中所做的操作。这是因为只有在虚拟化层之上,一个真正的和一致的逻辑磁盘的图像(虚拟磁盘)才可以复制。这限制了一些服务的实现方式,或者让服务非常难以实现。如果虚拟化是网络实现或更高,这使得任何复制服务的底层存储控制器无效。
+ 用于灾难恢复的远程数据复制
- 同步镜像(Synchronous Mirroring):在远程确认完成时才返I/O确认完成消息。适用于短距离(小于200公里)
- 异步镜像(Asynchronous Mirroring):在远程确认完成前就返I/O确认完成消息。
+ 在时间快照点为不同用途复制或克隆数据,当和精简配置结合,快照将更高效。
6.存储池(Storeage Pool)
物理存储资源从逻辑资源创建后聚合到存储池。更多的存储系统开始就是异构的,能够在需要时添加到存储系统中,此时虚拟存储空间也会增大相同的数量。这个过程对于使用基础存储设施的应用程序完全是透明的。
7.磁盘管理
在虚拟化环境中,供虚拟化存储的软件或者设备将会成为一个通用的磁盘管理器。虚拟化软件或设备上创建的逻辑磁盘(虚拟磁盘)被映射(可见的)到请求的主机或者服务器。因此,提供了一个共同的地点或方式来管理环境中的所有磁盘(卷)。这种环境下能够更方便地提供更强大的特性。
未完待续....
更多推荐
所有评论(0)