以云计算为核心技术的云数据中心正成为一种具备高技术、高算力、高能效、高安全等特征的新型数据中心,可为用户提供全方位、多元化、便捷的软硬件服务。随着AI、5G和物联网等新兴技术的兴起,云数据中心业务逐渐多样化,其基础设施建设由以算力为中心向以数据为中心转变,同时对数据存储提出了更高要求。分布式存储作为云数据中心的应用虚拟化技术,可提供块存储、文件存储、对象存储等服务,但由于其系统在内部软件处理、网络传输等方面易造成性能的额外耗费,在IO访问时延上无法达到本地盘效果,用户使用体验较差,故在AI分析、大规模分布式数据库、高性能应用cache等场景下,本地盘仍然是存储主力。然而,本地盘仍存在如灵活度低、利用率不高等问题,为填补此部分空白,提出了“SR-IOV+SSD”的方案。
作为虚拟化直通技术的SR-IOV早已在网络、GPU异构算力等场景得到广泛采用,随着SSD容量、盘片性能呈指数级提升,使得SR-IOV在SSD的应用也成为可能。通过SR-IOV虚拟化技术,可将单个SSD虚拟化成多个SSD硬盘,并直通到虚拟机内部使用,通过搭配高精度的QoS能力,虚拟机可以获得近似本地SSD硬盘性能,节约了Hypervisor虚拟化层对存储设备虚拟计算所带来的算力损耗。结合云平台,SR-IOV方案可实现高性能存储资源的动态调配等,极大满足云化环境下AI、分布式数据库、高性能企业应用等场景对存储灵活性的诉求。
SR-IOV是由国际组织PCI-SIG组织定义的PCIe规范的扩展规范,旨在消除VMM对虚拟化I/O操作的干预,提高数据传输性能,为VM(虚拟机)提供独立的内存空间、终端、DMA数据流,具备SR-IOV功能的I/O设备基于PCIe规范,可管理、创建多个VF(virtual function)。PCIe PF(physical function)是PCIe总线上的主要实体,一个PCIe设备具有一个或多个PF,PF设置VF数量,全局启动或停止VF,VF可以不通过VMM的干预完成数据的访问和转移。
SR-IOV功能下,原本是VMM承担的中断交由虚拟机直接处理,提升了设备I/O性能,同时虚拟机可以直接与PCIe设备进行交互,大大减轻了物理主机CPU的负担,使其可承担更多的虚拟机设备。另外,通过SR-IOV功能,可以减少PCIe设备的需求量,节省PCIe插槽,使得硬件资源可以更加充分使用。
基于以上优势,多家SSD厂商开始布局SR-IOV,目前忆联已领先在UH8系及UH7系产品上成功实现SR-IOV功能应用。
Ø 服务器:自研服务器TP6520
Ø CPU:2* Intel(R) Xeon(R) Gold 6336Y CPU @ 2.40GHz 24cores/48threads
Ø 内存:16*32GB 3200MT/S DDR4
Ø 系统盘:1*960G 12Gbps
Ø SSD:1*UH8系 3.84T
Ø HBA卡:1*MegaRAID 9440-8i
Ø NIC:2* SC332
Ø 操作系统:CentOS Linux release 8.3.2011
Ø 内核:Linux 4.18.0-240.el8.x86_64
Ø 测试工具:2.6及以上版本
Ø QEMU-KVM:2.12
Ø NVMe开源驱动:1.11.1
Ø umtool工具:1.0.1.5
本次验证,在虚拟化分区方式的场景下,通过SR-IOV技术将一片PCIe 4.0 3.84TB SSD(绑定16个CPU核)配置为2个容量为1.92TB VF(绑定8个CPU),4个960G VF(绑定4个核),8个480G VF(绑定2个核),如下示意图。
测试IO基本模型如下:
Ø 读写带宽(bs=128k,job=1,iodepth=128,read/write)
Ø 读IOPS(bs=4k,job=16,iodepth=128,randread)
Ø 写IOPS(bs=4k,job=8,iodepth=64,randwrite)
通过对盘进行划分为2/4/8个VF的场景下,在常规IO测试模型下进行SR-IOV方案验证。
本次在SR-IOV功能下的不同VF场景下总性能与整盘的性能对比图如下(以下数据为此次验证数据,仅供参考)。
注:总带宽/总IOPS=平均性能×VF数量
图1:使用SR-IOV前后盘片性能对比图
从图1可以看到,在此次SR-IOV方案验证下,PF性能、VF性能总和与原盘的性能相比波动较低,基本在5%以内,实现了对忆联UH系列SSD性能充分使用,有效提高了SSD利用率。
为验证VF性能稳定,在划分2/4/8个VF的场景下,分别进行了测试,结果如下图。
注:偏差值=(VF均值-VF性能)/VF均值*100%
图2:SR-IOV功能下各VF与均值偏差图
数据显示,各VF测试值与VF均值基本偏差小于1%,VF间性能分配较为稳定,扩展性较高,可灵活根据用户需求进行VF数量设置及管理。
当将SSD拆分成多个虚拟盘后,为了避免出现在使用SR-IOV进行虚拟化时出现多个虚拟机同时运行,同时对盘上下业务,出现性能上相互干扰,忆联特针对SR-IOV特性做了针对性能隔离的设计——SR-IOV with QoS,可通过SSD芯片对各VF进行流控,做到性能均衡。
图3:具体业务场景下VF的性能表现
为验证QoS功能,设置bs=128,qd=128,Thread=8,Read%=70%场景,对VF的IOPS、带宽和时延进行了对比。通过图2可以看到,各VF在IOPS和带宽上性能相近,时延较低,基本可以做到在日常业务使用场景下相互之间无影响,确保使用SR-IOV以后,也依然可以保障虚拟SSD盘的高性能、低时延,满足高效存储数据的需求。
当前忆联SR-IOV使用NS对VF进行逻辑上的数据隔离,但因为所有VF都使用公共的Nand flash空间,各VF间不可避免会存在性能影响,虽然在QoS功能的调度下控制到了一定范围内,但在部分更为复杂业务场景下仍不可避免。为解决这个问题,忆联将继续深耕SR-IOV在SSD上的应用,进一步优化性能隔离算法,实现更好的隔离效果。
虚拟机数据安全至关重要,当前代次虚拟机数据可以通过trim的方式进行清除,但对于金融、政府等对数据安全要求高的客户仍存在不足,如当SSD离开数据中心机柜便存在数据被盗取的可能。忆联针对虚拟机数据安全的研究方向已初具成果,后续可以做到在虚拟机释放时,对应到SSD上的物理数据同时彻底销毁,为维护数据安全提供保障。
忆联当前代次的SR-IOV具备各VF性能统计能力,新一代SSD中支持虚拟机性能智能分析,根据性能状态进行性能配置反馈,支持对虚拟机状态进行智能诊断并远程修复等功能。
本次验证清晰显示了忆联UH8系及UH7系SSD 的SR-IOV方案可有效提高盘片利用率,减少存储空间的浪费,实现节能减排、环境友好,助力绿色数据中心的发展。同时,忆联SR-IOV方案中PF、各VF间性能稳定、隔离效果显著,可随着场景变化进行VF策略制定,应用灵活,满足用户在云化环境下AI、分布式数据库、高性能企业应用等,提高资源利用率,降低TCO。对于建设绿色云数据中心,忆联SR-IOV方案是一个可真正做到降本增效、绿色低碳可持续的存储方案。