当前位置: 首页 > 科技观察

NFV关键技术:存储虚拟化概述

时间:2023-03-13 07:58:42 科技观察

Labs简介存储虚拟化(StorageVirtualization)最通俗的理解就是对存储硬件资源进行抽象。存储虚拟化可以将用户与存储资源中的大量物理特性隔离开来,就像我们去仓库存放或提取物品一样,只要和仓库管理员打交道就可以了,不用关心是哪一个我们的物品存放在仓库角落。对于用户来说,虚拟化的存储资源就像一个巨大的“存储池”。用户将看不到具体的存储磁盘和磁带,也不需要关心自己的数据通过哪条路径到达了具体的存储。设备。存储虚拟化减少了物理存储设备的配置和管理任务,同时也充分利用了现有的存储资源。存储虚拟化的方式就是将整个云系统的存储资源统一整合管理,为用户提供统一的存储空间。如下图所示:一、传统存储面临的挑战在传统数据中心,存储类型大致分为以下几种:服务器内置磁盘、直连存储、存储区域网络和网络附加存储。贮存。服务器内置的磁盘包括SCSI、SATA和IDE磁盘等,这些磁盘可以由操作系统直接管理,也可以通过阵列卡等RAID管理器配置使用(常见的有RAID1、RAID10、RAID5、RAID6等)。内置磁盘作为最简单直接的存储方式,在当前的数据中心中依然随处可见。服务器磁盘RAID阵列的数据组织方式如下:直接连接存储(DirectedAttachedStorage,DAS)作为最简单的外部存储方式,通过数据线连接到各种服务器或客户端扩展接口。它是一个没有任何存储操作系统的硬件堆栈,因此不能独立于服务器提供存储服务。DAS常见的形式是外置磁盘阵列,通常的配置是一个RAID控制器+一堆磁盘。DAS安装简单,成本低,特别适用于对存储容量要求不高、服务器数量少的中小型数据中心。如下图所示:存储区域网络(SAN)是一种高速存储专用网络,通过专用网络交换技术连接数据中心内的所有存储设备和服务器。在这样的存储网络中,存储设备和服务器是多对多的服务关系:一台存储设备可以同时为多台服务器提供服务,一台服务器也可以同时使用多台存储设备的存储服务.与DAS不同,SAN中的存储设备通常配备智能管理系统,可以独立对外提供存储服务。SAN存储网络系统结构图如下:典型的SAN采用光纤通道(FiberChannel,FC)技术连接节点,并使用光纤通道交换机(FCSwitch)提供网络交换。与普通数据网络不同,存储区域网络中的数据传输是基于FC协议栈的。运行在FC协议栈之上的SCSI协议提供存储访问服务。相反,iSCSI存储协议提供了一种低成本的替代方案,可以在TCP/IP协议栈之上运行SCSI协议。为了区分这两种存储区域网络,通常将前者称为FCSAN,将后者称为IPSAN。由于SAN存储采用网络架构和光纤传输,具有部署方便、扩展性强、传输速度快等优点,传输速率可达8~16Gbps。数据中心常见的SAN交换机如下图所示:NetworkAttachedStorage(NAS)提供另一种访问独立于服务器的存储设备(相对于内置存储和DAS)。与SAN类似,NAS也是通过网络交换连接不同的存储设备和服务器。同样,存储设备和服务器之间也存在多对多的服务关系。NAS服务器通常还有一个智能管理系统,可以独立对外提供服务。与SAN不同,NAS是基于现有的企业网络(即TCP/IP网络),不需要额外建设昂贵的专用存储网络(FC)。另外,NAS通过文件I/O提供存储,这也不同于SAN的块I/O访问方式。NAS存储架构图如下:常见的NAS访问协议有NFS(NetworkFileSystem)和CIFS(CommonInternetFileSystem),因此允许多台服务器共享访问同一个数据存储单元LUN。而且,由于NAS内嵌了精简的存储专用操作系统,集成了网络传输和I/O访问等协议,使得NAS存储独立于用户操作系统,可在线扩展,易于部署,成本低。管理成本。(相对于SAN存储)。实践中常见的NAS产品,如SynologyNAS产品实物图如下:随着云计算和软件定义数据中心的出现,对存储管理提出了更高的要求,传统存储也面临着诸多前所未有的挑战:对于服务器内置的磁盘和DAS,单个磁盘或阵列的容量和性能有限,难以扩展。此外,这两种存储方式还缺乏数据保护、高可用、去重等各种数据服务。最大的麻烦在于这样的存储使用方式导致了信息孤岛,这对于数据中心的统一管理来说无疑是一场噩梦。对于SAN和NAS,目前的解决方案首先存在厂商绑定的问题。与服务器的标准化趋势不同,存储产品的操作系统(或管理系统)仍然是封闭的。不仅不同厂商的系统互不兼容,而且一个厂商的不同产品线也不能互通,这必然导致价格高昂和技术壁垒。此外,孤岛管理问题依然存在。与DAS相比,岛屿更大,数量更少。最后,SAN和NAS的可扩展性仍然是个问题。此外,一些新需求,如:支持多租户(Multi-Tenancy)模式一致性、云规模(Cloud-Scale)动态迁移服务支持、动态定制数据服务(DataService)和直接服务虚拟网络应用等等。这些需求不能通过简单地修补传统存储架构来满足。2、存储虚拟化的定义为了解决上述挑战,存储虚拟化和软件定义存储SDS的概念越来越流行,但需要注意一点——存储虚拟化不等于软件-定义存储SDS。准确的说,存储虚拟化是软件定义存储的一种具体实现。存储虚拟化的本质是存储整合的重要组成部分,可以减少管理问题,提高存储利用率,从而可以降低新存储的成本。权威机构SNIA(StorageNetworkIndustryAssociation)给出的定义是:通过将存储系统/子系统的内部功能从应用程序、计算服务器、网络资源中抽象、隐藏或隔离出来,独立于应用程序和网络。存储和数据管理。总结起来就是:存储虚拟化技术对底层存储设备进行统一抽象和管理,从服务器层屏蔽了存储设备硬件的特殊性,只保留其统一的逻辑特性,从而实现存储的集中、统一、便捷系统。管理。与传统存储相比,虚拟化存储的优势主要体现在:磁盘利用率高,传统存储技术的磁盘利用率一般只有30-70%,而虚拟化技术后的磁盘利用率高达70-70%。90%;存储灵活,可适配不同厂商、不同类型的异构存储平台,为存储资源管理提供更好的灵活性;管理方便,提供了大容量存储系统的集中管理手段,避免了存储设备扩容带来的不便。带来的管理难题;性能更好,虚拟化存储系统可以很好的进行负载均衡,将每次数据访问所需的带宽合理分配给每个存储模块,提高了系统整体的访问带宽。下图是华为存储虚拟化解决方案的架构图。在华为的存储虚拟化解决方案中,有存储资源、存储设备和数据存储三个概念。存储资源:表示物理存储设备,如IPSAN、AdvancedSAN、NAS等存储设备:表示存储资源中的管理单元,如LUN、AdvancedSAN存储池、NAS共享目录等数据存储:表示一个虚拟化平台中可管理和可操作的存储逻辑单元。各种存储资源的特点比较如下。其中,存储卸载是指移动一些存储操作(模板部署、删除和清除等)的效率。华为虚拟化存储栈全景图如下。可以对不同的存储设备进行格式化,屏蔽存储设备能力和接口协议的差异,将各种存储资源转化为统一的管理数据存储资源,用于存储虚拟机磁盘、虚拟机配置信息、快照等信息使用户的存储管理更加同质化。3、存储虚拟化技术的分类虚拟存储的分类方法很多,可以分为两类:根据虚拟化在I/O路径中的位置,以及根据控制路径和数据路径的区别种类。根据虚拟化在I/O路径中的位置,虚拟存储可以分为主机虚拟存储、网络虚拟存储和存储设备虚拟存储。根据控制路径和数据路径,虚拟化存储分为对称虚拟化和非对称虚拟化。3.1基于主机的虚拟存储基于主机的虚拟存储完全依赖于存储管理软件,不需要任何额外的硬件。基于主机的存储管理软件,在系统和应用层面,实现多机共享存储、存储资源管理(存储介质、卷、文件管理)、数据复制和数据迁移、异地备份、集群系统、容灾等.存储管理任务。基于主机的虚拟存储又可以分为数据块之上的虚拟层和数据块之上的虚拟层存储:数据块之上的虚拟层(ViAualizationaboveBlock),是存储虚拟化的最顶层,提供通过文件系统和数据库View向应用程序虚拟数据,屏蔽了底层实现。块存储虚拟化层(BlockStorageVirtualzation)通过基于主机的卷管理程序和附加的设备接口,为主机提供集成的存储访问视图。卷管理程序为虚拟存储设备创建逻辑卷,并负责路由数据I/O请求。如下图所示,是基于主机的虚拟存储示意图。主要用于一台服务器的存储空间可以跨越多个异构磁盘阵列的场景。常用于不同磁盘阵列之间的数据镜像保护。一般由操作系统下的逻辑卷管理软件完成(安装客户端软件),不同操作系统的逻辑卷管理软件不同。优点是支持异构存储系统。缺点是:占用主机资源,转发性能差,与主机OS兼容性差,数据迁移复杂。3.2基于存储设备的虚拟存储基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。在没有第三方虚拟化软件的情况下,基于存储的虚拟化往往只能提供不完整的存储虚拟化解决方案。这种方法不适用于包含多供应商存储设备的SAN存储系统。使用这种方法意味着最终锁定单一存储供应商。如下图所示,是基于存储设备的虚拟化示意图,主要应用于同一存储设备内数据保护和数据迁移的场景。它是通过在存储控制器上增加一个虚拟化功能来实现的,只有中高端存储设备才有这个功能。优点是与主机无关,不占用主机资源,具有丰富的数据管理功能。缺点是:只能虚拟化设备中的磁盘,厂商绑定不能异构,多个存储设备的软件不兼容,需要多次部署,成本高。一种比较常见的基于设备的存储虚拟化应用是精简配置的虚拟磁盘,它可以提供远大于物理磁盘容量的虚拟空间。无论虚拟机磁盘上分配了多少空间,如果没有数据写入虚拟磁盘,则不会占用任何物理磁盘空间。精简配置虚拟磁盘的示意图如下所示,它可以为操作系统提供一个大容量的虚拟存储空间,而物理容量很小。而且,随着应用数据量的增长,实际存储空间也可以及时扩展,无需手动扩容。总之,自动精简配置提供了“运行时空间”,可以显着减少已分配但未使用的存储空间。如果采用传统的磁盘分配方式,如上图左侧所示。用户需要正确预测当前和未来的业务发展规模,提前规划空间资源。在实践中,由于对应用系统规模的估计不准确,往往会造成容量分配的浪费。自动精简配置磁盘,如上图右侧所示。有效解决了存储资源的空间分配问题,提高了资源利用率。采用自动精简配置技术的数据卷为用户分配一个逻辑虚拟磁盘,而不是一个固定的物理空间。分配实际空间容量。3.3基于网络的虚拟存储网络虚拟化层包括与管理软件绑定的存储服务器和网络互连设备。基于网络的虚拟化是网络设备之间的存储虚拟化功能。它将类似于卷管理的功能扩展到整个存储网络,负责管理Host视图、共享存储资源、数据复制、数据迁移和远程备份。并管理数据路径以避免性能瓶颈。如下图所示,基于网络的虚拟存储示意图主要应用于应用和异构存储系统的集成和统一管理场景。这是通过向存储区域网络(SAN)添加虚拟化引擎来实现的。优点是:独立于主机,性能好,能够异构主机和存储设备,统一管理,功能丰富。缺点是:各厂家产品质量参差不齐,部分厂家产品性能差,兼容性差。基于网络的虚拟存储可以采用对称或非对称虚拟存储架构。在非对称架构中,虚拟存储控制器处于系统数据路径之外,不直接参与数据传输。服务器可以通过标准交换机直接访问存储设备。虚拟存储控制器对所有存储设备进行配置,并将配置信息提交给所有服务器。如下图所示,当服务器访问存储设备时,不再经过虚拟存储控制器,而是直接并发访问存储设备。达到了增加传输带宽的目的,这种架构也称为存储虚拟化的带外虚拟化引擎(out-of-band)。一般用于不同存储设备之间的数据复制。好处是如果一个虚拟化设备出现故障,整个系统不会中断。缺点是:主机资源占用大,数据配置和同步复杂,缺乏统一管理。在对称架构中,虚拟存储控制设备直接位于服务器和存储设备之间,运行在其上的存储管理软件用于管理和配置所有存储设备,形成一个庞大的存储池。以分区的形式,供系统中所有服务器访问。这种架构也称为带内存储虚拟化引擎(in-band)。如下图所示,虚拟存储控制设备有多条数据路径连接到存储设备,多个存储设备并发工作,因此系统整体的存储设备访问效率可以达到较高的水平。主要用于异构存储系统的集成,统一的数据管理,以及业务运行中的复制、镜像、CDP等各种数据管理功能。优点是:兼容性好,无主机资源,配置简单,功能丰富。缺点是:如果虚拟化设备出现故障,整个系统就会中断。4.软件定义存储SDS前文提到,存储虚拟化不等于软件定义存储SDS。事实上,存储虚拟化也可以归为软件定义存储。事实上,许多虚拟化存储供应商也是这样做的。但严格来说,两者略有不同。通常,存储虚拟化只能在专门的硬件设备上使用。它的控制平面和存储数据平面紧密耦合,很多厂商不得不使用专门定制的存储虚拟化,只能通过特定的设备来实现,而软件定义存储则没有设备限制。它的控制平面和存储数据平面是松耦合的。本质上,它只是定义了控制平面的“软化”,而存储数据平面仍由各厂商自行决定。完成。可以简单理解为,achievement是一个存储管理程序。软件定义存储其实应用范围更广。它的目标是将存储控制功能和服务从存储硬件中分离出来,并提供编程接口,像OpenStackCinder、EMCViPR、华为的FusionSphere和FusionStorage都属于这一类。如下图所示:更具体地说,软件定义存储将存储硬件或软件提供的控制能力抽象出来,与数据级能力(数据访问)分离。这些控制功能包括卷管理、RAID、QoS和数据复制。、监控、快照和备份等。此举的意义在于,将这些控制能力抽象出来后,可以接近任何厂商提供的存储容量控制,避免与厂商绑定。然后,它进一步采取这些控制措施,根据空间、性能、成本等因素,为管理员提供自定义的、基于策略的虚拟存储层。它的优点是比存储虚拟化更轻。它通常可以保留SAN、Array等底层存储系统的特性并继续发挥作用,部署实施难度大大降低,管理成本更低。基础设施能力,如下图所示:OpenStackCinder是典型的软件定义存储产品。它目前支持大量存储供应商的设备。它定义了一些特性,例如卷管理、快照、备份和简单统计。用户可以使用Cinder提供的接口来获得不同存储设备提供的相似能力。Ceph可以看作是一个典型的存储虚拟化产品,它将大量的通用存储设备组合起来提供一个存储池,实现了一般存储厂商产品的能力。Ceph的块存储能力使其成为Cinder的驱动程序。同时,Cinder通过这些基础API进行扩展,可以定义不同的存储池、智能存储区域等。