发布日期: 2026-08-04
版本号: v1.12.1-rc3

请注意,切勿从任何 RC/Preview/Sprint 版本进行升级,此操作不受支持。

本次发布主要包含以下修复与更新:新增了 V2 数据引擎的分片(实验性)和快速克隆功能,并支持 Kubernetes CPU 管理器。改进包括超时进程处理、网络策略配置、大页数持久化、前端容错、备份压缩方法、错误提示透明度、指标收集以及加密通信等多项增强。更重要的是,修复了大量错误,涉及克隆操作、卷删除与挂载状态、备份列表、加密卷管理、磁盘识别、卷扩展、备份上传以及系统稳定性等方面,显著提升了 V2 数据引擎的可靠性。此外,还更新了相关文档。

更新内容 (中文)

请勿从/向任何RC/Preview/Sprint版本进行升级,此操作不支持。

本版本已解决的问题

重点问题

  • [BACKPORT][v1.12.1][功能] V2数据引擎分片 - 实验性功能 13176 - @c3y1huang @chriscchien
  • [BACKPORT][v1.12.1][功能] V2数据引擎快速克隆 13174 - @shuo-wu @roger-ryao

功能

  • [BACKPORT][v1.12.1][功能] 为Longhorn V2实例管理器SPDK CPU分配支持Kubernetes CPU管理器 13320 - @yangchiu @mantissahz @Copilot

改进

  • [BACKPORT][v1.12.1][改进] go-common-libs:命令执行超时时终止子进程 13621 - @hookak
  • [BACKPORT][v1.12.1][改进] 始终为内部通信设置网络策略 13439 - @COLDTURNIP @roger-ryao
  • [BACKPORT][v1.12.1][改进] 允许使用longhornctl持久化巨页数量 13535 - @chriscchien @bachmanity1
  • [BACKPORT][v1.12.1][改进] 改进分离拓扑中V2引擎前端切换的容错性 13569 - @davidcheng0922
  • [BACKPORT][v1.12.1][改进] 将主机RPS从SPDK反应器核心引开 13502 - @bachmanity1 @roger-ryao
  • [BACKPORT][v1.12.1][改进] updateBackupCompressionMethod即使方法未更改也可能写入卷 13480 - @yangchiu
  • [BACKPORT][v1.12.1][改进] 添加指标以收集V2数据引擎使用情况信息 13262 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][改进] 改善卷附加失败的错误透明度 13431 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][改进] 允许配置SPDK iobuf大池大小 13415 - @chriscchien @bachmanity1
  • [BACKPORT][v1.12.1][改进] 迁移过程中移除副本时,V2卷写入I/O可能停滞约10秒 13310 - @hookak @chriscchien
  • [BACKPORT][v1.12.1][改进] 为实例管理器中剩余的gRPC服务支持mTLS加密通信 13299 - @COLDTURNIP @yangchiu
  • [BACKPORT][v1.12.1][改进] 添加指标以收集LONGHORN_DISTRO信息 13253 - @derekbit @chriscchien

错误

  • [BACKPORT][v1.12.1][错误] Longhorn可能在克隆过程中尝试将卷附加到没有有效IM Pod的节点 13640 - @shuo-wu
  • [BACKPORT][v1.12.1][错误] V2卷可能卡在deleting状态 13586 - @davidcheng0922
  • [BACKPORT][v1.12.1][错误] 在V2卷上,列出超过1000个备份因备份状态中副本地址为空而失败 13612 - @COLDTURNIP @chriscchien
  • [BACKPORT][v1.12.1][错误] 当同一节点上存在挂载了host /var/run的特权Pod时,加密RWO卷卡在attached状态且无法detach 13604 -
  • [BACKPORT][v1.12.1][错误] GUI中的Web链接不正确 13539 - @yangchiu @sushant-suse
  • [BACKPORT][v1.12.1][错误] 加密V2卷的大小比声明的大小少16MB 13175 - @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][错误] CSI Pod未遵循反亲和性预设更新 13548 - @chriscchien @carterli0407-cell
  • [BACKPORT][v1.12.1][错误] 使用virtio-scsi BDF路径添加V2块磁盘失败 13475 - @chriscchien @carterli0407-cell
  • [BACKPORT][v1.12.1][错误] V2加密卷在扩容操作后持续在Attaching和Detaching状态之间切换 13562 - @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][错误] 集群关闭后V1卷未重建 13583 - @COLDTURNIP
  • [BACKPORT][v1.12.1][错误] GCS备份目标:大卷备份在最终.cfg PUT时因SignatureDoesNotMatch失败(#12676在v1.12.0中的残留问题) 13574 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][错误] 无法将V2卷用作块磁盘 13564 - @davidcheng0922
  • [BACKPORT][v1.12.1][错误] 如果先前的备份已损坏,则无法从完整备份恢复卷 13538 - @yangchiu @derekbit
  • [BACKPORT][v1.12.1][错误] 测试用例循环任务Pod不应崩溃失败 13568 - @yangchiu @c3y1huang
  • [BACKPORT][v1.12.1][错误] Longhorn 1.12.0:AWS不支持OCI S3存储桶的分块编码 13478 - @derekbit @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][错误] 使用/dev/disk/by-path/scsi-*路径添加V2磁盘失败 13559 - @carterli0407-cell
  • [BACKPORT][v1.12.1][错误] 使用v2-data-engine时,virtio-scsi虚拟磁盘未被识别为块设备,返回错误:“not a block device: exit status 32” 13560 - @carterli0407-cell
  • [BACKPORT][v1.12.1][错误] longhorn-uninstall任务中的错误日志 13549 - @yangchiu @c3y1huang
  • [BACKPORT][v1.12.1][错误] go-spdk-helper JSON-RPC客户端在响应超时后永远不会到达时,会永久泄露待处理请求簿记 13554 -
  • [BACKPORT][v1.12.1][错误] V2数据引擎:UBLK在Linux内核6.17.0上因EINVAL失败 13274 - @chriscchien @carterli0407-cell
  • [BACKPORT][v1.12.1][错误] 在Harvester中启用LH V2后内核工作队列锁死且RKE2服务不稳定 13495 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][错误] V2扩容可能在引擎仍保持旧大小时报告成功 13380 - @davidcheng0922 @chriscchien
  • [BACKPORT][v1.12.1][错误] 内核>=6.12时无法检测到FilesystemReadOnly(ext4报告emergency_ro而非ro;只读自动重新挂载静默失效) 13482 - @yangchiu
  • [BACKPORT][v1.12.1][错误] csi.*ReplicaCount Helm值对现有csi-*部署静默无效(仅在首次创建时应用) 13465 - @roger-ryao
  • [BACKPORT][v1.12.1][错误] V2卷在自动重新附加后可能再次崩溃 13337 - @shuo-wu @roger-ryao
  • [BACKPORT][v1.12.1][错误] 启用存储网络时无法附加V2卷 13490 - @c3y1huang
  • [BACKPORT][v1.12.1][错误] V2卷副本重复重用失败 13336 - @shuo-wu @chriscchien
  • [BACKPORT][v1.12.1][错误] V2加密卷恢复失败 13365 - @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][错误] V2备份/快照可能导致NVMe/TCP前端或dm设备过时,导致附加卷上Pod EIO 13332 - @davidcheng0922 @chriscchien
  • [BACKPORT][v1.12.1][错误] (chart) 使用Gateway API时ArgoCD OutOfSync 13446 - @yangchiu
  • [BACKPORT][v1.12.1][错误] 如果目标节点仍处于就绪过渡中,迁移引擎可能被意外删除 13367 - @COLDTURNIP @yangchiu
  • [BACKPORT][v1.12.1][错误] 循环裁剪任务因死锁而失败 13425 - @c3y1huang @roger-ryao
  • [BACKPORT][v1.12.1][错误] 卷扩容卡住 13368 - @shuo-wu @chriscchien
  • [BACKPORT][v1.12.1][错误] iscsid重启后PVC调整大小失败 13412 - @yangchiu @shuo-wu
  • [BACKPORT][v1.12.1][错误] 扩展卷失败 13384 - @chriscchien
  • [BACKPORT][v1.12.1][错误] 测试用例test_rwx_delete_share_manager_pod失败,因为在共享管理器Pod删除并重启后,无法在其中找到导出的卷 13226 - @davidcheng0922 @roger-ryao
  • [BACKPORT][v1.12.1][错误] 系统备份循环任务保留策略修剪了最新CR(按Status.CreatedAt排序,对于Error/竞赛CR为零) 13209 - @roger-ryao
  • [BACKPORT][v1.12.1][错误] 升级期间CSI组件可能具有0个运行中的副本 13348 - @yangchiu @carterli0407-cell
  • [BACKPORT][v1.12.1][错误] 节点更新强制完全重建 13357 - @mantissahz
  • [BACKPORT][v1.12.1][错误] 为V2卷创建备份可能失败 13191 - @mantissahz
  • [BACKPORT][v1.12.1][错误] 将备份上传到S3存储(NetApp设备)时失败 13297 - @mantissahz
  • [BACKPORT][v1.12.1][错误] chart/values.yaml中缺少spdk中断模式值 13269 - @yangchiu
  • [BACKPORT][v1.12.1][错误] 测试用例test_best_effort_data_locality失败,因为创建的卷没有副本 13225 - @carterli0407-cell

弹性

  • [BACKPORT][v1.12.1][错误] 瞬时SPDK lvol元数据失败可能导致健康的V2副本永久故障 13542 - @roger-ryao

杂项

  • [BACKPORT][v1.12.1][文档] chart values.yaml仍引用数据引擎V2为实验性功能 13615 - @sushant-suse
  • [BACKPORT][v1.12.1][文档] 网络策略设置指南 13622 - @COLDTURNIP @roger-ryao
  • [BACKPORT][v1.12.1][文档] 将最低Kubernetes版本要求更新为v1.34 13577 - @derekbit @roger-ryao
  • [BACKPORT][v1.12.1][错误] 启用存储网络时,V2卷卡在attaching状态,因为EngineFrontend目标使用引擎Pod IP而非StorageIP 13353 - @yangchiu @c3y1huang

贡献者

  • @COLDTURNIP
  • @Copilot
  • @bachmanity1
  • @c3y1huang
  • @carterli0407-cell
  • @chriscchien
  • @davidcheng0922
  • @derekbit
  • @github-actions[bot]
  • @hookak
  • @innobead
  • @mantissahz
  • @roger-ryao
  • @shuo-wu
  • @sushant-suse
  • @yangchiu

更新内容 (原始)

DON’T UPGRADE from/to any RC/Preview/Sprint releases because the operation is not supported.

Resolved Issues in this release

Highlight

  • [BACKPORT][v1.12.1][FEATURE] V2 Data Engine Sharding - Experimental 13176 - @c3y1huang @chriscchien
  • [BACKPORT][v1.12.1][FEATURE] V2 Data Engine Fast Cloning 13174 - @shuo-wu @roger-ryao

Feature

  • [BACKPORT][v1.12.1][FEATURE] Support Kubernetes CPU Manager for Longhorn V2 instance-manager SPDK CPU assignment 13320 - @yangchiu @mantissahz @Copilot

Improvement

  • [BACKPORT][v1.12.1][IMPROVEMENT] go-common-libs: kill the child process when command execution times out 13621 - @hookak
  • [BACKPORT][v1.12.1][IMPROVEMENT] always setup NetworkPolicy for the internal communication 13439 - @COLDTURNIP @roger-ryao
  • [BACKPORT][v1.12.1][IMPROVEMENT] Allow persisting number of hugepages using longhornctl 13535 - @chriscchien @bachmanity1
  • [BACKPORT][v1.12.1][IMPROVEMENT] Improve V2 Engine Frontend Handoff Tolerance in Split Topology 13569 - @davidcheng0922
  • [BACKPORT][v1.12.1][IMPROVEMENT] Steer host RPS away from SPDK reactor cores 13502 - @bachmanity1 @roger-ryao
  • [BACKPORT][v1.12.1][IMPROVEMENT] updateBackupCompressionMethod may write the Volume even when the method is unchanged 13480 - @yangchiu
  • [BACKPORT][v1.12.1][IMPROVEMENT] Add metrics to collect information about V2 data engine usage 13262 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][IMPROVEMENT] Improving error transparency for volume attachment failure 13431 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][IMPROVEMENT] Allow configuring SPDK iobuf large pool size 13415 - @chriscchien @bachmanity1
  • [BACKPORT][v1.12.1][IMPROVEMENT] V2 volume write I/O stalls(~10s) when a replica is removed during migration 13310 - @hookak @chriscchien
  • [BACKPORT][v1.12.1][IMPROVEMENT] Support mTLS encrypted communication for remaining gRPC services in instance manager 13299 - @COLDTURNIP @yangchiu
  • [BACKPORT][v1.12.1][IMPROVEMENT] Add metrics to collect information about LONGHORN_DISTRO 13253 - @derekbit @chriscchien

Bug

  • [BACKPORT][v1.12.1][BUG] Longhorn may try to attach volumes to a node without valid IM pod during the clone 13640 - @shuo-wu
  • [BACKPORT][v1.12.1][BUG] v2 volumes might get stuck in deleting state 13586 - @davidcheng0922
  • [BACKPORT][v1.12.1][BUG] Backup Listing With More Than 1000 Backups fails on v2 volume due to an empty replica address in the backup status 13612 - @COLDTURNIP @chriscchien
  • [BACKPORT][v1.12.1][BUG] Encrypted rwo volume stuck in attached state and cannot detach when a privileged pod with host /var/run mounted exists on the same node. 13604 -
  • [BACKPORT][v1.12.1][BUG] Incorrect Web Link in GUI 13539 - @yangchiu @sushant-suse
  • [BACKPORT][v1.12.1][BUG] Encrypted V2 volume size is 16MB short of the claimed size 13175 - @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][BUG] CSI pods do not respect anti-affinity preset update 13548 - @chriscchien @carterli0407-cell
  • [BACKPORT][v1.12.1][BUG] Failed to add v2 block disk with virtio-scsi BDF path 13475 - @chriscchien @carterli0407-cell
  • [BACKPORT][v1.12.1][BUG] V2 encrypted volume keeps switching between Attaching and Detaching state after expand operation 13562 - @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][BUG] V1 volumes not rebuilding after cluster shutdown 13583 - @COLDTURNIP
  • [BACKPORT][v1.12.1][BUG] GCS backup target: backup of large volume fails at final .cfg PUT with SignatureDoesNotMatch (residual of #12676 in v1.12.0) 13574 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][BUG] Can not use v2 volume as block disk 13564 - @davidcheng0922
  • [BACKPORT][v1.12.1][BUG] Fail to restore a volume from a full backup if a previous backup is corrupted 13538 - @yangchiu @derekbit
  • [BACKPORT][v1.12.1][BUG] Test case Recurring Job Pod Should Not Crash fails 13568 - @yangchiu @c3y1huang
  • [BACKPORT][v1.12.1][BUG] Longhorn 1.12.0: AWS chunked encoding not supported with OCI S3 buckets 13478 - @derekbit @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][BUG] Adding V2 disk using /dev/disk/by-path/scsi-* path fails 13559 - @carterli0407-cell
  • [BACKPORT][v1.12.1][BUG] When using v2-data-engine, the virtio-scsi virtual disk is not recognized as a block device, returning the error: “not a block device: exit status 32”. 13560 - @carterli0407-cell
  • [BACKPORT][v1.12.1][BUG] Error logs in longhorn-uninstall job 13549 - @yangchiu @c3y1huang
  • [BACKPORT][v1.12.1][BUG] go-spdk-helper JSON-RPC client leaks pending-request bookkeeping forever when a response never arrives after timeout 13554 -
  • [BACKPORT][v1.12.1][BUG] V2 Data Engine: UBLK fails with EINVAL on Linux kernel 6.17.0 13274 - @chriscchien @carterli0407-cell
  • [BACKPORT][v1.12.1][BUG] Kernel Workqueue Lockup and Unstable RKE2 Service After Enabling LH V2 in Harvester 13495 - @derekbit @chriscchien
  • [BACKPORT][v1.12.1][BUG] V2 expansion can report success while the engine remains at the old size 13380 - @davidcheng0922 @chriscchien
  • [BACKPORT][v1.12.1][BUG] FilesystemReadOnly never detected on kernel >= 6.12 — ext4 reports emergency_ro, not ro; read-only auto-remount silently inoperative 13482 - @yangchiu
  • [BACKPORT][v1.12.1][BUG] csi.ReplicaCount Helm values silently no-op on existing csi- deployments (only applied at first creation) 13465 - @roger-ryao
  • [BACKPORT][v1.12.1][BUG] v2 volume may crash again after the auto reattachment 13337 - @shuo-wu @roger-ryao
  • [BACKPORT][v1.12.1][BUG] V2 Volume Cannot Be Attached When the Storage Network Is Enabled 13490 - @c3y1huang
  • [BACKPORT][v1.12.1][BUG] v2 volume repeated replica reuse failure 13336 - @shuo-wu @chriscchien
  • [BACKPORT][v1.12.1][BUG] V2 Encrypted Volume Restore Fails 13365 - @mantissahz @roger-ryao
  • [BACKPORT][v1.12.1][BUG] V2 backup/snapshot can leave NVMe/TCP frontend or dm device stale, causing pod EIO on attached volumes 13332 - @davidcheng0922 @chriscchien
  • [BACKPORT][v1.12.1][BUG] (chart) ArgoCD OutOfSync when using Gateway API 13446 - @yangchiu
  • [BACKPORT][v1.12.1][BUG] Migration Engine Can Be Unexpectedly Deleted If the Target Node Is Still in Readiness Transition 13367 - @COLDTURNIP @yangchiu
  • [BACKPORT][v1.12.1][BUG] Recurring trim job fails with deadlock 13425 - @c3y1huang @roger-ryao
  • [BACKPORT][v1.12.1][BUG] volume expansion stuck 13368 - @shuo-wu @chriscchien
  • [BACKPORT][v1.12.1][BUG] pvc resize fails after iscsid restart 13412 - @yangchiu @shuo-wu
  • [BACKPORT][v1.12.1][BUG] expanding the volume fails 13384 - @chriscchien
  • [BACKPORT][v1.12.1][BUG] Test case test_rwx_delete_share_manager_pod fails because it’s unable to find the exported volume in share manager pod after it’s deleted and restarted 13226 - @davidcheng0922 @roger-ryao
  • [BACKPORT][v1.12.1][BUG] System Backup RecurringJob retention prunes newest CR — sorts by Status.CreatedAt (zero for Error/racing CRs) 13209 - @roger-ryao
  • [BACKPORT][v1.12.1][BUG] CSI components may have 0 running replica during upgrade 13348 - @yangchiu @carterli0407-cell
  • [BACKPORT][v1.12.1][BUG] Node update forces a complete rebuild 13357 - @mantissahz
  • [BACKPORT][v1.12.1][BUG] Creating backup for a v2 volume may fail 13191 - @mantissahz
  • [BACKPORT][v1.12.1][BUG] when uploading backup to S3 storage (NetApp appliance) it fails 13297 - @mantissahz
  • [BACKPORT][v1.12.1][BUG] spdk interrupt mode value is missing in chart/values.yaml 13269 - @yangchiu
  • [BACKPORT][v1.12.1][BUG] Test case test_best_effort_data_locality fails because there is no replica for the created volume 13225 - @carterli0407-cell

Resilience

  • [BACKPORT][v1.12.1][BUG] Transient SPDK lvol metadata failure can permanently fault a healthy v2 replica 13542 - @roger-ryao

Misc

  • [BACKPORT][v1.12.1][DOC] Chart values.yaml still refers to Data Engine V2 as experimental 13615 - @sushant-suse
  • [BACKPORT][v1.12.1][DOC] NetworkPolicy setup guidance 13622 - @COLDTURNIP @roger-ryao
  • [BACKPORT][v1.12.1][DOC] Update the minimum Kubernetes version requirement to v1.34. 13577 - @derekbit @roger-ryao
  • [BACKPORT][v1.12.1][BUG] v2 volume stuck attaching with Storage Network enabled because the EngineFrontend target uses the engine pod IP instead of StorageIP 13353 - @yangchiu @c3y1huang

Contributors

  • @COLDTURNIP
  • @Copilot
  • @bachmanity1
  • @c3y1huang
  • @carterli0407-cell
  • @chriscchien
  • @davidcheng0922
  • @derekbit
  • @github-actions[bot]
  • @hookak
  • @innobead
  • @mantissahz
  • @roger-ryao
  • @shuo-wu
  • @sushant-suse
  • @yangchiu

下载链接