近年来企业纷纷对内部流程进行了更多的数字化和追踪,收集的客户信息日益增加,构建的数据密集型应用也越来越多,因此企业积聚了大量的数据,保存和管理这些海量信息变得日益困难。
大多数存储业务的数据均为“冷”数据
将所有数据保存在同一个存储介质中显然是不切实际的。不同的存储介质在成本、容量、性能和耐用性等方面的特性各不相同,用户不可能将所有数据都存储在价格高昂的SSD中,同时也不是每种数据都需要经常访问。因此企业在保存数据时应首先将数据分为“热”、“温”、“冷”三种类型。所谓热数据是需要尽快进行处理的数据,一般暂时存放于内存中或采用高性能SSD进行存储。温数据是非即时的状态和行为数据,访问频率要比热数据稍低些,一般使用QLC3D NAND SSD存储。冷数据则是不经常访问的数据,例如企业备份数据、业务与操作日志数据、话单与统计数据等。对这些最“冷门”的数据,适合存储到磁带这种价格便宜的长期存储介质。
事实表明,目前有大约60%的业务数据最终都可以保存为冷数据。因此,为冷数据选择一种价格便宜但写入速度快到足以跟上此类数据生成速度的存储介质至关重要。幸运的是,得益于光纤通道和串行连接 SCSI (SAS) 等技术,现代磁带库能够快速写入,并因此成为当今快速存档冷数据的理想之选。
打造高性能磁带库备份有何要求?
目前现代磁带库的顺序读写性能正在不断提升,以满足企业不断增长的数据量。比如,百度的存储业务:百度智能云所用的高性能磁带库备份系统的写入速度已经达到600MB/s。然而,磁带库本身的写入速度虽快,但用户在向磁带库备份时,并不是简单地将数据直接写入到磁带库,在基于磁带库的备份架构中存在一个常常会妨碍数据以其最大速率写入磁带库的技术障碍。这就是:在将数据备份到磁带上之前,首先需要将数据收集到缓存层的数据节点上,将数据序列化以便为写入磁带介质做准备。所谓序列化就是将对象的状态信息转换为可以存储或传输形式的过程。在序列化期间,对象会将其当前状态写入到临时存储区,也就是数据节点的缓存盘上,在完成序列化后再将数据从缓存盘写入到磁带库中。
在向磁带库备份时,并不是简单地将数据直接写入到磁带库,需先将数据传输到数据节点中的缓存盘进行序列化。
因此用户数据节点上的缓存盘应满足三点要求:
1. 超高的读取性能
以百度所用的高性能磁带库为例,因为其写入速度达到了600MB/s,那么磁带库获取数据的来源:即缓存盘的读取性能不应低于磁带库600MB/s的写入速度,以匹配磁带库的性能指标。
2. 超高的写入性能
从磁带库备份架构可以看到,其数据的写入流程是客户端→数据节点(缓存盘)→磁带库。因此要保持磁带写入速度饱和以提高效率,客户端在将新数据写入到缓存盘的速度也应至少与缓存数据写入磁带的速度相等,即最低600MB/s。
3. 耐用性要求
与所有存储介质类似,磁带也有其使用寿命。以百度的磁带备份库为例,百度的数据保留政策要求每3~6年就要将存储在磁带上的数据转移至新磁带。其磁带库的存储容量为16PB,而百度团队希望缓存盘能够持续服务三代磁带。为了实现此目标,缓存盘需支持总写入量为48 PBW的耐用性。
如何满足企业磁带库备份的需求?
使用机械硬盘作缓存盘完全无法满足磁带库备份的需求,实际写入速度仅200MB/s。
那么怎样才能构建可以满足企业需求的磁带库备份系统呢?显然不断尝试测试数据节点的缓存介质是回答这个问题前需要做的工作。还是以百度智能云的磁带库备份系统为例,他们最初使用传统的机械硬盘(HDD)进行缓存,但效率完全不能令人满意。原因很简单,尽管磁带库的写入速度为每秒600MB/s,但机械硬盘的读取速度却仅为200MB/s,将磁带库的备份速度降低了三分之二。事实上,即使使用传统的SAS RAID机械硬盘阵列,其读取和写入操作也无法完全达到让磁带库管道饱和的速度,进而导致出现备份速度缓慢等问题,无法发挥磁带库的高速潜能。
随后,百度采用基于NAND闪存的SSD来替换机械硬盘,充当缓存盘。但他们发现了新的问题:在使用SSD进行随机写入操作时,需要大量的后台介质管理,这会大大降低每个磁盘的吞吐量并缩短磁盘寿命。因此,需要使用基于多个SSD进行两种存储配置:16盘RAID0的标准耐用性配置,以及6盘RAID 0+1的中等耐用性配置。
虽然这两种配置方案都能满足600MB/s的读取和写入要求,但却需要使用众多NVM Express(NVMe)插槽来连接大量的SSD才能达到所需的吞吐率,这将使得维护更复杂。此外,根据设备规格进行的计算表明,这两种配置方案仍不能满足百度需要缓存盘服务三代磁带的耐用性要求,其PBW分别只有30.72和36.75。
因此百度团队开始研究采用更先进的存储介质傲腾来用于缓存盘。基于3D Xpoint技术打造的傲腾介质具有诸多新特性。首先是它支持就地写入,写入前不需要进行数据擦除。不像普通NAND闪存存在读-修改-写这个过程,因此它拥有更好的性能。同时在长时间写入后,它也不会出现数据脏块,不需要进行垃圾回收,所以傲腾产品可以很好地保持性能一致性,不会出现NAND固态盘用得越久、性能越差的问题。其次是傲腾技术支持位寻址,可以提供超低的延迟,带来更快的传输速度。第三,傲腾产品的寿命更长,耐用性更好,比如英特尔傲腾固态盘P4800X可以支持多达60个DWPD(每日全盘写入次数),而英特尔P4600、P4610这样的高性能、高寿命NAND固态盘,也只能支持3个DWPD左右。
最终在将缓存盘换用由两块英特尔傲腾固态盘P4800X组成的RAID 1镜像阵列后,才能在性能、耐用度上满足磁带库备份系统的需求。
最终百度为每个数据节点的缓存盘换用由两块英特尔傲腾固态盘P4800X 1.5TB组成的RAID 1镜像阵列后,百度团队发现它完全可以满足解决方案的数据缓存要求。百度的磁带库备份系统不仅可以轻松实现600MB/s的读写性能,更能保证无论其写入压力如何,都能保持读取响应时间不变,很好地保证性能一致性。当然最为关键的是,该解决方案还可提供高达164 PBW的耐用性,远远超出了之前48 PBW的耐用性要求。通过这一全新解决方案,百度可以在相同时间内备份三倍的数据量。”
傲腾方案高性能磁带库备份系统的使用让百度智能云能充分发挥其产品及技术优势,在较大的写入压力下依然能保持数据的快速响应及高性能读写,为客户提供超低成本及便携的数据管理能力。
百度智能云存储产品代表对这样的测试结果非常满意:“百度在处理新客户端数据,以及并行复制磁带库备份数据方面面临着带宽和写入耐用性的挑战。英特尔傲腾固态盘凭借其高带宽、高耐用性、低延迟和易于维护的优势,为百度带来了高价值,并帮助我们加快创新磁带库解决方案,同时降低成本、提高效率。百度智能云作为百度技术能力ToB的出口,在业务侧围绕英特尔傲腾固态盘进行了探索和布局。百度智能云虚拟化块存储CDS、云原生数据库 GaiaDB 等产品,已经进行了相关产品化测试,预期搭载英特尔的新一代介质,大幅升级云上产品规格丰富度、绝对性能以及性价比。”
两步打造高效、耐用的磁带库备份系统
目前冷数据的产生速度越来越快,企业亟需找到能够高速备份这些冷数据的方法。磁带库能够以较低的成本提供出色的备份容量和写入速度,但在将数据写入磁盘之前,需要在数据节点中的缓存盘对数据进行缓存和序列化。通过百度的实践不难看出,此类缓存盘会面临性能、耐用度和后期维护等多方面挑战,无论机械硬盘还是常见的NAND SSD都无法满足需求。目前只有将英特尔傲腾固态盘用作这类数据节点上的缓存盘,百度才能够在实现出色耐用性的同时(可达164 PBW 和每日整盘写入次数为60 DWPD),满足繁重、稳定且一致的读/写混合型工作负载带宽要求(至少600MB/s),并将备份相同数据量所需的时间减少了 67%。
因此,对于更多企业而言,要想打造高效、耐用的磁带库备份系统,最重要的就是要完成以下两步工作:
1.采用高性能的磁带库,保证其传输速度可达600MB/s或更高;
2.采用傲腾固态盘这类在性能、耐用度上远优于机械硬盘、NAND闪存的新型存储介质作为数据节点的缓存盘,保证磁带库能高速、稳定地全速备份数据。
如果你想了解更多百度智能云、英特尔傲腾存储产品方面的信息,可观看于9月15日12:00~14:00举行的百度智能云分论坛视频直播,在这里百度与英特尔将发布最新AI新基建产品及能力,分享最新产业智能化应用实践,千万不要错过哦。