天翼云OOS率先突破SMR技术瓶颈,14TB领跑国内存储市场

1.SMR技术的前世今生

当下大数据的爆发式增长使得原有的存储容量无法满足用户需求,SMR(叠瓦式磁记录)技术由此诞生。由于垂直磁记录技术(Perpendicular Magnetic Recording)已经逐渐达到存储密度极限,单位存储密度受限,已经严重制约云存储的应用范围与应用效果。同样的磁记录技术,通过叠加SMR技术,可以提升15%-25%的磁道密度,进一步降低单位GB成本,目前SMR盘单盘容量已经达到14TB,预计2018年下半年硬盘厂商会发布18TB SMR盘,其容量是企业市场主流使用的8TB SATA/NL_SAS盘的2倍左右。

SMR盘利用磁盘读数据时需要的磁道宽度比写数据时需要的磁道宽度窄的特点,在写数据时将磁道像叠瓦片一样,一层一层的重叠起来。SMR技术通过重叠磁道,缩小了磁道间距离,提高了单位面积存储密度,增加了磁盘容量(如图1)。

图1 SMR磁盘与普通磁盘磁记录方式对比

SMR技术将来也可应用于微波辅助磁记录(Microwave-Assisted Magnetic Recording, MAMR)和热辅助磁记录技术(Heat-Assisted Magnetic Recording, HAMR)技术来提高容量,但对磁盘的制造工艺改变较大。SMR技术只需对现有磁盘做少量修改即可实现,目前如希捷、西数等主要磁盘供应商的产品线中都有SMR产品。

2.天翼云OOS KVDisker成功突破SMR技术瓶颈

目前SMR技术已成功应用在中国电信天翼云OOS(对象存储)产品系列中,并在天翼云OOS第五代存储产品中进行了规模商用,其成熟度得到了实践证明。同时,天翼云计划在OOS第六代(国家级存储网络)中更大规模的使用。据业内磁盘厂商了解,天翼云或是国内第一家商用SMR技术的公司,成为存储领域创新应用的标杆案例。

1)    SMR技术存在的局限与面临的挑战

SMR技术增加了容量,降低了成本,但这种技术应用也带来了问题与挑战。磁道重叠后必须顺序写入,否则会对相邻磁道的数据造成损坏。正因为如此,目前业内常用的磁盘文件系统,例如EXT/XFS等,由于需要随机的修改数据从而无法运行在SMR磁盘上,这对SMR的应用带来了不小的困难。据业内人士表示,目前仅有微软Azure等极个别国际云计算巨头有足够的技术规模商用SMR磁盘。

中国电信天翼云对象存储(Object-Oriented Storage,以下简称OOS)一直在努力降低单位存储空间的成本和能耗。在SMR磁盘上市的第一时间就联系相关服务器和磁盘供应商,开始了对SMR磁盘的测试。

应用SMR磁盘主要存在以下几个方面的问题:

1、若采用Drive Managed SMR模式,在磁盘内部实现顺序写入,应用不需做任何修改。由于上层业务写请求是随机的,磁盘固件资源有限,性能无法保证,几乎无法满足业务需求,只适用于写入后不再修改的归档数据,无法用于OOS标准存储。据业内人士透露,曾有公司为了降低成本但又不想投入研发使用此类磁盘,导致性能过低,最终放弃使用。

2、若采用Host Managed SMR模式,将磁盘分为若干个Zone,Zone之间可以随机写,Zone内部必须顺序写。Host Managed SMR将Zone管理接口提供给主机,由主机保证数据的顺序写入。由于引入了新的磁盘类型、新的管理命令,所以没有现成的文件系统可以支持,需要对文件系统进行修改或重新开发新的文件系统。目前还没有成熟的文件系统实现了对Host Managed SMR磁盘的兼容。

3、在操作系统内核和HBA卡的兼容上需要进行严格的测试。不兼容的系统可能无法识别SMR磁盘,不兼容的HBA可能导致磁盘收到的SCSI命令乱序,进而导致写入失败。

4、垃圾回收(Garbage Collection,以下简称GC):SMR磁盘要求顺序写入带来的问题是删除的空间不能直接重新利用,必须把有效数据移动到其他位置才能回收空间。GC会带来写放大,影响性能。如何合理的设计空间分配及回收算法以减少不必要的数据移动是SMR最终是否可用的一大挑战。
5、数据重构时间久:超大容量硬盘,一旦出现故障,其数据重构时间将非常漫长,如果数据重构期间又有磁盘损坏,对于副本数较少的对象来说可能会造成数据丢失。

2)天翼云OOS如何突破SMR技术瓶颈?

虽然SMR磁盘的应用存在诸多技术挑战,但通过行业领先厂商的产品趋势,我们能看到未来硬盘的发展方向,SMR技术将成为主流,即使未来会有诸如HAMR等进一步提升磁密度的技术出现,只要写数据宽度大于读数据宽度,SMR技术就会一直存在。同时,与SMR所对应的“顺序写”或许是未来的一种趋势,因为固态盘也需要类似的机制对闪存颗粒的磨损进行平滑处理。因此天翼云OOS的研发团队从2015年起就坚定不移的对Host Managed SMR进行自主研发。

中国电信天翼云OOS通过产品设计和研发实力,在软件层做了大量的优化、消除,解决了技术提升带来的负面影响,突破了SMR的技术局限性,体现叠瓦式存储给单碟存储容量提升带来的优势,既能够提高单机存储容量的上限,又可以避免带来读写效率、读写性能上的瓶颈。

同时,结合中国电信OOS的特点,天翼云设计了可以兼容SMR磁盘的一套类似文件系统的Key-Value存储系统——KVDisker。结合对象存储的特性,KVDisker能够有效降低SMR技术引用带来的问题与风险,将技术与应用完美的融合在一起,实现了在业界内领先应用基于SMR技术的磁盘。值得说明的是,KVDisker是中国电信天翼云OOS研发团队完全自主研发的技术:不基于任何现成的文件系统(如EXT/XFS),而是直接读写磁盘;也没有使用任何支持SMR的开源软件,代码全部自研;除与磁盘供应商的上下游关系外,没有得到任何厂家的外部支持。经过一系列严格的测试,天翼云OOS研发团队还帮助磁盘供应商发现并解决了磁盘固件中的一些bug,双方的产品质量都得到了提高。

KVDisker在OOS系统中的位置如图2所示。其中,

(1)Object层负责协议的解析及对象属性的保存;

(2)Ostor层负责对象的冗余保证;

(3)KVDisker负责读写磁盘:对上层业务,KVDisker直接提供Key-Value API,可以很容易的接入到OOS现有系统中;对下层磁盘,KVDisker直接管理PMR和SMR磁盘,不需要文件系统。

图2. KVDisker在系统中的位置

综上所述,KVDisker针对SMR磁盘应用中可能遇到的兼容性问题、性能问题、垃圾回收效率问题、下盘速度问题进行了针对性优化。


2.1 兼容性

天翼云联合厂商对主流的HBA卡进行了严格的测试。针对可能存在的SCSI命令乱序问题,通过在应用层顺序分配空间来保证指令的顺序发送。

2.2 性能

在性能方面,天翼云从元数据、数据、空间分配三个维度,全面的提升了读取、写入、遍历、检索的效率。

1、元数据:对比文件系统大而全的元数据结构,KVDisker的元数据仅保存了时间戳、数据位置、校验值等必要的数据,这样KVDisker的元数据很小,大大的提高了检索效率。

2、元数据保存:文件系统的元数据保存在磁盘的各个位置,导致遍历文件慢。KVDisker的元数据有序的保存在磁盘的传统区域,在特定测试环境下,遍历效率比文件系统提升10倍。

3、元数据读取:KVDisker读取元数据只需要一次请求,不需要查找目录,提高了读取效率。

4、空间分配:KVDisker顺序的分配空间,充分利用了磁盘顺序写入快的特性,提升写入速度。

5、数据读取:KVDisker直接发送SCSI指令读取数据,对超长的数据并行发送多条SCSI指令,充分利用磁盘请求队列,优化读取速度。

2.3 垃圾回收

目前市面上的SMR磁盘每个Zone大小相等,都为256MB,回收一个Zone的数据需要先读取有效数据,然后写入一个空闲的Zone,最后更新元数据,整个过程可能需要数秒。对于SMR磁盘,垃圾回收算法设计是否合理严重影响系统性能的稳定性,写入数据的同时进行垃圾回收会带来响应延时,影响业务和用户体验。GC会导致写放大,合理的选择GC的Zone,能够减少移动数据的总量,提升系统性能,减少能量消耗。

底层系统很难确定哪些是冷数据,哪些是热数据,一般认为写入时间越久的数据删除的可能性越小。上层业务却可以知道部分记录的生命周期。对象存储中,用户可以为Bucket(容器或桶)用户设置生命周期、过期后即会被删掉,以及系统的日志记录,定期会将过期数据删除,尽量不进行垃圾回收。对象存储中的归档数据,用户会保证至少保存一定时间,删除的可能性小,优先进行GC。KVDisker将这种具有相同生命周期的数据写入到相同的Zone,合理区分冷热数据。

KVDisker设计了一套动态选择回收的Zone的机制。根据系统的繁忙程度、容量使用情况确定是否进行GC以及GC的并发数。根据Zone中数据的最后写入时间、有效数据比例选择回收的Zone。GC移动的数据,会按照写入时间或生命周期不同分别写入不同的Zone,使冷热数据分离。KVDisker的GC算法极大的降低了GC移动的数据量,减少了对业务的影响。

2.4 下盘速度

磁盘容量增大后,如果在磁盘下线的过程中再次发生磁盘损坏就有可能导致数据丢失。OOS下盘时整个集群的磁盘参与数据重建,加上KVDisker遍历速度快的特点,磁盘下线速度明显提升。在特定测试环境下,速度能提升至少50%。

2.5 可靠性

KVDisker设计充分考虑了对数据安全性的校验。KVDisker对数据、索引和日志都设计了校验,读取时可以及时发现任何错误。

由于磁盘的物理特点,可能会有部分扇区出现unreadable,如果不能及时发现对应的记录,并进行修复,很可能会发生数据丢失的问题。KVDisker设计了按照数据存放位置排序进行的索引,通过遍历位置索引,利用磁盘顺序读取快的特点,顺序的检查磁盘数据的完整性,及时发现错误的记录。

KVDisker设计了修复回调接口,对于审计失败和读取失败的数据,以回调的方式通知上层应用及时修复。通过坏块的修复功能,可以显著减少换盘的频率,降低系统负载,减少工作量。

KVDisker的操作具有原子性,不会出现部分Key或Value数据残留的情况。这一优于普通文件系统的特性使得在处理数据冲突的时候,不需要任何加锁行为即可保证数据的一致性,这不仅简化了编程,还提高了并行处理效率。

3. KVDisker的应用场景

应用场景1:视频监控产生的数据量巨大,需要大量的存储空间,数据会做定期删除。

应用场景2:云盘和归档数据需要的空间大,删除的频率低。

存储数据量大,需定期删除或删除率低的情况,都非常适用SMR磁盘。采用SMR磁盘可以使用更少的服务器,更少的机架空间,更少的能源消耗。

中国电信于2017年率先在部分省份规模部署了基于Host Managed (非Device Managed)SMR磁盘的云存储集群,并搭配KVDisker使用。所采用的8TB SMR盘与6TB普通盘物理材料基本相同,使用8T SMR盘可以减少33%的服务器数量。6T磁盘与8T磁盘功耗基本一致,也可以节省大约33%的能源消耗。基于Host Managed SMR的OOS在KVDisker的支持下,运行至今效果非常好,开始进入了大规模商用阶段。

目前部分主流磁盘供应商都已经发布了基于氦气的14T规格的SMR磁盘。由于氦气的密度只有空气的1/7,更小的风阻大大降低了磁盘转动功耗,同时也使得磁盘碟片可以更接近以提升单磁盘容量,少机房空间占用,降低能源消耗。与业界通用的8T普通盘比较,8T普通盘和14T盘的功耗基本是一样的。如图3所示,采用14T SMR磁盘大约可以节约40%的机架空间,降低43%电量消耗。

图3. 使用8T普通盘和14TSMR盘对比

在可见的预期内,SMR技术离实现大规模应用,仍有一段艰难的路要走,中国电信天翼云OOS产品将致力于为用户提供最优服务,以技术创新助力存储技术的未来发展。

【本文版权归存储在线所有,未经许可不得转载。文章仅代表作者看法,如有不同观点,欢迎添加存储在线微信公众号(微信号:doitmedia)进行交流。】
标签: SMR   天翼云