2.4 存储虚拟化

    存储虚拟化是存储模块的主要焦点(参见图2-2),它抽象了服务器应用访问数据时的逻辑表现与数据的物理位置,实现了位置无关性(云计算的基本特征之一)。虚拟系统负责管理卷到实际物理位置的映射过程,使逻辑实体以卷的形式展现给用户。虚拟化软件或虚拟化设备负责维护映射表,它也是元数据的一部分。映射粒度小至物理磁盘的一部分,大至整个物理磁盘,在这样的环境中,单个信息块由其LUN,也即物理磁盘,以及LUN内的偏移地址一起确定,这一偏移地址也称为逻辑块地址(Logical Block Address,LBA)。逻辑实体通常指虚拟磁盘,物理磁盘之间的地址空间映射由它们各自的LUN确定。

    说明:物理磁盘也可以仅为存储的一部分,例如从底层磁盘子系统中的RAID阵列切出来的一块。

    从另一个角度来看,传统存储管理通常采用到主机系统的DAS方式,主机拥有对DAS的唯一控制。SAN出现后,DAS被存储网络而替代,不过依然主要在RAID系统级别创建并维护存储,虚拟化是传统存储管理模型的下一逻辑步骤,虚拟化实现了集中的磁盘创建及维护的集中控制中心。

    未进行虚拟化时,不同的主机系统拥有各自的烟囱式数据库或存储(参见图2-3),造成了资源的浪费,存储虚拟化实现了按需供应——资源池(而非特定的烟囱式数据库),使得无论应用来自哪个附加系统,需要多大量的资源,都能够获得满足。池式存储由各厂商的不同后端存储混合而成,能够实现对各类遗留及异构存储资源的整合和充分利用。

    虚拟化也有助于调节可得资源的数量,而不再需要通过启用周期存储设备实现容量的增加或减少。主机系统也不用再负责卷的管理以及关注存储的变化,包括数据迁移或存储升级等。数据保护技术,诸如快照和复制,也被简化了,为不同应用分配不同类别的存储也变得简单了。此外,SAN存储虚拟化是对服务器虚拟化的补充,SAN存储虚拟化简化了VM在不同物理平台间迁移数据链路的关联。最后但也同样重要的是:存储虚拟化也简化了存储管理,降低了管理异构存储资源的成本,这也是现代DC的常见问题。

    2.4.1 块汇聚

    到目前为止,在这一章我们已经讨论了块级别的虚拟技术,通过对不同物理磁盘整合使得它们看起来就像一个逻辑设备一样。这样的技术通常也称为块汇聚,它与全球网络存储工业协会(Storage Networking Industry Association,SNIA)提出的L2共享存储模型有关。为什么在块一级进行虚拟化?最主要的原因是希望无须增加额外的智能应用,就能够克服个体设备的物理局限性,在应用看来是拥有了更大的磁盘,而实际上是通过增加一个虚拟磁盘来实现LBA容量扩展。

    块汇聚是在主机(服务器)内部的存储设备(智能设备控制器)或在存储网络(基于网络的设备或FC交换机)上实现的,以下是三种常见的块一级虚拟化解决方案,它们各有利弊:

    ·基于主机的虚拟化。

    ·利:软件解决方案与存储平台或开发商无关,也与底层SAN技术、FC、iSCSI等无关。

    ·弊:基于主机的虚拟化通常需要为每个主机购买一个许可,因而整体成本比较高,虚拟化软件也有可能十分复杂,而且需要在访问到存储目标之前,必须对每一个帧都进行拦截及重定向处理。由于每个主机都需要独立控制,因此需要为每个主机都安装一个软件驱动程序。因为实际主机是基于VM的(更多细节请参考本章“虚拟数据存储概念”的相关内容),所以使用VMware VMFS能够解决其中一部分问题。

    ·基于设备的虚拟化。

    ·利:存储设备或子系统与主机平台及OS都无关,虚拟化是由与物理磁盘驱动器非常接近的设备控制器完成的,该解决方案能够提供更好的响应能力。

    ·弊:通常设备来自不同厂商,因而对异构存储资源的SAN环境进行管理十分困难,数据存储设备厂商通过将大量不同的物理存储技术,包括NFS、CIFS、iSCSI、FC以及FCoE,放在一起组成统一的存储体系架构来克服此问题。NetApp数据ONTAP 7G以及8.0,以及EMC公司的Celerra/CLARiiON,都是基于统一存储体系架构。

    ·基于网络的虚拟化。

    ·利:通过虚拟化设备或在FC交换机内可以实现基于网络的虚拟化,该解决方案完全独立于存储平台、主机平台以及OS。当连接到SAN后,基于网络的虚拟化可以访问所有相连的主机以及存储设备,并具备高性能及可扩展性。

    ·弊:基于网络的虚拟化技术通常与厂商相关,如果将虚拟设备以界内方式部署在数据路径上,它们往往会变成瓶颈,同样,基于网络的虚拟化技术也面临着可扩展性难题,需要采用聚集处理,以防止单点失效。通过基于交换机的虚拟化技术,可以访问到高性能的基架,从而增强了系统的可扩展性。这样的强化效果受制于用户所选择的特定类型的交换机及硬件,也有可能在未来系统升级时不得不全盘更新。因此,我们需要采用独立供应商的标准,例如使用光纤架构应用接口标准(Fabric Application Interface Standard,FAIS)来克服基于专有性交换机虚拟化的缺点。

    说明:FAIS基于INCITS T11标准,其目标是为光纤应用创建一个与底层硬件平台无关的通用API,来帮助开发人员将存储和数据管理问题与应用、主机以及存储设备分离并集中到一个基于光纤的智能存储平台上。