东莞市外贸网站建设公司,建筑专业人才招聘网,wordpress文字添加图片不显示,平台公司名单一、简述
SSD寿命规格#xff0c;业界标准为TBW#xff0c;TBW指的是Terabyte Writteb写入的兆兆字节#xff0c;也有定义为Total Bytes Written#xff0c;SSD使用寿命结束之前指定工作量可以写入SSD的总数据量#xff0c;用来表达固态硬盘的寿命指标。 因为 SSD 使用 N…一、简述
SSD寿命规格业界标准为TBWTBW指的是Terabyte Writteb写入的兆兆字节也有定义为Total Bytes WrittenSSD使用寿命结束之前指定工作量可以写入SSD的总数据量用来表达固态硬盘的寿命指标。 因为 SSD 使用 NAND 做为存储介质SSD 的寿命本质上受限于 NAND 的寿命。NAND 寿命的量化指标叫 P/E Cycles也就是写入/擦除program / erase次数因为 NAND 是以页page为单位写入数据以块block为单位擦除对于已经写入数据的 block必须将原有数据进行搬移SSD 是通过“垃圾回收”Garbage CollectionGC的机制来回收被无效数据占用的空闲空间GC 额外搬移的数据需要用到 SSD 的 OPOver-provisioning预留空间。对整个 block 的数据擦除后才能允许新数据写入。一写一擦就会消耗 NAND 一个 P/E。 在 NAND 还是 2D 平面时代TLC NAND PE 只有 500-1000但在 NAND 进入 3D 堆叠时代后用于企业级 SSD 的 3D eTLC 可以达到 5000~10,000 PE。
1.1 SSD寿命单位
SSD 寿命的单位有两种PBW或 TBW和 DWPD。 PBW/TBW全称是 Petabytes/Terabytes Written也就是在 SSD 的生命周期内允许的主机端数据写入量。1PBW 1000TBW TBW与业务模型强相关因此需要固定业务模型并计算出在此种业务模型下实际的TBW TBWhost_bytes_written差值321024*1024/1024/1000/1000/1000/1000/timed_workload_media_wear DWPD全称是 Drive Writes Per Day。也就是在生命周期内一般为 5 年SSD 每天允许全盘写入的次数。DWPD 和 PBW/TBW 可以相互换算公式如下 DWDP意味着每天可以对SSD整体擦写几次可以根据业务大小选定合适DWDP的SSD。
1.2 写放大
不同工作负载因为数据分布的不同触发“垃圾回收”GC的粒度不同。GC 在进行无效数据的搬移时会引入额外的系统数据写入带来写放大 WAWrite Amplification也就是实际用户写一笔数据真正写入到 SSD 的可能需要 2-3 笔。写放大因子Write Amplification Factor简称 WAF是 NAND 总写量除以用户预期的数据写入量的比率通过 WAF 可以对 WA 引入的多余写入量进行量化。
二、查看数据
2.1 查看nvme寿命
smartctl -a /dev/nvme5n1或者smartctl -x /dev/nvme5n1 Data Units Written是指软件写入硬盘的数据量单位是1000 * 512bytes换算GB为6,081,467,848*1000*512bytes /1000/1000/1000/1000/1000 3.11PB
2.2 查看nvme精确磨损度
计算DWPD需要得到测试期间磁盘磨损度数据以计算TBW可以通过Solidigm盘测试方法 1.sst工具查询NVMe盘对应的IDsst show -ssd 2.测试之前用sst工具先reset硬盘sst reset -ssd 3 -enduranceanalyzer 3.测试业务结束后nvme intel smart-log-add /dev/nvme2n1查看smart信息 timed_workload_media_wear表示从sst命令重置后写入的数据增加的磨损度63.999%
2.3 查看由RAID卡管理的SSD
/opt/MegaRAID/storcli/storcli64 /call show smartctl -a -d megaraid,8 /dev/sda35是PD LIST里的DID DID和盘符的对应关系可以根据lsscsi中地址和/opt/MegaRAID/storcli/storcli64 /call show的JBOD LIST中的ID对应起来
观察参数 Host_writes_32MB(软件写入硬盘数据量) media_wearout_indicator磨损率 单位换算host_bytes_written 321024*1024/1000/1000/1000/1000 T nand_bytes_written 盘所有的写入包含盘自身的gc搬移等写入 host_bytes_written 盘接受到的软件的写入
SSD寿命是否下降过快其实就是SSD写入数据量与用户数据写入量的比值是否过大也就是写放大是否过大由于分布式存储或者说软件定义的存储影响最终写放大WAF的因素特别多冗余策略、GC、压缩等且目前行业内没有一个固定标准按照目前测试经验来说全流程写放大超过10基本上已经可以判定存在较大问题。
2.4 获取客户端写入数据量
可以根据下发io工具的回显计算 例如vdbench可以通过平均IO带宽*写入时间计算
三、写放大测试
3.1 写放大的测定和业务模型关联
常用的测试模型有4k8k1M. 一般采用读写比例37全随机覆盖写需要事先1M顺序写预埋数据预埋比例设计触发GC力度也会影响写放大的大小。
影响写放大测定的因素有 1、业务模型IO大小 2、业务模型读写比例 3、业务模型顺序随机 4、预埋数据占容量比例 5、测试时长 6、冗余策略
影响因素的原因为 1、下发写入到硬盘的块大小通常是固定的比如4MiB如果写4k占用一个4MiB的块写放大就与8K1M不通不过通常小IO会通过cache聚合一部分但是还会有一定差异。 2、写放大和写的关系比较大读存在搬移读可能也有一部分但是没有写影响大 3、通常随机产生的写放大要比顺序大和1中的原因相似随机更容易存在小的碎片的写占用很多大的块 4、预埋数据容量和GC力度有关GC力度越大越可能产生写放大 5、测试时长稍微复杂一点和GC标记垃圾回收以及写放大的波动有关。 6、三副本或者EC42容量有效率不同写放大也不同。
3.2 写放大计算 W A F 总 Δ N a n d W r i t e 总 Δ H o s t W r i t e WAF_{总}\frac{\Delta NandWrite_{总}}{\Delta HostWrite} WAF总ΔHostWriteΔNandWrite总 其中WAF为总写放大 N a n d W r i t e 总 NandWrite_{总} NandWrite总为所有盘写入数据量 Δ H o s t W r i t e \Delta HostWrite ΔHostWrite为软件总写入数据量。 T B W Δ N a n d W r i t e 总 Δ W e a r TBW\frac{\Delta NandWrite_{总}}{\Delta Wear} TBWΔWearΔNandWrite总 其中TBW为盘总共可以擦写的数据量Wear为磨损率。 D W P D T B W S p a c e ∗ Y e a r ∗ 365 DWPD\frac{TBW}{Space*Year*365} DWPDSpace∗Year∗365TBW 其中DWPD为盘寿命中每天可以擦写的次数Space为盘容量Year为寿命数。 W A F 盘 Δ N a n d W r i t e 盘 Δ H o s t W r i t e / N u m 盘 / U a s g e WAF_{盘}\frac{\Delta NandWrite_{盘}}{\Delta HostWrite/Num_{盘}/Uasge} WAF盘ΔHostWrite/Num盘/UasgeΔNandWrite盘 其中 Δ N a n d W r i t e 盘 \Delta NandWrite_{盘} ΔNandWrite盘为盘写入数据量 N u m 盘 Num_{盘} Num盘为盘数目 U a s g e Uasge Uasge为存储利用率。