一次次为京东大促提供超高稳定性的背后,京东智联云云硬盘做了哪些工作?本篇文章就带大家揭秘京东智联云云硬盘。
京东智联云在研发云硬盘时放弃开源走全自研路线,核心业务自主可控,在功能、性能、稳定性几个方面下足了功夫。经过几年的发展,用户从怀疑、测试、到上线上量,京东智联云云硬盘外部客户用量已经超过内部客户。
云硬盘承接的业务也呈现多样性,包括物流、广告、AI、在线教育、游戏、大数据、直播等众多业务,都长期稳定运行在云硬盘之上。云硬盘提供的极致稳定性、可用性、众多的数据管理功能给上层业务带来了极大便利。同时,其99.99999%的数据可靠性,保障业务永不停机,让数据永远在线。
云硬盘基础架构解析
京东智联云云盘以Raft协议为基础,根据实际业务需求局部改进,数据采用三副本强一致实现方式。控制面为集中式管理,数据面为分布式。集中式能让我们对集群有更强的控制权,资源利用率更充分,并且在面对大面积故障情况下,我们能有效控制故障域。云硬盘集群分为客户端、管理节点、存储节点等几大组件。管理节点负责管理后端集群容量,状态的监控、变更。存储节点负责三副本数据持久化存储。设备部署在不同机架,故障域隔离。客户端采用私有协议,部署在计算节点被计算资源调用,支持容器、虚拟机、物理机访问。
存储的核心是对资源的精细管理,云盘设计之初就秉承稳定性第一的理念,采用防御性代码设计,防患故障于未然。小故障在数据中心大规模条件下已是常态。磁盘故障,内存损坏,网卡错包,交换机丢包,机架掉电,RAID卡异常,运维失误等在代码设计层面做了有效的防护处理。
用户卷被创建后,卷数据被切片为小块的副本组。副本组为最小单元,均匀分布在不同的物理机架上。副本组内有Leader,Follower,Follower三种角色。Leader负责承接用户IO,同步Follower数据。当故障或者负载均衡时状态发生变更,Leader在三副本之间切换。切换的时间可以根据用户业务配置,业务无感知。机架掉电,交换机故障等情况下,任意副本可能损坏,但是其它两副本数据完整,数据正确性和可用性得到保证。Leader负责在后台把数据同步到新的follower补齐,集群恢复为正常状态。
数据缓存
数据缓存技术可以降低IO延时,京东智联云云盘以NVME盘为数据缓存,客户端请求落NVME盘后立即返回,后台根据数据冷热程度搬移数据持久化。业务读写请求有局部性,调优的缓存算法有效缓存用户热点数据,提高性能。NVME盘的低延迟和持久化存储,让云盘既保证性能又保证了数据的可靠性。
云盘后端具备静默数据扫描功能,部分用户数据写入磁盘后长期不访问,数据就会从热数据变成冷数据。云盘后台将进行定期扫描,确认校验以及三副本一致性,发现问题及时修复数据。如果同时搭配文件和对象存储,还可实现冷数据转存,为用户节省费用。
镜像秒级启动
京东智联云云盘快照备份数据,采用增量快照的实现方式。数据存放在对象存储,整个可用区共享,快照可跨区复制。快照支持按策略运行,用户可根据需求制定快照策略,定时备份数据。
同时,京东智联云云盘快照支持延迟加载,访问时加载数据。基于延迟加载技术,可秒级快照创建批量云盘。在视频渲染批量创建主机场景中得到大量应用。对象存储跨AZ部署,访问延时偏高,在延迟读取的过程中,为了提升读取性能,我们支持快照预热加载功能,提前把快照数据拉取到本地缓存,镜像批量快速启动。
智能网卡技术
智能网卡技术可以卸载存储网络提升性能,释放CPU资源。智能网卡极大降低网络存储给虚拟主机带来的影响。网卡内部具有硬件卸载模块,数据从VM卸载到智能网卡上无需物理机CPU参与,配合云硬盘客户端数据RDMA转发到后端存储,全过程数据零拷贝,更低的延时,更好的TP99指标。满足高性能数据库,低时延I/O密集型应用场景。
随着云计算技术的演进,存储技术也在不断发展变化,从本地存储到共享存储,从私有云到公有用,再到融合云。业务的更高需求给存储行业带来了新的压力和挑战,京东智联云存储紧跟行业步伐,技术上持续进行投入,在介质,网络,高效软件栈等方面,陆续会推出更强性能,更低成本,更高稳定性的存储产品。