发布日期: 2026-08-11
版本号: v1.12.1-rc4

警告:不要从任何RC/预览/冲刺版本升级,因为此操作不支持。Longhorn v1.12.1版本修复了多个问题,重点包括V2数据引擎快速克隆和分片功能、前端切换容忍度改进、SPDK配置选项、网络策略设置、指标收集增强等。功能上支持Kubernetes CPU管理器分配SPDK CPU;改进涉及引擎前端、进程超时处理、持久化巨页配置、错误透明度提升、加密通信支持等;错误修复覆盖NVMF自动连接、Helm Chart兼容性、卷挂载/分离状态异常、备份失败、加密卷处理、测试用例失败等;弹性方面解决了SPDK元数据故障导致的副本永久错误问题;杂项包括文档更新和配置修复。此版本由多位贡献者共同完成。

更新内容 (中文)

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

本版本已解决的问题

重要特性

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

功能特性

  • [BACKPORT][v1.12.1][FEATURE] 支持Kubernetes CPU管理器,用于Longhorn V2实例管理器SPDK CPU分配 13320 - @yangchiu @mantissahz @Copilot

改进

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

错误修复

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

弹性

  • [BACKPORT][v1.12.1][BUG] 瞬态SPDK lvol元数据故障可能永久使健康的v2副本出错 13542 - @roger-ryao

其他

  • [BACKPORT][v1.12.1][DOC] NetworkPolicy设置指南 13622 - @COLDTURNIP @roger-ryao
  • [BACKPORT][v1.12.1][DOC] Chart values.yaml仍引用Data Engine V2为实验性 13615 - @sushant-suse
  • [BACKPORT][v1.12.1][DOC] 将最低Kubernetes版本要求更新为v1.34 13577 - @derekbit @roger-ryao
  • [BACKPORT][v1.12.1][BUG] 启用存储网络时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][UI][FEATURE] V2 Data Engine Fast Cloning 13672 - @shuo-wu @roger-ryao
  • [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] Improve V2 Engine Frontend Handoff Tolerance in Split Topology 13569 - @davidcheng0922 @chriscchien
  • [BACKPORT][v1.12.1][IMPROVEMENT] Allow configuring SPDK iobuf small pool size 13675 - @yangchiu @hookak
  • [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] 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] Host OS nvmf-autoconnect connects kernel initiators to v2 replica subsystems, stalling volume attach/detach for minutes 13660 - @hookak @chriscchien
  • [BACKPORT][v1.12.1][BUG] Longhorn Helm Chart NetworkPolicies do not honor new RKE2 “rke2-traefik” ingress controller 13665 - @COLDTURNIP @roger-ryao
  • [BACKPORT][v1.12.1][BUG] Longhorn may try to attach volumes to a node without valid IM pod during the clone 13640 - @yangchiu @shuo-wu
  • [BACKPORT][v1.12.1][BUG] Test case test_volume_scheduling_failure fails on v2 volumes 13656 - @yangchiu @c3y1huang
  • [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] NetworkPolicy setup guidance 13622 - @COLDTURNIP @roger-ryao
  • [BACKPORT][v1.12.1][DOC] Chart values.yaml still refers to Data Engine V2 as experimental 13615 - @sushant-suse
  • [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

下载链接