高性能存储 SIG 月度动态:多项内核特性移植到 6.6,erofs 完成共享特性 POC

LogicRhapsodyMaster
• 阅读 67

高性能存储 SIG(Special Interest Group):致力于存储栈性能挖掘,当前主要聚焦内核 io_uring 技术优化异步 IO 性能,使用持久化内存提升业务单成本性能,容器场景存储技术优化等课题。高性能存储 SIG 期望通过社区合作,打造标准的高性能存储技术软件栈,推动软硬件协同发展。

01 SIG 整体进展

本次月报综合了 SIG 在 3、4 两个月的工作进展。

  • 完成存储领域 5.10 内核上的特性移植到 6.6 内核,包含 cgroup v1 writeback 限流、jbd2 增强、IO hang 检测、block throttle 增强、fuse 增强、tcmu 增强等。
  • 5.10 内核支持 dax reflink 特性,并针对 redis 场景做了相应的优化。
  • erofs page cache 共享特性完成 POC,使用两个镜像测试节省内存约 20%,实际效果取决于镜像中文件共享的情况,理论上限能达到 100%。

02 项目具体进展

1)CVE

CVE-2024-23307:修复 raid5_cache_count() 整型溢出问题。(PR2882)

CVE-2022-38096:修复使用 vmw_context_cotable() 可能导致无效解引用问题。(PR3040)

CVE-2023-6546:修复 gsm_cleanup_mux() 竞争场景可能导致的 UAF。(PR3047)

2)erofs

[Feature] fscache 按需加载模式支持 failover。(PR2791)

[Feature] 同步社区主线 6.8 相关补丁至 6.6 内核。(PR2880)

[Feature] 4.19 内核支持压缩,lzma/deflate 压缩算法,ztailpacking,multi-reference pclusters,压缩去重,fsdax 等。(PR2896/PR2903/PR2907/PR2920/PR2941)

[BugFix] 修复 THP vma alignment 问题。(PR2971)

[BugFix] 修复 pmem fsdax 特性问题。(PR2988)

page cache 共享方案完成 POC,使用两个镜像测试节省内存约 20%,实际效果取决于镜像中文件共享的情况,理论上限能达到 100%。目前正在整理 patchset,计划下个窗口发到社区。

3)xfs

[Feature] 支持 dax reflink 特性,并针对 redis 场景优化源文件的连续性,以及脏页回写的效率。(PR2794)

[Feature] dax reflink 去除对 reverse map btree 的依赖,优化 page fault 时延。(PR3087)

4)ext4

[Feature] 移植 ext4 & jbd2 增强至 6.6 内核。(PR2795)

[BugFix] 回合 stable 分支的补丁。(PR2042)

5)io_uring

[Feature] 移植 io_uring percpu sqthread polling 等特性至 6.6 内核。(PR2822)

io_uring percpu sqthread polling 特性在 rebase 过后,由于当前 sqthread 不再是内核线程而是用户进程创建,业务测试发现仍然存在问题,待进一步解决。

6)fuse

[BugFix] 修复 cache=none 模式 mmap 问题。(PR3007)

[Feature] 支持显示禁用 export。(PR3008)

[Feature] 支持 flush 及 resend 请求。(PR3009)

[BugFix] 修复 VM_MAYSHARE 和 direct_io_allow_mmap 问题。(PR3051)

7)block

[Feature] 移植 io hang 检测至 6.6 内核。(PR2806)

[BugFix] 修复 cgroup v1 在没有配置规则时 IO 统计问题。(PR2835)

[Feature] 移植 block throttle 增强补丁至 6.6 内核。(PR2823)

[BugFix] 修复 cgroup v1 打开 CONFIG_CGROUPS 但不打开 CONFIG_CGROUP_WRITEBACK 的编译错误。(PR2875)

8)tcmu

[Feature] 移植 bypass tcmu data area 和 zero copy 特性至 6.6 内核。(PR2876)

[Feature] 移植 tcm_loop 支持 sg_tablesize 可配置补丁至 6.6 内核。(PR2879)

9)其他

[Performance] 调整 address_space 结构体布局,优化 unixbench/execl 性能。(PR2888)

[Feature] bcache 更新 writeback 速率时支持 fragmentation。该问题为社区伙伴 360 同学反馈,在特定场景会发生回写 hang 住。(PR3022)

[BugFix] nfs 修复容器内写大文件触发 oom 问题。(PR3015)

[BugFix] fat 修复 nostale filehandles 存在未初始化域问题。(PR3089)

[BugFix] nbd 修复 nla_nest_start() 空指针问题。(PR3094)

[BugFix] nfs 修复 root_nfs_cat() 差 1 问题。(PR3093)

10)dsms

继续调研 cache tiering 机制,并针对性进行性能测试。

针对遇到的磁盘故障导致业务异常,计划在 dsms 中增加磁盘健康检测功能。

更多详细进展,请参见项目主页:https://gitee.com/anolis/dsms

相关链接:

高性能存储 SIG 主页:https://openanolis.cn/sig/high-perf-storage

—— 完 ——

点赞
收藏
评论区
推荐文章
京东APP百亿级商品与车关系数据检索实践 | 京东云技术团队
本文主要讲解了京东百亿级商品车型适配数据存储结构设计以及怎样实现适配接口的高性能查询。通过京东百亿级数据缓存架构设计实践案例,简单剖析了jimdb的位图(bitmap)函数和lua脚本应用在高性能场景。希望通过本文,读者可以对缓存的内部结构知识有一定了解,并且能够以最小的内存使用代价将位图(bitmap)灵活应用到各个高性能实际场景。
Stella981 Stella981
3年前
Apache Synapse 远程代码执行漏洞(CVE
!(https://oscimg.oschina.net/oscnet/435fc4cde65d4aee9a2efca3080cb89e.png)0x00事件背景ApacheSynapse是一个简单、轻量级的高性能企业服务总线(ESB),它是在ApacheSoftwareFoun
Stella981 Stella981
3年前
Nginx多进程高并发、低时延、高可靠机制在缓存(redis、memcache)twemproxy代理中的应用
_0\.手把手教你做中间件、高性能服务器、分布式存储技术交流群_手把手教你做中间件、高性能服务器、分布式存储等(redis、memcache、nginx、大容量redispika、rocksdb、mongodb、wiredtiger存储引擎、高性能代理中间件),git地址如下:git地址:https://github.com/y1234
Stella981 Stella981
3年前
Curve 技术解析之 MDS 元数据管理
Curve简介Curve是网易数帆于今年7月份开源的一个高性能、高可用、高可靠的分布式存储系统(https://www.oschina.net/p/curve),主打高性能、低延迟。Curve设计可以作为多种存储场景的底层存储:例如块存储,对象存储,云原生数据库,EC等。当前Curve已实现高性能块存储,并且基
Easter79 Easter79
3年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Stella981 Stella981
3年前
Bypass ngx_lua_waf SQL注入防御(多姿势)
0x00前言ngx\_lua\_waf是一款基于ngx\_lua的web应用防火墙,使用简单,高性能、轻量级。默认防御规则在wafconf目录中,摘录几条核心的SQL注入防御规则:select.(from|limit)(?:(union(.?)select))(?:from\Winformation_schema\W)这边
Stella981 Stella981
3年前
Linux 下的两种分层存储方案
背景介绍随着固态存储技术(SSD),SAS技术的不断进步和普及,存储介质的种类更加多样,采用不同存储介质和接口的存储设备的性能出现了很大差异。SSD相较于传统的机械硬盘,由于没有磁盘的机械转动,寻址速度大大提高,尤其在随机读写较多的应用环境下,性能会大大提升,但这些高性能存储设备的单位存储价格相对于传统的磁带和SATA硬盘也高出很多,
SPDK对接Ceph性能优化
关键词:SPDK、NVMeOF、Ceph、CPU负载均衡SPDK是intel公司主导开发的一套存储高性能开发套件,提供了一组工具和库,用于编写高性能、可扩展和用户态存储应用。它通过使用一些关键技术实现了高性能:1.将所有必需的驱动程序移到用户空间,以避免系统调用并且支持零拷贝访问2.IO的完成通过轮询硬件而不是依赖中断,以降低时延3.使用消息传递,以避免IO
数字先锋 | 天翼云赋能汤房社区数字化“智”理,打造居民生活“幸福圈”!
在获悉汤房社区需求后,天翼云为汤房社区打造了高性能、高可靠、高并发、低时延的云服务平台,具有高效的数据存储和处理、弹性伸缩、便捷接入、协同共享等功能,承载汤房社区爱心驿站、党群服务站、“社区来帮忙”APP、红色物业等“微创新”系统建设,大幅提升社区群众的幸福感。
安全、高效!天翼云HPFS助企业一臂之力!
作为云服务国家队,天翼云坚持科技创新,不断加快推进数据存储基础设施建设,创新推出并行文件服务HPFS(CTHPFS,HighPerformanceFileStorage),助力企业构建高性能存储底座。天翼云HPFS支持全NVMe闪存和InfiniBand高速网络,并融入RDMA技术,可提供最高千万IOPS和TBps吞吐,同时保证亚毫秒时延。该产品具有高性能、高可靠性、高可扩展性的特点,可充分满足企业在HPC和AI等场景下的存储需求。
美凌格栋栋酱 美凌格栋栋酱
4个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(