首页
/ Longhorn v1.9.0-rc3 版本深度解析:云原生存储新特性与优化

Longhorn v1.9.0-rc3 版本深度解析:云原生存储新特性与优化

2025-06-09 12:10:36作者:韦蓉瑛

Longhorn 是一个开源的云原生分布式块存储系统,专为 Kubernetes 设计。它提供了简单易用的持久化存储解决方案,支持数据备份、恢复等关键功能,特别适合在容器化环境中使用。作为 CNCF 毕业项目,Longhorn 以其轻量级架构和可靠性赢得了广泛认可。

本次发布的 v1.9.0-rc3 版本是即将到来的 v1.9.0 正式版前的第三个候选版本,包含了多项重要功能增强、性能优化和错误修复。作为技术专家,我将从架构设计、核心功能改进和运维优化三个维度,深入解析这个版本的技术亮点。

架构演进与核心功能增强

多版本引擎共存与资源清理机制

Longhorn v1.9.0-rc3 引入了一个重要的架构改进:支持清理孤儿化的运行时资源。当 v1 资源被删除后,系统能够自动清理相关的运行时资源,避免了资源泄漏问题。这一改进显著提升了系统的资源管理效率,特别是在大规模部署场景下。

V2 数据引擎的重大升级

V2 数据引擎在本版本获得了多项关键能力增强:

  1. UBLK 前端支持:新增了对用户空间块设备(UBLK)的支持,提供了更灵活的前端接入方式。UBLK 允许在用户空间实现块设备驱动,减少了内核依赖,提高了部署灵活性。

  2. 离线副本重建:无论是 V1 还是 V2 卷,现在都支持在副本离线状态下进行重建。这一功能极大提高了系统的容错能力,特别是在节点故障或网络分区情况下,数据恢复变得更加可靠。

  3. 存储网络集成:V2 引擎现在可以充分利用存储网络特性,实现数据平面与控制平面的分离。这种架构优化不仅提高了性能,还增强了系统的可扩展性。

系统可靠性与运维能力提升

定期系统备份机制

v1.9.0-rc3 引入了定期系统备份功能,这是企业级用户期待已久的重要特性。管理员可以配置定期备份整个 Longhorn 系统的元数据和关键配置,包括:

  • 卷配置和状态信息
  • 节点和磁盘配置
  • 备份目标和设置
  • 定期作业定义

这一功能为灾难恢复提供了坚实基础,确保在系统级故障时能够快速恢复服务。

增强的监控与可观测性

本版本在监控方面做了多项改进:

  1. 新增 Prometheus 指标:增加了副本(Replica)和引擎(Engine)CRD 的相关指标,提供了更细粒度的性能监控能力。

  2. 引擎重建状态指标:现在可以监控引擎重建过程中的详细状态,帮助运维人员更准确地评估数据恢复进度。

  3. 卷/副本数量统计:新增了按节点/集群统计卷和副本数量的指标,便于容量规划和资源分配。

性能优化与稳定性改进

数据备份与校验机制优化

针对数据备份和校验机制,本版本进行了多项优化:

  1. 单副本 V1 卷的校验计算优化:对于单副本的 V1 卷,现在可以禁用数据校验计算,减少了不必要的计算开销。

  2. V2 数据备份校验流程改进:V2 卷的数据备份校验计算和更新现在遵循与 V1 相同的流程,提高了行为一致性。同时,在数据备份删除过程中会临时禁用校验计算,避免资源竞争。

  3. SPDK 校验任务优先级:SPDK 目标现在可以取消低优先级的校验计算任务,确保高优先级操作(如 I/O 请求)能够及时响应。

资源管理增强

在资源管理方面,本版本有几个值得注意的改进:

  1. 移除 V2 数据引擎实例管理器 CPU 上限:取消了原有的 CPU 资源限制,允许实例管理器根据负载动态使用更多计算资源。

  2. 改进的自动平衡日志:减少了对分离卷的自动平衡日志输出,降低了日志噪音,使关键问题更容易被发现。

  3. 危险区域设置优化:将 V2 数据引擎的大页内存限制设置移入危险区域,防止意外修改导致性能问题。

兼容性与部署改进

CRD 与 API 演进

v1.9.0-rc3 继续推进 API 演进:

  1. v1beta1 到 v1beta2 的迁移:完成了从 v1beta1 到 v1beta2 自定义资源定义(CRD)的迁移,为未来功能扩展奠定了基础。

  2. 废弃字段清理:从 CRD 中移除了多个已废弃字段,简化了 API 结构。

  3. 代码生成器改进:使用 kube_codegen.sh 统一生成 K8s 存根和 CRD,提高了开发一致性。

部署灵活性增强

在部署方面,本版本提供了更多配置选项:

  1. 可配置的 volumeBindingMode:现在可以通过 Helm 值配置 StorageClass 的 volumeBindingMode,适应不同的调度需求。

  2. 升级响应器 URL 可配置:允许自定义升级检查的端点,满足企业内网环境需求。

  3. ARM64 平台支持改进:增强了对 ARM64 架构的支持,特别是解决了 RHEL 8.4 上的兼容性问题。

问题修复与稳定性提升

v1.9.0-rc3 修复了大量影响系统稳定性的问题,主要包括:

  1. 数据一致性修复:解决了多个可能导致数据不一致的场景,包括 V2 卷在副本重建后的校验和变化问题。

  2. 资源泄漏修复:修复了实例管理器、支持包等资源可能泄漏的问题。

  3. 操作流程优化:改进了卷扩展、数据备份删除等关键操作的可靠性。

  4. UI 体验提升:修复了多个界面显示问题,提高了管理体验。

总结与展望

Longhorn v1.9.0-rc3 代表了云原生存储领域的一次重要进步,特别是在 V2 数据引擎成熟度、系统可靠性和运维便利性方面。新引入的定期系统备份、离线副本重建等功能,使得 Longhorn 更加适合生产环境部署。

对于考虑升级的用户,建议在测试环境中充分验证新功能,特别是 V2 引擎相关特性。虽然候选版本已经相当稳定,但生产环境部署仍建议等待正式版本发布。

随着云原生生态的不断发展,Longhorn 通过持续的架构演进和功能增强,正在成为 Kubernetes 持久化存储领域的重要选择。v1.9.0 版本的正式发布,将进一步提升其在企业级场景中的竞争力。

登录后查看全文
热门项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
178
262
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
868
513
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
183
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
268
308
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
373
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
599
58
GitNextGitNext
基于可以运行在OpenHarmony的git,提供git客户端操作能力
ArkTS
10
3