Ø 服务器:自研服务器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中支持虚拟机性能智能分析,根据性能状态进行性能配置反馈,支持对虚拟机状态进行智能诊断并远程修复等功能。