前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云存储硬核技术内幕——(3) 马克思主义存储社会发展极简史 (下)

云存储硬核技术内幕——(3) 马克思主义存储社会发展极简史 (下)

作者头像
用户8289326
发布2022-08-04 15:21:40
4510
发布2022-08-04 15:21:40
举报
文章被收录于专栏:帅云霓的技术小屋

在上期,我们提到了,以NFS,CIFS(SAMBA)为代表的资本主义时代的存储技术,虽然实现了远端主机跨越互联网访问共享的数据,极大地提升了生产力,但集中式存储主控(俗称机头)的处理能力成为了IO和吞吐能力的瓶颈,正如资本主义生产关系下,生产资料私有制约束了生产力的进步。

在早期,工程师们的经验是,每1GHz每Core的计算力,应当配置1K IOPs能力。这样的经验数据在2010年以前大致上是适用的,但随着Intel Xeon处理器从Xeon Legacy的8核心演进到现在的28核心56线程,理论上单台2路服务器有可能需要配置300K以上的IOPS的能力。显然,在100台服务器的小型数据中心中,即使采用了SSD固态盘等高性能存储介质,传统集中式存储的性能,也已经成为了瓶颈。

如图,传统的FC-SAN存储系统,虽然控制器(机头)具备一定的扩展性,但节点数量基本不可能超过32的限制(想一想,为什么?)

我们知道,对于分布式系统,如果期望它是一个可无限扩展的系统,那么,理论上要尽可能多地将每个组件都设计为分布式的。这样一来,分布式存储系统就呼之欲出了。

分布式存储本质上是将IO分散到集群的多个节点上,节点使用通(pian)用(yi)的x86服务器构建,节点之间采用通(pian)用(yi)的以太网互联互通。

如下图所示:

由于以太网的高度可扩展性(目前单机框可以支持700+个400G/100G高速端口,单Fabric可支持2万个以上25G端口完全无阻塞交换),理论上分布式存储的容量可以无限扩展。

所以,正如社会主义社会打破了资本主义下生产资料私有制的界限,构建了社会主义大生产体系一样,分布式存储能够让理论上无限扩展的节点彼此协作,从而实现IO能力和吞吐能力的无限扩展。

也正如社会主义在初级阶段,生产力并不能完全满足人民群众的物质需求一样,一开始的分布式存储系统的性能和稳定性,与FC SAN存储存在一定的差距,这是受到机械盘/SATA SSD磁盘天生的局限性,TCP/IP协议的局限性以及Linux操作系统的局限性导致的。也正是由于这些原因,催生了分布式存储向共产主义时代进军——

首先,是NVMe PCIe SSD盘的出现。

NVMe是“Non-Volatile Memory express”的缩写,指的是非易失性存储接口。它可以通过PCIe直通CPU,大大降低时延,提升读写效率,单盘吞吐可达GBps级别,IO随机写可以达到数百K IOps。

而“傲腾”SCM(Storage Class Memory)则可以让SSD像DRAM一样挂载在系统的DRAM接口上工作,IO路径更短,读写IOPS可以到1M以上,读延迟在1us以内,写入速度可达6GB/s。

固态存储的演进突破了机械磁盘性能的瓶颈,但另一个问题随之而来:

无论是NVMe SSD还是SCM,对它的每一次IO,都需要调用驱动程序,也就是进入操作系统内核。

我们知道,Linux的操作系统内核需要使用syscall()调用,在Intel体系架构下调用INT 80中断,其开销是很大的,可达到1us级别。那么,对于百万IO,仅仅在系统中断的开销方面就可以吃掉一个CPU内核/线程的全部时间,也就是说,我们需要对操作系统这样的上层建筑做一次革命。

Intel考虑到这一点,重写了内核中的经典驱动,将其运行在用户态,这就是SPDK(Storage Performance Development Kit )和PMDK(Persistent Memory Development Kit),让分布式存储软件能够绕开内核,直接访问到NVMe和SCM,使得上层建筑不再束缚生产力的发展。

在NVMe/SCM,SPDK/PMDK的加持下,分布式存储进入了共产主义社会,生产力高度发达,性能与容量可接近无限扩展以及可按需分配的存储IO能力。

事实上,最新一代公有云,以及与其同源的企业专有云计算产品,支持基于NVMe+SPDK的高性能分布式存储,已经成为了事实标准。而开源社区也维护着一系列的相关项目,如Ceph,HDFS,Openstack swift,Kubernetes CSI等……

后面我们也将展开为大家介绍这些技术的来龙去脉。敬请继续关注。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档