AI智能总结
版权声明 ODCC(开放数据中心委员会)发布的各项成果,受《著作权法》保护,编制单位共同享有著作权。 转载、摘编或利用其它方式使用ODCC成果中的文字或者观点的,应注明来源:“开放数据中心委员会ODCC”。 对于未经著作权人书面同意而实施的剽窃、复制、修改、销售、改编、汇编和翻译出版等侵权行为,ODCC及有关单位将追究其法律责任,感谢各单位的配合与支持。 编写团队项目经理:李根深圳大普微电子股份有限公司工作组长:郭亮中国信息通信研究院贡献专家:郭亮中国信息通信研究院曹仲深圳大普微电子股份有限公司韩港霄深圳大普微电子股份有限公司谢丽娜中国信息通信研究院李佳媛中国信息通信研究院杜松英韧科技股份有限公司戴权烽火通信科技股份有限公司方兴烽火通信科技股份有限公司杨宇航长江存储科技有限责任公司秦东润长江存储科技有限责任公司向清懿华为技术有限公司吴本伟华为技术有限公司胡泽志北京三快在线科技有限公司胡振国联想(北京)信息技术有限公司冯方上海三星半导体有限公司安万全成都华瑞数鑫科技有限公司车岩磊成都华瑞数鑫科技有限公司 前言 QLCSSD凭借大容量、高带宽的特性,越来越多的被用在海量数据分析和数据预处理阶段。特别是在大模型开发过程中,减少了GPU集群的空闲等待时间。同时有效提升了单节点存储密度,节省了服务器数量、空间及功耗。 QLCSSD做为一种新型的存储介质,在测试方法和使用场景方面有独特之处。本文通过对QLCSSD寿命、性能等方面的测试建议,以及应用建议,为存储系统设计者、企业用户及研究人员提供技术参考。 目录 一、测试环境......................................................1 (一)硬件要求..................................................1(二)软件要求..................................................1 (一)寿命测试.................................................2(二)性能测试.................................................3(三)读功耗测试...............................................4(四)随机写测试前的预处理建议.................................5 三、用户使用环境评估建议..........................................7 (一)评估IO模式...............................................71.IO操作记录采集...........................................82.IO模式分析...............................................8(二)评估性能容量比............................................8(三)评估系统总成本............................................9(四)加快数据恢复速度..........................................9 四、参考文献.....................................................10 图目录 图1随机写进入稳态过程示例....................................5图2随机写稳态时SSD内部的有效数据分布示意....................6图3 CephPlacementGroup....................................10 表目录 表1缩写与术语................................................1 本测试规范规定了基于QLCSSD的测试要求,包括测试环境、寿命测试、性能测试、功耗测试方面。 本测试规范适用于评估在用户真实负载下QLCSSD是否满足要求。测试项目针对用户关注的QLC的使用寿命、混合读写性能和功耗,其它通用的SSD测试项目不在本文范围内。 一、测试环境 (一)硬件要求 服务器:支持PCIe4.0及以上接口。 准备待测试的SSD(全新或安全擦除所有数据,确保无残留数据干扰)、测试用的连接线等。 (二)软件要求 操作系统:Linux内核≥5.15(Ubuntu22.04+)。 工具:nvme-cli≥2.0、fio≥3.32。blktrace,blkparse 二、测试项目 (一)寿命测试 (二)性能测试 6、使被测SSD进入稳态。 7、通过fio日志提取带宽和IOPS字段并记录。 测试预期: 1、将SSD做测试前预处理,数据顺序写满盘。 2、用fio执行随机写负载,按照厂家建议设置numjobs和队列深度,比如8job,32队列深度。块大小根据SSD的IU,选择4K或者16K。 3、在测试过程中持续监测IOPS值,比如使用iostat做记录。以观察IOPS的值是否已经进入稳态。 4、测试完成后,通过fio日志提取IOPS字段并记录。 5、查看硬盘的SMART信息。 测试预期: (三)读功耗测试 1、将SSD做测试前预处理,数据顺序写满盘。 2、用fio执行顺序读测试,记录SSD的功耗。根据厂家推荐设置fio参数,比如1job,256队列深度,128KB块大小。 3、用fio执行随机读测试,记录SSD的功耗。根据厂家推荐设置fio参数,比如8job,32队列深度。块大小根据IU设置 (四)随机写测试前的预处理建议 在测试SSD的随机写性能时,要求得到稳态下的性能指标。在实际测试中,通常要经过一段时间后,SSD内部处理用户写入数据的工作与处理无效数据回收的工作(GC)的资源消耗达到平衡,对外体现为稳定的IOPS指标。如下图所示。 但是,SSD达到稳态的时间与SSD的容量大小相关。随着QLCSSD的容量越来越大,用户在测试QLCSSD的随机写性能时会等待很长的时间才能达到稳态。另一方面,因为容量偏大,并且较少用在小块写密集型场景,QLCSSD在实际使用过程中,大多情况并不体现为随机写稳态时的性能。 根据SanDisk的研究,通过观察SSD上每个sblk的有效数据分布比例,可以看到当SSD进入稳态时,所有sblk上的有效数据比例分布成线性递增的状态。下图是根据SanDisk的研究内容展示的有效数据分布示意图,详细原理见参考文献[1]。所以,如果设计特定的测试方法,快速地将全盘LBA按照一定的模式写入到SSD,使每个sblk内的有效数据比例呈现稳态时分布情况。就能让SSD快速进入随机写的稳态。 根据厂家提供的sblk的大小,个数以及全盘的容量,可以计算出在LBA地址范围填满全盘容量的前提下,从第1个sblk到最后一个sblk,每个sblk中有效数据的比例值。并且这些sblk的有效数据比例值成线性递增的模式。从而最终推导出每个sblk内的有效地址范围。 举例来说,假设SSD内部有n个sblk。每个sblk写入固定的LBA地址范围,并且后一个sblk内写入的LBA地址范围需要覆盖前一个sblk的地址范围的一部分。比如经过计算,第1个sblk需要写入LBA0到LBA99,第2个sblk写入LBA70到LBA169,第3个sblk写入LBA150到LBA249,等等。这样第1个sblk内的部分地址会因为第2个sblk的写入而成为无效数据,有效数据占比70%。第2个sblk内的部分地址会因为第3个sblk的写入而成为无效数据,有效数据占比80%,以此类推。所有sblk的有效数据合起来占满总LBA地址范围。 在实际测试中,建议采用多个fio线程,每个fio线程写入到SSD上不同的sblk,并且从不同的LBA地址开始写入。即:fio的--offset参数逐渐递增,--size参数等于一个sblk的大小。通过这种方式对QLCSSD进行随机写操作。然后再用一般的fio随机写操作进行全盘写入。 不同厂家的sblk大小、个数、以及给GC操作预留的sblk数量不同,建议使用厂家的测试工具计算sblk上的有效数据比例分布,再基于计算得到的比例进行上述的fio写入操作。 三、用户使用环境评估建议 (一)评估IO模式 QLCSSD适用于大块IO连续读写的应用场景,通过监测真实应用系统的IO模式,用户可以评估QLCSSD在当前环境中的适用性。 在应用系统的开发测试环境中,可以通过blktrace工具来监控IO模式,包括IO的块大小分布,以及顺序和随机读写的IO操作比例。 1.IO操作记录采集 在业务运行过程中,使用blktrace采集所有IO操作的记录。考虑到数据采集对性能的影响,建议在开发测试环境中采集。 blktrace-d/dev/nvme0n1-otrace 然后使用blkparse分析采集的IO记录,导出每条IO操作对应的地址和扇区个数。 blkparse-itrace|awk'/C/{print$8,$10}'>sector_access.log 2.IO模式分析 通过blktrace和blkparse导出的IO操作的地址和大小列表,统计块大小的分布比例,得出IO块大小分桶统计。 通过分析每两条IO操作之间的地址是否连续,可以计算出所有IO操作中,顺序和随机读写的比例。 (二)评估性能容量比 QLCSSD预期在满足存储系统容量需求的同时,提供高于同容量大小HDD集群的性能。 建议采用MB/s/TB或IOPS/TB参数来度量单盘和存储系统整体的对容量和性能的满足度。性能方面重点关注读带宽。 单盘:使用单盘实测的读带宽或厂家标称值除以单盘容量大小。 整系统:使用整个存储系统的读带宽指标除以存储系统的有效容量大小。 (三)评估系统总成本 用总性能指标除以MB/s/TB或者IOPS/s/TB,估算达到指定性能的容量值。再取计算结果与总容量指标之间的最大值,得到满足性能和容量指标所需的硬盘总容量。在此基础上,用硬盘数量乘以硬盘单价,得到硬盘总成本,加上服务器成本,耗电量等,得到系统总成本。 (四)加快数据恢复速度 在存储系统中,数据的可靠性保护通常通过多副本,EC,或者RAID组的方式实现。当盘片故障时,数据集中写入到热备盘。热备盘成为性能瓶颈,当热备盘容量大,需要恢复的数据量大的情况下,数据恢复时间变长。增加了硬盘连续失效的风险。同时,大容量盘做为热备盘闲置,也增加了成本。 建议将热备空间分散部署到存储池中的所有硬盘中,在数据恢复过程中,实现多张盘对多张盘的数据并行读写,加快数据恢复速度。例如:Ceph基于PlacementGroup的机制管理数据及其副本,每个PlacementGroup对应多个硬盘,每个硬盘上对应多个PlacementGroup。当一张盘出现故障,会触发多个PlacementGroup的数据重新分布,对应多张硬盘的读写操作。 另一方面,当新硬盘插入存储池以替换故障盘时,会触发数据重分布操作(DataRebalanceing)。可以采用限流的方式在后台运行数据平衡操作以减少这一过程对用户IO的影响。 四、参考文献 [1]Deterministic,FastRandomPreconditioning.StevenSprouse,NeilHutchison,MikeJames-2025OCPStorageTechTalk»OpenComputeProjectat1:26:00[2]分布式存储Ceph的部署及应用(创建MDS、RBD、RGW接口)_ceph创建rbd-CSDN博客