在计算机领域,有一个问题一直困扰大家很多年,这个问题就是IO性能瓶颈问题。随着CPU性能的不断提升,IOCPU之间的性能差距变得越来越大,这种差距也就是计算机领域著名的“剪刀差”问题。围绕着这个“剪刀差”问题,提出了一系列的理论及方法:多级存储、缓存、针对磁盘的性能优化。SSD半导体存储介质的出现,大大缩短了CPUIO之间的性能差距,使得IO性能在一夜之间提升了几个数量级。最为典型的就是IOPS技术指标,从原来磁盘最多拥有200IOPS提升到了80IOPS,一下子提升了4000倍。这种性能的提升不仅解决了原有应用IO性能瓶颈的问题;更为重要的是推动了大数据应用的发展,使得原来很难完成的应用变成了事实。

 

NVMe SSD为代表的高速存储技术正变得越来越普及。一年前只能从Intel或者Samsung拿到试用的SSD样片;一年前从市场上几乎很难买到支持U.2接口的服务器。到今天很多厂商已经推出了成熟的NVMe SSD产品。Memblaze在国内第一个推出了支持NVMe接口的高性能SSD。在服务器端,可以很容易的购买到支持多个U.2接口的服务器,超微在年初发布了1U支持10盘位NVMe SSD的服务器,预计到明年初可以推出2U 24盘位的服务器。此外,支持NVMe SSDJBOF产品今年已经初具雏形,明年预计会有成熟的产品出现。NVMe SSD拥有无与伦比的优势,以Memblaze推出的Pblaze4产品来看,该产品无论在性能还是在容量上都令人眼前一亮,远远超越了传统的磁盘介质,满足了企业级应用需求。


wKiom1ZtcUKQGDOpAABUJRw7MIw701.jpg


Pblaze4产品拥有两种产品形态,一种是采用传统的PCIe接口方式;另一种采用U.2接口,2.5寸物理形态。这种2.5寸盘可以直接插入服务器背板,具有热插拔的特性。Pblaze 4在性能方面达到了4K随机读80IOPS的性能;4K随机写15IOPS以上的性能。顺序大块写将近2GB/s的带宽;顺序读超过3GB/s带宽。和传统SAS盘相比,性能完全超越,不具可比性。在容量方面,Pblaze4全高卡达到了6.4TB的容量;2.5寸盘可以达到3.2TB的容量,可以预见在不久的将来,NVMe SSD在容量方面将会全面超越传统磁盘。

 

SSD的存储介质是半导体,半导体的成本与产量直接相关,产量越多,半导体成本越低。随着NAND Flash在移动终端、平板电脑、笔记本、PC、数据中心、企业存储的大量应用,其价格一定会持续下降。明年各大NAND Flash厂商大力推动3D TLC3D TLC将会成为主流,NAND Flash成本将进一步下降,容量进一步提升。所以,在消费市场、企业市场、互联网大数据的共同推动下,SSD成本将不再是一个问题。终有一天,SSD将会占据数据中心市场,成为企业级数据存储的主力。

 

和磁盘系统相比,SSD具有极高的性能,在这种高速存储介质上面,我们该如何对其进行数据保护,如何进行存储卷管理呢?一台服务器内部可以支持多块NVMe SSD,多块NVMe SSD的性能如何发挥出来呢?当一块SSD发生故障时,如何保证用户数据不丢?这是用户在使用NVMe SSD时需要考虑的重要问题。在传统的磁盘系统中,我们通常可以采用RAID系统保证数据可靠性,通过卷管理系统对存储资源进行管理和分配。在卷管理之上,可以部署数据库或者文件系统。当系统中单盘或者多盘发生故障的情况下,用户数据也不会导致丢失。可惜的是,在高速存储系统中,传统RAID和卷管理系统存在问题,主要原因有:


1,  传统存储系统无法发挥高速存储介质的性能。高速存储SSD拥有极高的性能,性能瓶颈已经从盘端转移到了CPUOS以及网络端。传统存储软件在设计的过程中主要考虑了磁盘问题,并没有考虑高性能存储所面临的新问题,因此,在NVMe SSD上面部署传统存储软件,高性能存储介质的优势将无法得到发挥。


2,  传统存储系统没有解决高速存储介质的问题。任何事物都有缺陷,NVMe SSD也不例外,和磁盘相比,NVMe SSD具有极高的小写性能,但是,在小写情况下,NVMe SSD内部的FTL工作在最坏情况,会引入更多的写放大,从而导致SSD单盘使用寿命降低。另外,通过传统RAIDSSD进行数据保护时,会引起多盘同时发生故障,导致数据丢失。和传统磁盘相比,SSD的故障模型也发生了变化,不能简单的采用针对HDD的故障处理方式对SSD进行处理。总之,NVMe SSD本身也存在一系列问题,这些问题在磁盘上是不存在的,需要存储系统软件对其进行处理,而这些是传统存储软件所没有考虑的。


3,  传统存储系统会对高性能存储介质造成伤害。如果直接采用传统存储软件对NVMe SSD进行处理,那么会导致NVMe SSD受到伤害。例如,在传统RAID中会存在一次数据同步的过程,该数据同步采用校验同步或者全部数据清零的方式。该过程对于NVMe SSD而言会一定程度上造成伤害。

 

由于NVMe SSDHDD很多方面存在差异,因此无法将传统针对低速介质的卷管理和RAID数据保护系统直接应用到NVMe SSD上。为了能够在NVMe SSD上进行数据保护和提供卷管理的服务,企业需要一套完全针对高速存储的解决方案,为此Memblaze推出了FlashRAID


wKioL1ZtcW7zf1VzAAEQOazSt2s925.jpg


FlashRAID给人的直观感觉是一个RAID,其实他不仅仅是一套数据保护系统,而且还是一套卷管理服务系统,总之他是一套完全面向高速存储的数据保护、卷管理系统。在软件层次上FlashRAID可以简单等价于LVMRAID

 

FlashRAID具有极高的性能,其可以发挥多盘NVMe的性能,随着盘数的增加,整体性能也会增加;随着CPU数量的增加,整体性能同样可以提升。因此,FlashRAID的性能和NVMe SSD盘数量以及CPU数量相关。 FlashRAID充分考虑了SSD的特性,不仅解决了NVMe SSD所存在的问题,而且还充分利用了SSD的优势。使得整体的性能达到最佳,而且数据可靠性得以保证。和传统的MD-RAID相比,FlashRAID在性能上远远超越了传统RAID。下图是FlashRAIDMD-RAID的性能对比图。


wKiom1ZtcZWSDMnUAABl0lMnv78373.jpg


从这个结果可以看出,FlashRAID充分发挥了高性能NVMe SSD的性能。在NVMe SSD向企业级用户部署的过程中,FlashRAID起到了为用户数据保驾护航、担当存储卷管理的重任。