中国电信股份有限公司广东研究院|吴家隐 李先绪 邱红飞 黄春光 朱海云凯里学院大数据工程学院|莫秋燕
研究发现,采用带有SSD(固态硬盘)缓存的磁盘阵列可以获得更好的时延和IO性能,适用于NFV中以数据转发为主、数据容量扩展需求不高的业务场景,如vCPE、vEPC、vBRAS、vIMS等。
NFVi(网络功能虚拟化基础设施)是承载VNF(网络网元功能)的基础,其核心在于利用标准化的虚拟化技术支持多租户,从而为不同类型的虚拟网元按需提供资源支持。通过研究发现,采用带有SSD(固态硬盘)缓存的磁盘阵列可以获得更好的时延和IO性能,适用于NFV中以数据转发为主、数据容量扩展需求不高的业务场景,如vCPE、vEPC、vBRAS、vIMS等。基于IP SAN的磁盘阵列兼容性、可维护性更高,可用于承载NFVi业务的整机框服务器。对于数据量较大、数据增长需求高的业务场景,采用Server SAN可以获得更优的扩展性和成本。其中,对于性能要求不高,通用性需求更高的场景,Ceph非常适用。
磁盘阵列是由独立磁盘组成的具有冗余特性的阵列,能够提供一个独立的大型存储设备解决方案。磁盘阵列将多个物理磁盘合并成一个更大的虚拟设备,在提高硬盘容量的同时,还能够充分提高硬盘的速度,使数据更加安全,更加易于磁盘的管理。SAN(存储区域网络)采用光纤通道技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络。SAN经过十多年历史的发展,已经相当成熟,成为业界的事实标准。SAN存储采用的带宽从100MB/s、200MB/s,发展到目前的1Gbit/s、2Gbit/s、8Gbit/s、10Gbit/s。
NFVi的磁盘阵列SAN结构主要包括FC SAN和IP SAN。FC SAN是磁盘阵列(RAID)通过FC通道协议与其他设备相连接。FC协议实际上解决了底层的传输协议,其高层协议仍然采用SCSI,数据处理是“块级”(block level)。IP SAN利用了基于高速以太网协议(TCP/IP协议)的ISCSI(互联网小型计算机口)技术,实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作。FC SAN和IP SAN的优劣势对比如下。
1.成本方面,FC SAN需要专用的FC网卡、FC交换机等专用设备,购买成本较高;IP SAN成本较低,布置简单,管理成本低,购买的网线和交换机都是用以太网,甚至可以利用现有网络组建SAN。
2.传输距离方面,FC SAN受到光纤距离的限制,而IP SAN基于IP网络的天生优势使其没有距离的限制,很容易实现异地存储、远程容灾等穿越WAN才能实现的技术。
3.传输速度方面,FC SAN可以实现高性能数据存储、带宽利用率高、传输时延小、传输效率高,实际带宽可达到理论带宽的85%~90%。而IP SAN需要共享数据通道,传输时延较高,受网络环境影响大,实际带宽可达到理论带宽的20%~30%。
4.安全性方面,FC SAN采用单独的光纤通道独立组网,安全性较高。IP SAN接入IP网络,安全性相对较低。
5.兼容性方面,FC SAN虽然有相关标准的FC协议,但不同厂商的FC设备并不兼容。而IP SAN基于TCP/IP协议,兼容性较好。
基于上述对比,在性能、稳定性要求较高的企业应用如核心数据库中,常采用FC SAN产品。而在性能要求不高,尤其是异地容灾场景,则可以考虑采用IP SAN产品。对于采用整机柜服务器作为NFVi承载的场景,统一使用IP交换机进行业务和数据存储交换则更加方便维护。
随着CPU和内存性能的发展,传统机械硬盘(HDD)成为IT系统的主要瓶颈。SSD的出现使硬盘的IO性能提升了几个数量级。SSD的应用使磁盘阵列有了进一步的发展。
1.传统磁盘阵列:在传统磁盘阵列中主要采用SAS盘作为高速存储介质,磁盘阵列的IO性能主要依赖于SAS盘的数量、背板处理能力及缓存。大量SAS盘的并行读写可以提高磁盘阵列的速度。
2.混合阵列:SSD价格相对HDD较高,而采用SSD+HDD的混合阵列是一种折中的方案,可以在不需要大幅度提高成本的情况下,获得比传统磁盘阵列更优越的性能,同时满足不断增长的容量需求。根据SSD所起到的作用,混合阵列又可以分为自动分层和缓存加速两种类型。
3.全闪存阵列:全闪存阵列中全部使用SSD作为存储介质,适用于容量要求不高,且性能要求非常苛刻的应用。全闪存阵列根据阵列控制软件可分为两种,一种为AFA(All Flash Array,全闪存阵列),是在原有磁盘阵列的基础上优化而成,例如禁止磁盘碎片整理等功能;另一种为SSA(Solid-State Array,固态阵列),则是完全根据SSD的特点重新撰写而成。
Server SAN是由多个独立服务器存储组成的一个存储资源池,有着良好的性价比和扩展性。传统存储网络主要基于FC,传输带宽和延迟远远优于千兆以太网,但随着10Gbit/s、40Gbit/s以太网和Infiniband RDMA网络技术的引入,存储反而成了系统性能瓶颈。采用Server SAN可以实现计算和存储网络的统一,具有高IO性能、极低延时和高带宽特性的SSD,使得Server SAN的性能媲美高端存储。Server SAN存储目前主要是互联网公司研发使用,即Hyperscale Server SAN,现已逐渐进入通信行业的IT领域。
VMware VSAN(Virtual SAN)是VMware公司基于VSphere开发的可扩展分布式存储架构。VSAN在VSphere集群主机直连的SSD和HDD之上构建VSAN。这些存储设备由VSAN进行统一控制和管理,使用闪存SSD加速,既能够用普通机械硬盘提供大存储空间,又能通过SSD获得高性能,从而形成成本较低、性能出色的统一共享存储层。
作为OpenStack社区呼声最高的开源存储方案,Ceph也成为最广泛的全球开源软件定义存储项目。Ceph通过实现类 POSIX接口的对象存储接口来构建底层通用的存储系统,上层通过堆叠不同存储标准(如POSIX,块接口和 S3/Swift)来实现对象存储、块存储和文件系统存储等不同存储场景的应用。这个方式也是Ceph统一存储目标的技术基础。Ceph先进的架构加上SSD固态盘,特别是高速PCIe SSD带来的高性能,无疑将成为Ceph部署的典型场景。
NFV的主要目标是实现网络设备的软硬件分离,总体趋势是底层硬件实现相对通用化。基于Ceph开源分布式存储的Server SAN技术得到各NFVi厂商的广泛支持,且更加通用。而采用商用分布式存储系统虽然能够获得更高的性能,但又会影响到底层硬件的通用性,受到厂商的掣肘。
主流商用分布式存储系统包括EMC ScaleIO、华为FusionStorage、惠普StoreVirtual VSA、戴尔Fluid Cache等,这些主流商用分布式存储系统宣称可以获得较Ceph更高的性能,且能提供较好的售后支持。
在磁盘阵列与Server SAN引入SSD盘后,性能均获得了较大提升。下面从4个方面比较磁盘和Server SAN两者的特征。
可靠性是存储首要解决的问题。传统的磁盘阵列采用双控制器、多路径和磁盘冗余等方式,保证磁盘阵列不存在单点故障。磁盘阵列的磁盘冗余一般可采用Raid5、Raid10等方式,保证在有磁盘损坏的情况下,可以通过校验数据和其他磁盘数据来恢复该磁盘的数据。而Server SAN通过软件来保障可靠性,需要采用3副本保证在磁盘损坏的情况下不影响业务数据。磁盘阵列可以通过远程镜像等成熟的异地备份及双活等技术,跨数据中心进行灾备,优于Server SAN。此外,磁盘阵列在固件中针对SSD进行优化,SSD的寿命更长。而Server SAN缺乏相关的机制,长时间使用后可能影响固态盘使用寿命。
由于SSD容量小,单盘价格贵,全闪存阵列容量较小。而采用Server SAN产品可以达到PB级的存储空间,且随着服务器的数量增长,其性能、容量可以线性增长,尤其适用数据量较大且不断增长的应用场景。要达到PB级容量,需要使用昂贵的高端磁盘阵列,且只能购买该型号的磁盘柜,扩容成本高,周期较长。从容量和扩展性而言,从优到劣排序为Server SAN、高端磁盘阵列、中端磁盘阵列、全闪存阵列。因此,对于业务数据增长较快,容量要求较大的场景而言,Server SAN具有优势。
由于采用了专用的存储硬件,并针对SSD进行优化设计,全闪存阵列性能远高于其他类型的存储。在大量使用SSD缓存的情况下,中端磁盘阵列性能得到大幅度提高。商用分布式存储系统如EMC ScaleIO、华为FusionStorage性能表现接近使用SSD缓存的中端磁盘阵列。据公开的测试数据,商用Server SAN如FusionStorage的性能远高于Ceph。此外,Ceph在不同的优化方式下性能表现差距较大。
Server SAN在硬盘购置成本上高于磁盘阵列50%以上,在硬盘价格高涨的情况下,Server SAN的成本相对较高。磁盘阵列需要购置与原设备相匹配的控制柜、磁盘柜等专用设备,扩容成本高。而Server SAN可以使用通用的服务器,扩容成本低。因此,在存储规模达到PB级以上,而且还在不断增长的情况下,采用Server SAN成本更低。
磁盘阵列成熟稳定,其维护简单,日常维护工作量小。Ceph是开源项目,其配置、性能调优复杂,运维人员需要处理系统的Bug,对技术能力要求高,且维护工作量大。商用的分布式存储系统经过厂商打磨后,商业化程度较高,而且有厂商进行维保,其运维难度小于Ceph,但也大于磁盘阵列。
VNF率先实现的应用场景主要包括vBRAS、vCPE、vEPC、vIMS、vSR,未来可能的应用场景还包括vCDN等。根据数据类型的要求,主要分为以下三类。
1.无需存储业务数据,如vCPE、vEPC、vBRAS、vIMS、vSR,涵盖NFV的主要应用场景。这类场景的虚拟机主要起到数据处理和转发等功能,数据不落盘,存储空间的增长要求不高。使用SSD作为缓存的磁盘阵列即可满足业务需求。这类可以采用传统SAN存储。
2.存储结构化数据,如vEPC中的vHSS。主要存储数据库中的结构化数据,有一定的数据增长要求。这种场景采用磁盘阵列及Server SAN均可。
3.存储非结构化数据,如vCDN。这类数据增长速度较快,对存储空间的扩展性要求高。这种场景采用Server SAN具有成本、扩展性方面的优势。
总体而言,对于NFVi而言,采用磁盘阵列可以获得更好的时延性能。