logo

怎样使用好你的SSD?

近十多年来,CPU的性能提高了百倍多,而传统的HDD硬盘(HardDiskDrive)的性能只提高了不到1.5倍,这种不平衡的计算存储技术的发展,极大地影响了IT系统整体性能的提高。在固态硬盘SSD(SolidStateDrive)被发明之前,它的性能得到了颠覆性的提高,从而解决了存储的瓶颈问题。但是,SSD作为一项新技术,仍存在一些固有的缺陷,怎样充分发挥其优势,是一个值得研究的方向。



一、怎样充分发挥SSD的性能。

1、传统HDD的使用方法:

(1)协议通常采用SAS,SATA接口;

(2)Linux的IO调度需要电梯算法重新排列IO,以优化磁头路径;

(3)企业级存储器通常使用Raid卡进行数据保护。


在界面协议方面,随着SSD的发明,NVMe协议应运而生。与SAS和SATA的单队列机制相比,NVMe最多可以有65535个队列,直接使用PCIe接口消除了链接和协议瓶颈。


就控制卡生态而言,各大厂商也纷纷推出自己的NVMe控制卡芯片,包括PMC(现属Microchip),LSI,Marvel,Intel,慧荣和国内得瑞等,技术也十分成熟。


此外,还对Linux驱动和IO协议栈进行了相应的优化,例如,NVMe驱动可以直接绕过传统的、专门为HDD设计的调度层,大大缩短处理路径。


迄今为止,为充分发挥SSD的性能,上述三种传统HDD问题中的前两种已得到解决。但在企业级市场中,基于NVMe的Raid一直没有很好的解决方案。Raid5/Raid6数据保护机制(N+1,N+2)在传统企业中应用最广泛,通常是将数据条带化分片,然后计算冗余的ParityCode(奇偶校验码),将数据存储在多个硬盘中,写入新数据通常是一种读改写机制。这一机制本身就成了性能瓶颈,而且读改写对SSD的使用寿命造成了很大的损失。此外,由于NVMe协议将控制卡放在NVMe盘内,IO都是由NVMe盘内的DMA模块完成的,这给NVMe的Raid卡设计带来了更大的困难。这种Raid控制卡在市场上的可用性也很小,而且不能被广泛使用。


对于目前的情况,许多企业级存储方案仍在使用SAS/SATA的SSD和传统的Raid卡,这将导致以前解决的两个问题,SSD的性能不能充分发挥。


但是,由LightbitsLabs发明的NVMeoverTCP(NVMe/TCP)存储集群解决方案对这一问题进行了良好的处理。该解决方案通过自主开发的数据加速卡,采用ErasureCode(纠删码)机制,可实现1MIOPS以上的随机写作性能,并可避免因读改写而造成的使用寿命损失。此外,Lightbits还提出了ElasTIcRaid机制,它提供了弹性N+1保护(类似Raid5),与传统Raid5相比,它需要热备盘或及时更换损坏盘,这种机制在一块硬盘损坏后可以自动平衡,形成新的保护。例如,一块节点内最初有10块盘,采用9+1保护,当某块盘损坏时,系统会自动切换到8+1保护状态,并将原始数据的保护状态,从而大大降低了原始数据安全性,从而在10块硬盘损坏后可以实现新的压缩。


二、怎样提高NVMe盘的持久性?


当前使用最广泛的SSD是基于NAND颗粒的,NAND天生的问题是持久性。而且随着技术的发展,NAND的密度越来越高,最新一代已经到了QLC(4bitsperCell),每个Cell可以擦写的次数也在减少。


此外,NAND的使用还有一个特点,即可擦拭的最小单位较大,它可以将4KB作为单位写入NAND,但擦拭时(如修改原始数据)只能使用256KB作为颗粒(不同的SSD大小不同,但原理相同)。这样很容易形成空洞,从而触发GC(GarbagecollecTIon)的SD数据移动,从而导致所谓的写放大现象,进一步影响盘的持久性。


在企业级存储中,通常使用Raid5/6这种读改写机制,会进一步扩大磁盘的写作操作数量,一般在使用场景下损失约为直接写作方式的两倍。此外,许多Raid5还将启动Journal机制,进一步损失磁盘的使用寿命。


最终,对于最新的QLC而言,使用时还需要考虑另一个因素——IndirecTIonUnit(IU)。例如,一些QLC盘使用16KBIU,如果要写出较小的IO,还会触发内部的读改写,对使用寿命造成更大的损害。


由此可见,基于NAND的SSD仍然相对薄弱。然而,只要使用得当,这些问题仍然可以避免。例如,以一个常用的QLC磁盘为例。从以下两组关于性能和持久性的参数可以看出,持久性顺序是随机写的5倍,性能是26倍:


l顺序为0.9DWPD,随机4K为0.18DWPD;


l顺序为1600MB/s,随机4K为15KIOPS(60MB/s)。


通过分析得出,将磁盘应用于最佳工作状态是非常重要的。好消息是目前一些先进的解决方案,比如Lightbits的全NVMe集群存储解决方案就可以解决这个问题。该方案通过将随机IO转化为顺序IO,独特的ElasTIcRaid技术避免了Raid读改写的弊端,可以大大提高磁盘的持久性和随机性。


三、怎样降低使用成本。


与HDD相比,SSD是一项新技术,加上工业生产规模和需求的矛盾,目前价格仍高于HDD。因此,如何降低SSD的使用成本就显得尤为重要。

降低使用成本最重要的一环是充分利用SSD,无论是容量还是性能。但是目前大部分NVMe盘都是直接插在应用服务器上使用的,很容易造成大量的容量和性能浪费,因为只有这个服务器上的应用才能使用。根据调查,使用这种DAS(DirectAttachedStorage,直接存储),SSD的利用率约为15%-25%。

解决这一问题的较好方法是近年来市场上广泛接受的-解耦合结构。解耦合后,将所有NVMe盘变成一个大的存储资源池,应用服务器使用多少就拿多少,只要控制总数足够,就能很容易地将利用率提高到80%。此外,由于资源集中,可以采用更多的方法来降低成本,如压缩。举例来说,平均应用数据压缩比为2:1,相当于可用容量的两倍,也相当于每GB价格的一半。当然,压缩本身也会带来一些问题,比如压缩本身比较费CPU,而且许多存储解决方案在打开压缩后性能会大大降低。


针对压缩问题,Lightbits的NVMe/TCP集群存储解决方案可以通过存储加速卡解决。该卡可以实现100Gb的线速压缩能力,不消耗CPU,不增加延迟。使用这样的解决方案,压缩功能几乎没有额外的成本。此外,正如前面介绍的提高耐久性时提到的,Lightbits解决方案可以提高使用寿命,支持QLC盘的使用。从整个使用周期来看,使用成本会大大降低。一般来说,通过解耦提高使用效率,压缩可用容量,优化使用寿命或启用QLC,SD的使用成本可以大大控制。


上述从性能、持久性、使用成本三个方面对如何使用好SSD盘进行了分析,可以看出使用好NVMeSSD盘并不容易。所以,对于普通用户来说,选择一个好的存储解决方案是非常重要的。

END
  • 品类齐全 一站采购

  • 快捷报价 闪电发货

  • 行业标准 严控品质

  • 专属客服 FAE支持

4008883128

上午8:00~12:00 下午14:00~17:45

(周一至周六,节假日除外)

service@dzgu.com

关注公众号

关注公众号

在线客服

在线客服

Copyright © 2021-2024 广东万连科技有限公司 版权所有 粤ICP备2021010790号