ZStack Cloud 5.0.0 版本支持新一代高性能全闪分布式存储。本文主要从技术实现角度,带你探索ZStack Cloud Vhost主存储对接架构。

引言

随着人工智能浪潮的来临,企业对于数据存储系统的需求已不再局限于基本的容量与稳定性,而是聚焦于极致性能、高并发处理能力和灵活扩展性。特别在金融、医疗、制造等行业,当前正面临着前所未有的数据存储压力。

金融行业一直以稳健为主,但其应用系统对性能的要求也同样极致,比如交易、风控、资管等典型业务在面对当下互联网业务的大规模并发、实时数据分析等场景时,对存储性能无论在带宽还是延迟方面都提出了新的挑战。

医疗行业中,据统计医疗存储数据中有超过80%源自高速增长的医学影像数据,年增速约30%~40%。同时,医疗机构还必须长期保存住院电子病历至少30年,门急诊电子病历至少15年,且不同临床科室对数据存储还有各自的时效要求,这就对现有数据存储架构提出了更高标准。

工业4.0对现代制造业的影响是巨大的,尤其MES(制造执行系统)这类实时业务场景,整个产线非常依赖其存储性能表现,任何容忍范围外的延迟或可能导致生产事故,直接影响企业发展。

传统的存储解决方案,如SAN,在处理这类繁杂且高频访问的数据时,常会遭遇性能瓶颈、延迟过高、以及扩展困难等问题,导致用户业务发展受阻。为打破这一困境,一种基于vhost-user协议构建的高性能全闪分布式存储系统应运而生,该系统以其创新的设计理念与先进的技术特性,为金融、医疗、制造等行业及各类企业提供了一种高性能、高可扩展、且极具成本效益的高性能解决方案。

技术原理

当前主流的virtio方案作为专为虚拟化环境量身定制的一套设备模型,为虚拟I/O设备提供了一套标准接口和实现。virtio驱动在设计和实现时,就尽可能减少触发host后端操作(vmexit)的指令,以提升I/O效率。尽管virtio相较于原始的全虚拟化方案已显著优化,但I/O在QEMU IO thread中的处理依然低效。以backend为file的virtio-blk为例,其I/O路径为:

打开网易新闻 查看更多图片

该路径涉及两次host用户态与内核态的切换,增加了延迟。

打开网易新闻 查看更多图片
图 1 virtio方案

而vhost技术将virtio设备后端数据设备后端数据处理功能转移至QEMU进程之外,避免了QEMU内部的状态切换和系统调用,通过直接调用host上的设备驱动(如块设备读写或网络收发)完成实际I/O操作,大大提升了后端性能。

vhost-user协议作为vhost高性能存储的核心技术之一,在用户空间实现了用户态应用程序与虚拟机间的直接数据传输,大幅减少了内核态与用户态之间的切换,有效降低了CPU中断处理开销,提升整体性能。相较于传统的virtio方案,vhost-user技术将I/O路径简化为:

打开网易新闻 查看更多图片
打开网易新闻 查看更多图片
图 2 vhost-user方案

vhost-user作为vhost的用户态实现,通过Unix socket与QEMU进程通信,获取virtqueue的配置信息和内存布局,再通过mmap实现QMU/Guest间的共享内存通信。这种机制使得host上的用户态应用(如存储网关)能够直接访问virtio设备的virtqueue,无需经过其他队列中转,从而显著提升I/O性能。

技术特色

然而,仅靠vhost-user协议尚不足以实现单盘百万级IOPS和单队列百微秒延迟的。为此,ZStack Cloud还实现了多项关键技术:

全无锁架构

通过ID Sharding将I/O任务分发至不同的处理通道,实现资源Sharding,构建无锁架构,有效降低I/O延迟。ZStack Cloud采用全用户态无锁数据通道,结合RTC IO处理模型,实现端到端无上下文切换、无锁零中断、全用户态、极速网络I/O处理等,辅以绑核与异步轮询策略,最大化发挥单核(虚拟线程核)处理能力,将软件栈时延压低至20~40μs,较传统分布式I/O栈的400μs有了数量级提升,充分释放新一代硬件和网络技术的能力。

打开网易新闻 查看更多图片
图 3 全无锁架构

全栈内存零拷贝

ZStack Cloud利用零拷贝技术优化数据传输过程,避免了数据在用户空间与内核空间之间的多次复制,实现数据从发送方缓冲区直接传输至接收方缓冲区,无需CPU介入,大幅降低了数据处理时间和系统资源消耗。通过大页共享内存与RDMA网络支持,实现从虚拟机I/O内存到存储网关直至OSD全程零拷贝,同时集中管理大页内存,确保内存分配时考虑跨NUMA访问性能,实现同NUMA节点内分配。

打开网易新闻 查看更多图片
图 4 全栈内存零拷贝

减少GuestOS通知backend开销

存储网关中实现的vhost backend通过polling机制,避免了虚拟机每次I/O操作时kick后端存储,极大提升系统性能。

打开网易新闻 查看更多图片
图 5 vhost backend polling机制

多核并发

ZStack Cloud利用现代多核CPU的强大处理能力,实现多队列支持。通过均衡算法将virtqueue均匀分布在各个核上,实现极高并发能力,有效平衡负载的同时,显著提高了Guest单盘I/O操作的吞吐量和响应速度。

性能验证

为了验证Vhost主存储的实际效能,我们采用了典型的服务器集群配置,并利用了高效能的RDMA网络环境进行连接。具体测试环境配置如下:

RDMA网络配置如下:

打开网易新闻 查看更多图片

三台服务器配置如下:

打开网易新闻 查看更多图片

测试过程中,Vhost主存储展现了卓越的性能表现:

低延迟性能

在最严苛的延迟测试条件下,我们将fio测试设置为depth=1,numjob=1时,虚拟机内部执行的随机4KB读写操作延迟控制在了约100微秒级别,展现出极佳的实时响应能力。

打开网易新闻 查看更多图片
图 6 fio测试depth=1 numjob=1
打开网易新闻 查看更多图片
图 7 单深度场景友商对比

高吞吐量能力

为验证系统的高并发处理能力,我们将fio测试参数调整为depth=64,numjob=8,此时系统在保证一定性能水平的前提下,成功实现了百万级别的随机小IOPS,读写性能均达到业界领先水平。

打开网易新闻 查看更多图片
图 8 fio测试depth=64 numjob=8
打开网易新闻 查看更多图片
图 9 多深度场景友商对比

高效CPU利用

通过采用多队列(queues=4)设计,进一步提高了IOPS性能,相比于单队列模式,性能翻了2至3倍,且在保障高吞吐量的同时,系统延迟仍保持在较高竞争水平。

打开网易新闻 查看更多图片
图 10 fio测试-单队列
打开网易新闻 查看更多图片
图 11 fio测试-多队列

数据库测试

在MySQL 5.7的8核16G测试规格下,通过对等的测试数据集进行比较,相比于传统分布式存储,使用32个线程的Vhost主存储的测试数据在TPS提升了30%,95%的延迟降低了约3倍。当线程数增至96个时,QPS提升了38%。

打开网易新闻 查看更多图片
图 12 数据库测试1
打开网易新闻 查看更多图片
图 13 数据库测试2

在Oracle 19c版本的8核16G规格下,相比于传统分布式存储,Vhost主存储在TPM提升了6倍,达到42万TPM。

打开网易新闻 查看更多图片
图 14 数据库测试3

场景实践

某金融机构跑批业务实践

在国家大力发展金融服务业的大背景下,某金融机构积极响应政策号召,不断加大数字化转型力度,旨在提升服务水平和效率。通过构建具备行业领先优势的数字化平台,该金融机构致力于为客户提供更加便捷、高效的金融服务体验。跑批作为金融机构核心业务场景之一,其效率的提升对于整体服务水平的提升至关重要,能够有效增强服务效果,提升客户满意度。

某金融机构位于长三角地区,作为该地区的重点股份制农商行,其地理位置优越,紧邻经济发达地区,有着良好的发展前景。在ZStack Cloud 5.0.0版本发布之际,迅速进行了POC测试,并选择使用Vhost主存储作为存储方案。与某国外产品在相同配置条件下进行比较,跑批处理时间实际上降低62%,这项数据的提升为运营效率带来了显著的改善和优势。

某高端制造业客户性能测试实践

在高端制造行业,位于中部的某车辆制造企业致力于提升生产效率和产品质量,通过引入先进的数字化技术和智能制造解决方案,以打造具备行业领先优势的生产平台,从而实现生产效率和产品质量的双重提升。

该制造企业位于工业重镇,是当地重要的高端制造企业之一,拥有先进的生产设备和技术团队。在ZStack Cloud 5.0.0推出后,立即进行了性能跑分场景测试。在测试中,Vhost主存储在集群读写性能上达到行业头部水平,相较于高端存储阵列产品,提升约21%。

某三甲医院挂号并发场景测试

在医疗行业,天津某三甲医院积极响应国家政策,致力于提升就诊体验和医疗服务效率。在国家大力推动医疗健康服务数字化转型的大背景下,该医院通过引入先进的数字化医疗平台和智能挂号系统,旨在打造具备行业领先优势的医疗服务平台,从而实现就诊便捷性和医疗服务质量的双重提升。

该医院拥有专业的医护团队和先进的医疗设备。在ZStack Cloud 5.0.0推出后,使用最新推出的智能挂号系统挂载Vhost主存储进行测试。在测试中,相较传统的物理机+存储阵列解决方案,可支撑的挂号并发量提升63%,患者可以通过手机App或小程序预约挂号,无需排队等候,大大节省了患者的时间。实际挂号等候时间缩短了30%,患者就诊体验可以得到显著改善。

结语

新一代Vhost主存储系统以其创新的技术原理与显著的业务价值,为各行各业提供了高效、可靠且极具成本效益的数据存储解决方案,有力推动各类企业应对现代数据挑战,实现技术突破。

云轴科技ZStack作为一家自主创新、专注产品化的云计算公司,打造最好用的云产品,降低用户云计算使用门槛,是我们一直以来秉持的理念和践行方向。Vhost主存储功能的推出便是这一理念的有力实践。未来,我们会继续推出更多丰富好用的云计算产品功能,为用户创造价值。