存储技术
1.SMR技术的前世今生当下大数据的爆发式增长使得原有的存储容量无法满足用户需求,SMR(叠瓦式磁记录)技术由此诞生。由于垂直磁记录技术(Perpendicular Magnetic Recording)已经逐渐达到存储密度极限,单位存储密度受限,已经严重制约云存储的应用范围与应用效果。同样的磁记录技术,通过叠加SMR技术,可以提升15%-25%的磁道密度,进一步降低单位GB成本,目前SMR盘单盘容量已经达到14TB,预计2018年下半年硬盘厂商会发布18TB SMR盘,其容量是企业市场主流使用的8TB SATA/NL_SAS盘的2倍左右。
SMR盘利用磁盘读数据时需要的磁道宽度比写数据时需要的磁道宽度窄的特点,在写数据时将磁道像叠瓦片一样,一层一层的重叠起来。SMR技术通过重叠磁道,缩小了磁道间距离,提高了单位面积存储密度,增加了磁盘容量(如图1)。
2. 天翼云OOS KVDisker成功突破SMR技术瓶颈目前SMR技术已成功应用在中国电信天翼云OOS(对象存储)产品系列中,并在天翼云OOS第五代存储产品中进行了规模商用,其成熟度得到了实践证明。同时,天翼云计划在OOS第六代(国家级存储网络)中更大规模的使用。据业内磁盘厂商了解,天翼云或是国内第一家商用SMR技术的公司,成为存储领域创新应用的标杆案例。
1)SMR技术存在的局限与面临的挑战SMR技术增加了容量,降低了成本,但这种技术应用也带来了问题与挑战。磁道重叠后必须顺序写入,否则会对相邻磁道的数据造成损坏。正因为如此,目前业内常用的磁盘文件系统,例如EXT/XFS等,由于需要随机的修改数据从而无法运行在SMR磁盘上,这对SMR的应用带来了不小的困难。据业内人士表示,目前仅有微软Azure等极个别国际云计算巨头有足够的技术规模商用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进行自主研发。
KVDisker在OOS系统中的位置如图2所示。其中,(1)Object层负责协议的解析及对象属性的保存;(2)Ostor层负责对象的冗余保证;(3)KVDisker负责读写磁盘:对上层业务,KVDisker直接提供Key-Value API,可以很容易的接入到OOS现有系统中;对下层磁盘,KVDisker直接管理PMR和SMR磁盘,不需要文件系统。
综上所述,KVDisker针对SMR磁盘应用中可能遇到的兼容性问题、性能问题、垃圾回收效率问题、下盘速度问题进行了针对性优化。
2.1 兼容性
天翼云联合厂商对主流的HBA卡进行了严格的测试。针对可能存在的SCSI命令乱序问题,通过在应用层顺序分配空间来保证指令的顺序发送。
2.2 性能
在性能方面,天翼云从元数据、数据、空间分配三个维度,全面的提升了读取、写入、遍历、检索的效率。
1、元数据:对比文件系统大而全的元数据结构,KVDisker的元数据仅保存了时间戳、数据位置、校验值等必要的数据,这样KVDisker的元数据很小,大大的提高了检索效率。
2、元数据保存:文件系统的元数据保存在磁盘的各个位置,导致遍历文件慢。KVDisker的元数据有序的保存在磁盘的传统区域,在特定测试环境下,遍历效率比文件系统提升10倍。
3、元数据读取:KVDisker读取元数据只需要一次请求,不需要查找目录,提高了读取效率。
4、空间分配:KVDisker顺序的分配空间,充分利用了磁盘顺序写入快的特性,提升写入速度。
5、数据读取:KVDisker直接发送SCSI指令读取数据,对超长的数据并行发送多条SCSI指令,充分利用磁盘请求队列,优化读取速度。
全部0条评论
快来发表一下你的评论吧 !