发布日期: 2025-09-18
版本号: v1.10.0-rc3

本次 Longhorn 发布包含多个重要功能更新,包括 V2 卷支持扩展与克隆、可配置备份块大小、为副本重建增加 QoS 限制,以及支持无大页配置的 V2 卷等。同时,发布了多项改进,例如为 V1 和 V2 数据引擎分别设置快照校验、增强离线重建、改进日志与调试信息、完善 RBAC 权限及多处 UI 优化。本次更新也修复了大量错误,涉及卷状态异常、备份问题、V2 引擎兼容性、安装卸载失败等多个方面,显著提升了系统稳定性。此外,文档得到进一步完善,并处理了多项维护任务。需要注意的是,不支持从或向任何 RC/Preview/Sprint 版本进行升级。

更新内容 (中文)

不要从任何RC/预览/Sprint版本进行升级或降级,因为该操作不受支持。

本版本已解决的问题

亮点

  • [功能] v2 支持卷扩展 8022 - @davidcheng0922 @chriscchien
  • [UI][功能] v2 卷支持克隆 11736 - @yangchiu @houhoucoop
  • [功能] v2 卷支持克隆 7794 - @yangchiu @PhanLe1010
  • [功能] v2 卷支持中断模式 9834 - @yangchiu @c3y1huang
  • [功能] 支持无 hugepage 的 v2 卷 7066 - @derekbit @chriscchien
  • [功能] 可配置的备份块大小 5215 - @COLDTURNIP @yangchiu
  • [UI][功能] 可配置的备份块大小 11586 -
  • [功能] 添加 QoS 支持以限制副本重建负载 10770 - @hookak @roger-ryao
  • [功能] v2 卷的细粒度设置以匹配 v1 数据引擎 10926 - @derekbit @chriscchien
  • [改进] 在 Longhorn CSI 驱动中支持 CSIStorageCapacity 以实现容量感知的 Pod 调度 10685 - @bachmanity1 @roger-ryao
  • [功能] v1 数据引擎的 IPV6 支持 2259 - @yangchiu @c3y1huang
  • [功能] 使用增量快照的增量副本重建:控制平面和数据平面 10037 - @shuo-wu @roger-ryao
  • [功能] 在 Longhorn v1.10 中移除 v1beta1 API CRD 10249 - @derekbit @roger-ryao

功能

  • [功能] 添加在 hugepage 更新后通过 longhornctl 重启 kubelet 的选项 11241 - @chriscchien @bachmanity1
  • [UI][功能] 可配置的备份块大小 11351 - @yangchiu @houhoucoop
  • [UI][功能] 在单个卷的概览页面中显示挂载票据摘要 11401 - @yangchiu @houhoucoop
  • [UI][功能] 添加 QoS 支持以限制副本重建负载 11306 - @davidcheng0922 @houhoucoop @roger-ryao
  • [UI][功能] v2 卷的细粒度设置以匹配 v1 数据引擎 11354 - @chriscchien @houhoucoop
  • [功能] 在单个卷的概览页面中显示挂载票据摘要 11400 - @yangchiu @davidcheng0922
  • [功能] 当启用“卷意外分离时自动删除工作负载 Pod”功能时,允许 Longhorn 使用自定义控制器重启 Pod 8353 - @derekbit @roger-ryao
  • [功能] 覆盖容器镜像仓库的标准化方法 11064 - @marcosbc @yangchiu @roger-ryao
  • [功能] 指定镜像拉取密钥的标准化方法 11062 - @marcosbc @chriscchien

改进

  • [改进] 添加 Longhorn 安装变体的使用指标 11792 - @derekbit
  • [改进] 允许为 v1 和 v2 数据引擎应用不同的快照校验和相关设置值 11537 - @chriscchien @nzhan126
  • [改进] 使 longhornctl 可在气隙环境中使用 11291 - @chriscchien @bachmanity1
  • [改进] SAST 潜在的控制器/volume_controller.go 中在 longhorn-manager 中空指针解引用 11780 - @c3y1huang
  • [改进] 从由设置 log-path 定义的主机目录收集日志 11522 - @c3y1huang @roger-ryao
  • [改进] 增强离线重建的资源感知和重试退避 11270 - @mantissahz @chriscchien
  • [改进] 在支持包中收集挂载表、进程状态和进程表 8397 - @mantissahz @chriscchien
  • [改进] 卷挂载应自动排除设置了 disable-v2-data-engine="true" 的节点 11695 - @derekbit @chriscchien
  • [改进] 为设置引入“系统信息”类别 11656 - @derekbit @roger-ryao
  • [改进] RBAC 权限 11345 - @davidcheng0922 @chriscchien
  • [改进] 将 Longhorn Pod 的日志精度提高到纳秒 11596 - @derekbit @roger-ryao
  • [改进] 更新 v2 数据引擎的验证逻辑 11600 - @derekbit @chriscchien
  • [改进] 改进 longhorn-engine、tgt 和 liblonghorn 的日志消息以便于故障排除 11545 - @yangchiu @derekbit
  • [改进] 重命名底层镜像管理器以减少 CR 名称冲突概率 11455 - @COLDTURNIP @chriscchien
  • [改进] 从 longhorn/longhorn 中移除过时的先决条件安装脚本 11430 - @yangchiu @roger-ryao @sushant-suse
  • [UI][改进] 为强制分离操作添加 UI 警告,以防止 Kubernetes 和 Longhorn VolumeAttachments 不同步 9944 - @yangchiu @houhoucoop
  • [改进] 为 longhornctl 添加 node-selector 选项以选择运行 DaemonSet 的节点 11213 - @yangchiu @bachmanity1
  • [改进] 改进卷的 Scheduled 状态消息 11460 - @yangchiu @derekbit @chriscchien
  • [改进] 推出收集实例管理器日志的新机制 5948 - @yangchiu @derekbit
  • [改进] 调整底层镜像下载的硬编码超时限制 11309 - @COLDTURNIP @roger-ryao
  • [改进] 使实例管理器 Pod 的 liveness probe 参数可配置 10788 - @yangchiu @derekbit
  • [改进] 增强 Longhorn CLI 的菜单描述 8998 - @roger-ryao @sushant-suse
  • [改进] 改进 longhorn-engine 控制器日志消息 11507 - @derekbit @chriscchien
  • [改进] 添加注释以解释实例管理器控制器中 isSettingDataEngineSynced 的作用 11321 - @mantissahz
  • [改进] 泛滥和误导性日志消息“删除驱逐节点上的孤儿…” 11500 - @yangchiu @derekbit
  • [改进] 拒绝更新 v1 数据引擎的 volume.spec.replicaRebuildingBandwidthLimit 11497 - @derekbit @roger-ryao
  • [改进] 如果重建无法启动,则分离离线重建卷 11274 - @mantissahz
  • [改进] 处理底层镜像节点磁盘删除事件 10983 - @COLDTURNIP @chriscchien
  • [改进] 将 RebuildingMbytesPerSecond 重命名为 ReplicaRebuildBandwidthLimit 11403 - @derekbit @roger-ryao
  • [改进] 使同步代理可分析 11386 - @COLDTURNIP @yangchiu
  • [改进] 添加 Longhorn 磁盘 I/O 性能指标 11223 - @hookak @DamiaSan
  • [改进] 使 CLI 预检检查对后续检查不阻塞 9877 - @davidcheng0922 @DamiaSan
  • [改进] 为 cli 预检检查添加命名空间参数 9749 - @davidcheng0922 @DamiaSan
  • [改进] “孤立数据”不应置于设置下 10383 - @houhoucoop @DamiaSan @sushant-suse
  • [改进] 在 longhorn-ui 中升级 Node v20 11315 - @chriscchien @houhoucoop
  • [改进] /v1/backuptargets 返回的有用错误消息未在 UI 中显示 10428 - @houhoucoop @DamiaSan
  • [改进] 在创建备份、备份底层镜像和系统备份之前检查备份目标是否可用 10085 - @yangchiu @nzhan126
  • [改进] 资源受限场景中实例管理器 Pod 重建的退避重试间隔 10263 - @yangchiu @bachmanity1
  • [改进] 记录 webhook 拒绝迁移挂载票据时的详细信息 11150 - @COLDTURNIP @roger-ryao
  • [改进] 处理包含混合无效条件的凭证密钥 8537 - @yangchiu @nzhan126
  • [改进] 允许为 guaranteed-instance-manager-cpunode.spec.instanceManagerCPURequest 设置浮点值 11179 - @yangchiu @gigabyte132
  • [改进] 移除 CRD 的补丁 preserveUnknownFields: false 11263 - @derekbit @chriscchien
  • [改进] 当本地性为 best-effort 时,至少在本地调度一个副本 11007 - @chriscchien @bachmanity1
  • [改进] 改进磁盘空间不可调度条件消息 10436 - @yangchiu @davidcheng0922
  • [改进] 改进引擎镜像检查的条件消息 9845 - @derekbit @chriscchien
  • [改进] 改进在检测同一备份目标上的同一卷的多个备份卷时的记录 11152 - @PhanLe1010 @chriscchien
  • [改进] 为 longhorn/cli 实施文档验证 11229 - @derekbit
  • [改进] 将验证从每个资源删除移至验证 webhook 5156 - @derekbit @roger-ryao
  • [改进] 验证 node.longhorn.io 资源规范字段 11079 - @Felipalds @chriscchien
  • [改进] 在 Longhorn Helm Chart 中为 UI 服务添加自定义注释支持 11031 - @josimar-silva @roger-ryao
  • [改进] 为 longhorn-csi-plugin 在尝试连接 longhorn-manager pod 时添加重试逻辑 9482 - @PhanLe1010 @roger-ryao

缺陷

  • [缺陷] [UI] 克隆卷中数据引擎的默认值不一致 11802 - @houhoucoop @roger-ryao
  • [缺陷] 如果某些节点标记了 disable-v2-data-engine=true,系统备份可能卡在 CreatingVolumeBackups 状态 11774 - @mantissahz @roger-ryao
  • [缺陷] 从快照创建的卷在调整大小期间可能存在数据损坏 11484 - @yangchiu @PhanLe1010
  • [缺陷] 块磁盘在重新添加后可能永远无法变为“可调度”状态 11760 - @derekbit @chriscchien
  • [缺陷] 节点重启后,v2 卷可能卡在“分离中/故障”状态 10112 - @yangchiu @shuo-wu
  • [缺陷] 如果在创建 PVC 之前底层镜像不存在,则无法使用底层镜像动态配置 v2 卷 11762 - @COLDTURNIP @yangchiu
  • [缺陷] v2 DR 卷在原始卷扩展并备份后出现故障 11767 - @davidcheng0922 @roger-ryao
  • [缺陷] v2 停止工作 - connectNVMfBdev() -> “code”: -95,“message”: “Operation not supported” (1.10.0-rc2) 11761 - @yangchiu @c3y1huang
  • [缺陷] longhorn manager 在安装期间崩溃 11743 - @derekbit @chriscchien
  • [缺陷] 无法从远程备份存储同步现有备份 11758 - @yangchiu @mantissahz
  • [缺陷] Longhorn PVC 处于挂起状态 11654 - @yangchiu @derekbit
  • [缺陷] 当其副本节点磁盘在写操作期间空间耗尽时,卷变为故障状态 10718 - @yangchiu @mantissahz
  • [缺陷] [v1.10.0-rc1] longhornctl trim volume 命令挂起 11704 - @davidcheng0922 @chriscchien
  • [缺陷] longhornctl preflight install 应加载并检查 iscsi_tcp 内核模块 11706 - @mantissahz @chriscchien
  • [缺陷] spdk_tgt 在副本重建后因 bdev_channel_destroy_resource() 断言失败而崩溃 11109 - @hookak @chriscchien
  • [缺陷] 创建 v2 卷时无法设置副本亲和性 (test_soft_anti_affinity_scheduling_volume_enable) 11642 - @yangchiu @derekbit
  • [缺陷] BackupBackingImage 可能从未就绪的 BackingImageManager 创建 11675 - @WebberHuang1118 @roger-ryao
  • [缺陷] 创建带有 200 Mi 底层镜像的 2 Gi 卷被拒绝,并提示“卷大小应大于底层镜像大小” 11362 - @COLDTURNIP @yangchiu
  • [缺陷] 卷压力下的副本自动平衡磁盘在 v2 卷上失败 10551 - @yangchiu @hookak
  • [缺陷] 当所有者 ID 分配给标记了 node.longhorn.io/disable-v2-data-engine: “true” 的节点时,备份卡住 11619 - @davidcheng0922 @roger-ryao
  • [缺陷] 卷快速分离后引擎进程继续运行 11605 - @COLDTURNIP @yangchiu
  • [缺陷] 节点 CR 中剩余未知操作系统条件 11612 - @COLDTURNIP @roger-ryao
  • [缺陷] Longhorn Manager 持续向实例管理器发送 v2 卷的副本删除请求 11553 - @yangchiu @shuo-wu
  • [缺陷] 即使没有 v2 卷、底层镜像或孤立数据,也无法禁用 v2-data-engine 11330 - @shuo-wu @roger-ryao
  • [缺陷] longhorn-manager 重复发出 No instance manager for node xxx for update instance state of orphan instance orphan-xxx.. 11597 - @COLDTURNIP @chriscchien
  • [缺陷] 卷变为只读时无法重新挂载 8572 - @derekbit @chriscchien
  • [缺陷] 实时迁移意外终止时出现悬挂卷状态 11479 - @PhanLe1010 @chriscchien
  • [缺陷] S3 备份目标随机恢复到之前的值 9581 - @yangchiu @mantissahz
  • [缺陷] Longhornctl / CLI - 未提供配置,尝试设置 KUBERNETES_MASTER 环境变量 10094 - @davidcheng0922 @chriscchien
  • [缺陷] longhorn-images.txt 指定的 CSI 组件仓库标签未找到 11575 - @yangchiu @derekbit
  • [缺陷] DR 卷的备份块大小应从最新备份设置 11580 - @COLDTURNIP @yangchiu
  • [缺陷] longhornctl –enable-spdk 不支持 arm64 11551 - @yangchiu @davidcheng0922
  • [缺陷] 在集群脑裂期间可能创建额外的无效 BackupVolumeCR 11154 - @mantissahz @roger-ryao
  • [缺陷] 系统备份错误 11232 - @c3y1huang @roger-ryao
  • [缺陷] 无法在 UI 中使用“创建备份”图标创建备份 11451 - @yangchiu @mantissahz @houhoucoop
  • [缺陷] 无法为 v2 卷上的旧快照创建备份:未能找到快照 lvol 范围 11461 - @c3y1huang @chriscchien
  • [缺陷] 卸载失败,因为发现残留的 backuptargets 11486 - @COLDTURNIP @yangchiu
  • [缺陷] 可以在未满足 hugepage 要求的情况下设置 v2 数据引擎启用,导致系统中出现错误的 v2 实例管理器 CR 悬挂 11519 - @yangchiu @derekbit
  • [缺陷] 无法在存储网络环境中设置备份目标:找不到节点的运行实例管理器 11478 - @yangchiu @derekbit
  • [缺陷] 卷迁移负面测试用例在 v2 卷上失败 10800 - @shuo-wu @chriscchien
  • [缺陷] v2 卷无法清理错误副本并重建新的副本 - test_data_locality_basic 10335 - @shuo-wu @chriscchien
  • [缺陷] Talos 集群上自动检测 nvme 驱动器的问题(vfio-pci 驱动器而不是预期的 vfio_pci) 11127 - @Hugome @roger-ryao
  • [缺陷] 测试用例 test_running_volume_with_scheduling_failure 因意外创建新副本而失败 11512 - @derekbit @chriscchien
  • [缺陷] 回归测试用例因无法清理虚拟备份而失败 11487 - @COLDTURNIP @yangchiu
  • [缺陷][v1.9.0-rc1] 删除 v2 实例管理器后意外创建了孤立数据 10829 - @yangchiu @derekbit
  • [缺陷] v2 引擎在重建后循环处于分离和附加状态 10396 - @shuo-wu @roger-ryao
  • [缺陷] test_basic.py::test_backup_status_for_unavailable_replicas 失败 11416 - @derekbit @roger-ryao
  • [缺陷] 由于过时的 SLES 仓库导致构建失败 11481 - @PhanLe1010
  • [缺陷] 如果备份已存在,则无法设置 S3 备份目标 11337 - @mantissahz @chriscchien
  • [缺陷][UI] 快照和备份 图表卡在加载状态,控制台显示错误消息 10529 - @yangchiu @davidcheng0922
  • [缺陷] Longhorn 文档中的备份 YAML 示例无法工作 11216 - @roger-ryao @nzhan126
  • [缺陷] v2 卷工作负载 IO 在网络断开后可能出现“Bad message”错误 10113 - @yangchiu @shuo-wu
  • [缺陷] 测试用例 Test Replica Auto Balance Node Least Effort 在 v2 卷上失败 10977 - @yangchiu @c3y1huang
  • [缺陷] IsJSONRPCRespErrorNoSuchDevice 对 ublk 客户端的包装错误失败 11361 - @yangchiu @davidcheng0922
  • [缺陷] longhorn-manager 因 SIGSEGV: segmentation violation 而崩溃 11420 - @derekbit @chriscchien
  • [缺陷] 测试用例 test_replica_auto_balance_node_least_effort 有时失败 11388 - @derekbit @chriscchien
  • [缺陷] spdk v2 引擎的卷间歇性卡在分离/故障状态 10724 - @DamiaSan
  • [缺陷] 配置参数拼写错误:“offlineRelicaRebuilding” 应为 “offlineReplicaRebuilding” 11380 - @yangchiu @in-jun
  • [缺陷][文档] OpenShift 文档 11174 - @yangchiu @mlacko64
  • [缺陷] 在单节点 Harvester 中,longhorn-manager 中记录了无尽的“无法调度副本” 3708 - @derekbit @chriscchien
  • [缺陷] 由于不允许删除正在运行的 Longhorn 节点导致卸载失败 11131 - @COLDTURNIP @roger-ryao
  • [缺陷] 引擎 v2 I/O 在实例管理器 Pod 删除后阻塞超过 1-2 分钟 10167 - @c3y1huang @chriscchien
  • [缺陷] 回归测试用例失败:期望卷已分离但实际已附加 11273 - @yangchiu @mantissahz
  • [缺陷] 卷扩展失败,提示“unsupported disk encryption format ext4” 11120 - @COLDTURNIP @mantissahz @roger-ryao
  • [缺陷] longhorn-spdk-engine 重建单元测试可能卡住 2 分钟 11099 - @shuo-wu @roger-ryao
  • [缺陷] 当“迁移节点故障后确认迁移”时,v2 卷可能卡在“分离中/已分离”循环 10157 - @yangchiu @PhanLe1010
  • [缺陷] Longhorn 在实例管理器 Pod 重启后触发竞态条件时,不会重用失败的 v2 副本 11188 - @shuo-wu @roger-ryao
  • [缺陷] 自动生成的 CLI 文档被 make 覆盖 11219 - @bachmanity1
  • [缺陷] longhorn chart/values.yaml 中 remove-snapshots-during-filesystem-trim 的值不正确 11264 - @derekbit @chriscchien
  • [缺陷][v1.9.0-rc1] v2 卷在节点故障后未能按预期重用失败的副本 10828 - @yangchiu @shuo-wu
  • [缺陷] CSI 插件重启触发可迁移的 RWX 卷工作负载意外重启 11158 - @c3y1huang @roger-ryao
  • [缺陷] 在浏览器 UI 中:卷 -> 克隆卷导致浏览器页面损坏 11165 - @houhoucoop @roger-ryao
  • [缺陷] StorageClass 中的“mkfsParams”未传递给 share-manager 用于文件系统格式化 11107 - @Florianisme @roger-ryao
  • [缺陷] 测试用例 test_engine_image_not_fully_deployed_perform_volume_operations 失败:无法分离卷 10874 - @mantissahz @chriscchien
  • [缺陷] 创建 support-bundle 时出现恐慌 NPE 11169 - @c3y1huang @roger-ryao
  • [缺陷] 由于 CMAKE 兼容性问题无法构建 Longhorn-Share-Manager 镜像 11159 - @derekbit @roger-ryao
  • [缺陷] 由于不允许删除默认引擎镜像导致卸载失败 11130 - @COLDTURNIP @chriscchien
  • [缺陷] kubelet 重启后 v2 卷卡在降级状态并持续重建/删除副本 10107 - @shuo-wu
  • [缺陷] SPDK API bdev_lvol_detach_parent 未能按预期工作 11046 - @DamiaSan @roger-ryao
  • [缺陷] 周期性作业分配给默认组时失败 11016 - @c3y1huang @chriscchien
  • [缺陷] v2 卷副本重建后数据校验和不匹配 10118 - @yangchiu @shuo-wu
  • [缺陷] 大多数回归测试用例因无法更新设置而失败 11042 - @yangchiu @mantissahz
  • [缺陷] 节点驱逐后无法清理底层镜像卷副本 11053 - @COLDTURNIP @roger-ryao
  • [缺陷] 驱逐节点期间底层镜像卷副本 NPE 崩溃 11034 - @COLDTURNIP @chriscchien
  • [缺陷] 一个降级的 DR 卷在激活后仍保持待机和附加状态 2107 - @roger-ryao
  • [缺陷] 如果只有一个重建副本在运行,DR 卷会卡住 2753 - @c3y1huang @roger-ryao

稳定性

  • [文档] 记录由 HDD 上的 I/O 延迟引起的卷稳定性风险 11240 - @chriscchien @sushant-suse

杂项

  • [文档] 添加副本故障容忍度信息 11526 - @roger-ryao @sushant-suse
  • [任务] KB 用于备份存储锁冲突错误消息 11293 - @yangchiu @pratikjagrut
  • [文档] 记录副本重建机制及其限制 11119 - @mantissahz @chriscchien
  • [文档] v2 引擎使用矛盾 11409 - @shuo-wu @roger-ryao
  • [文档] Talos 新卷策略 11015 - @yangchiu @DrummyFloyd
  • [任务] [pytest] 当启用 RUN_V2_TEST 时自动添加 -m v2_volume_test 11376 - @chriscchien
  • 修订有关节点空间的文档 3021 - @derekbit @chriscchien
  • [文档] XFS 文件系统挂载故障排除 KB 11214 - @derekbit @roger-ryao
  • [文档] 解释 Longhorn VolumeAttachment 操作和行为 11142 - @derekbit @roger-ryao
  • [文档] 更新网站上的损坏链接 11288 - @yangchiu @sushant-suse
  • [文档] 在 chart README 中阐明 privateRegistry.createSecret 和 registrySecret 的用法 11251 - @chriscchien
  • [文档] KB:在 VM 升级期间未能完成卷迁移 11149 - @COLDTURNIP @chriscchien
  • [文档] 详细说明如何使用 kubectl 启用 DR 卷 10958 - @derekbit @chriscchien
  • [文档] 从气隙安装指南中移除 defaultSettings.registrySecret 引用 11237 - @chriscchien
  • [任务] 移除已弃用的 replica.status.evictionRequested 字段 7022 - @yangchiu @derekbit @roger-ryao
  • [任务] 创建 longhorn/spdk longhorn-v25.05 分支 11048 - @derekbit @chriscchien
  • [任务] 为 libqcow 创建专用仓库以提高可维护性和构建管理 10988 - @derekbit @chriscchien
  • [文档] 在 1.9.0 上将使用已弃用的 crd 版本 v1beta1 的示例更新为 v1beta2 11019 - @falmar @roger-ryao
  • [任务] UI 扩展迁移的 POC 10516 - @houhoucoop
  • [任务] 确保 support-bundle-kit 构建使用 vendored 依赖项 11106 - @yangchiu @c3y1huang
  • [文档] 修复文档中存在的损坏链接 11028 - @chriscchien @sushant-suse
  • [文档] 更新网站首页以包含社区会议链接 10890 - @yangchiu @divya-mohan0209 @sushant-suse
  • [重构] 使用 go 包进行系统操作,而不是依赖通过 shell 命令的外部系统调用 5193 - @c3y1huang

贡献者

  • @COLDTURNIP
  • @DamiaSan
  • @DrummyFloyd
  • @Felipalds
  • @Florianisme
  • @Hugome
  • @PhanLe1010
  • @WebberHuang1118
  • @bachmanity1
  • @c3y1huang
  • @chriscchien
  • @davidcheng0922
  • @derekbit
  • @divya-mohan0209
  • @falmar
  • @gigabyte132
  • @hookak
  • @houhoucoop
  • @in-jun
  • @innobead
  • @josimar-silva
  • @mantissahz
  • @marcosbc
  • @mlacko64
  • @nzhan126
  • @pratikjagrut
  • @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

  • [FEATURE] v2 supports volume expansion 8022 - @davidcheng0922 @chriscchien
  • [UI][FEATURE] V2 Volume Supports Cloning 11736 - @yangchiu @houhoucoop
  • [FEATURE] V2 Volume Supports Cloning 7794 - @yangchiu @PhanLe1010
  • [FEATURE] V2 volumes support interrupt mode 9834 - @yangchiu @c3y1huang
  • [FEATURE] Support v2 volume without hugepage 7066 - @derekbit @chriscchien
  • [FEATURE] Configurable Backup Block Size 5215 - @COLDTURNIP @yangchiu
  • [UI][FEATURE] Configurable Backup Block Size 11586 -
  • [FEATURE] Add QoS support to limit replica rebuilding load 10770 - @hookak @roger-ryao
  • [FEATURE] Volume granular setting parity for V2 to match V1 data engine 10926 - @derekbit @chriscchien
  • [IMPROVEMENT] Support CSIStorageCapacity in Longhorn CSI driver to enable capacity-aware pod scheduling 10685 - @bachmanity1 @roger-ryao
  • [FEATURE] IPV6 for V1 Data Engine 2259 - @yangchiu @c3y1huang
  • [FEATURE] Delta Replica Rebuilding using Delta Snapshot: Control and Data Planes 10037 - @shuo-wu @roger-ryao
  • [FEATURE] Remove v1beta1 API CRD in Longhorn v1.10 10249 - @derekbit @roger-ryao

Feature

  • [FEATURE] Add option to restart kubelet through longhornctl after huge page update 11241 - @chriscchien @bachmanity1
  • [UI][FEATURE] Configurable Backup Block Size 11351 - @yangchiu @houhoucoop
  • [UI][FEATURE] Display a summary of the attachment tickets in an individual volume’s overview page 11401 - @yangchiu @houhoucoop
  • [UI][FEATURE] Add QoS support to limit replica rebuilding load 11306 - @davidcheng0922 @houhoucoop @roger-ryao
  • [UI][FEATURE] Volume granular setting parity for V2 to match V1 data engine 11354 - @chriscchien @houhoucoop
  • [FEATURE] Display a summary of the attachment tickets in an individual volume’s overview page 11400 - @yangchiu @davidcheng0922
  • [FEATURE] Allow longhorn to restart pods with custom controllers, while the Automatically Delete Workload Pod when The Volume Is Detached Unexpectedly feature is enabled 8353 - @derekbit @roger-ryao
  • [FEATURE] Standardized way to override container image registry 11064 - @marcosbc @yangchiu @roger-ryao
  • [FEATURE] Standardized way to specify image pull secrets 11062 - @marcosbc @chriscchien

Improvement

  • [IMPROVEMENT] Add usage metrics for Longhorn installation variant 11792 - @derekbit
  • [IMPROVEMENT] Allow applying different values of snapshot checksum related settings for v1 and v2 data engine 11537 - @chriscchien @nzhan126
  • [IMPROVEMENT] Make longhornctl usable in air-gapped environments 11291 - @chriscchien @bachmanity1
  • [IMPROVEMENT] SAST Potential dereference of the null pointer in controller/volume_controller.go in longhorn-manager 11780 - @c3y1huang
  • [IMPROVEMENT] Collect Logs from the Host Directory Defined by the Setting log-path 11522 - @c3y1huang @roger-ryao
  • [IMPROVEMENT] Enhance Offline Rebuilding with Resource Awareness and Retry Backoff 11270 - @mantissahz @chriscchien
  • [IMPROVEMENT] Collect mount table, process status and process table in support bundle 8397 - @mantissahz @chriscchien
  • [IMPROVEMENT] Volume attachment should automatically exclude nodes with disable-v2-data-engine="true" 11695 - @derekbit @chriscchien
  • [IMPROVEMENT] Introduce System Info Category for Settings 11656 - @derekbit @roger-ryao
  • [IMPROVEMENT] RBAC permissions 11345 - @davidcheng0922 @chriscchien
  • [IMPROVEMENT] Improve Longhorn Pods Logging Precision to Nanoseconds 11596 - @derekbit @roger-ryao
  • [IMPROVEMENT] Update validation logics for v2 data engine 11600 - @derekbit @chriscchien
  • [IMPROVEMENT] Improve log messages of longhorn-engine, tgt and liblonghorn for troubleshooting 11545 - @yangchiu @derekbit
  • [IMPROVEMENT] rename the backing image manager to reduce the probability of CR name collision 11455 - @COLDTURNIP @chriscchien
  • [IMPROVEMENT] Remove outdated prerequisite installation scripts in longhorn/longhorn 11430 - @yangchiu @roger-ryao @sushant-suse
  • [UI][IMPROVEMENT] Add UI Warning for Force-Detach Actions to Prevent Out-of-Sync Kubernetes and Longhorn VolumeAttachments 9944 - @yangchiu @houhoucoop
  • [IMPROVEMENT] Add node-selector option to longhornctl to select nodes on which to run DaemonSet 11213 - @yangchiu @bachmanity1
  • [IMPROVEMENT] Improve volume Scheduled condition message 11460 - @yangchiu @derekbit @chriscchien
  • [IMPROVEMENT] Launching a new mechanism to collect instance manager logs 5948 - @yangchiu @derekbit
  • [IMPROVEMENT] adjust the hardcoded timeout limitation for backing image downloading 11309 - @COLDTURNIP @roger-ryao
  • [IMPROVEMENT] Make liveness probe parameters of instance-manager pod configurable 10788 - @yangchiu @derekbit
  • [IMPROVEMENT] Enhance menu descriptions for Longhorn CLI 8998 - @roger-ryao @sushant-suse
  • [IMPROVEMENT] Improve longhorn-engine controller log messages 11507 - @derekbit @chriscchien
  • [IMPROVEMENT] Add a comment to explain what isSettingDataEngineSynced does in the instance manager controller. 11321 - @mantissahz
  • [IMPROVEMENT] Flooding and misleading log message Deleting orphans on evicted node ... 11500 - @yangchiu @derekbit
  • [IMPROVEMENT] Reject volume.spec.replicaRebuildingBandwidthLimit update for V1 Data Engine 11497 - @derekbit @roger-ryao
  • [IMPROVEMENT] Detach an offline rebuilding volume if rebuilding can not start 11274 - @mantissahz
  • [IMPROVEMENT] backing image handle node disk deleting events 10983 - @COLDTURNIP @chriscchien
  • [IMPROVEMENT] Rename RebuildingMbytesPerSecond to ReplicaRebuildBandwidthLimit 11403 - @derekbit @roger-ryao
  • [IMPROVEMENT] Make the sync agent profilable 11386 - @COLDTURNIP @yangchiu
  • [IMPROVEMENT] Add performance metrics for Longhorn disk I/O 11223 - @hookak @DamiaSan
  • [IMPROVEMENT] Make CLI preflight check non-blocking for subsequent checkups 9877 - @davidcheng0922 @DamiaSan
  • [IMPROVEMENT] Add namespace argument/parameter to cli pre-flight check 9749 - @davidcheng0922 @DamiaSan
  • [IMPROVEMENT] Orphaned Data should not be placed under Settings 10383 - @houhoucoop @DamiaSan @sushant-suse
  • [IMPROVEMENT] Upgrade Node v20 in longhorn-ui 11315 - @chriscchien @houhoucoop
  • [IMPROVEMENT] useful error message from /v1/backuptargets is not displayed in UI 10428 - @houhoucoop @DamiaSan
  • [IMPROVEMENT] Check if the backup target is available before creating a backup, backup backing image, and system backup 10085 - @yangchiu @nzhan126
  • [IMPROVEMENT] Backoff Retry Interval for Instance Manager Pod Re-creation in Resource Constraint Scenarios 10263 - @yangchiu @bachmanity1
  • [IMPROVEMENT] record the detail while webhook rejecting migration attachment tickets 11150 - @COLDTURNIP @roger-ryao
  • [IMPROVEMENT] Handle credential secret containing mixed invalid conditions 8537 - @yangchiu @nzhan126
  • [IMPROVEMENT] Add the possiblity of setting floating point values for guaranteed-instance-manager-cpu and node.spec.instanceManagerCPURequest 11179 - @yangchiu @gigabyte132
  • [IMPROVEMENT] Remove the Patch preserveUnknownFields: false for CRDs 11263 - @derekbit @chriscchien
  • [IMPROVEMENT] Schedule at least one replica locally when locality is best-effort 11007 - @chriscchien @bachmanity1
  • [IMPROVEMENT] Improve the disk space un-schedulable condition message 10436 - @yangchiu @davidcheng0922
  • [IMPROVEMENT] Improve the condition message of engine image check 9845 - @derekbit @chriscchien
  • [IMPROVEMENT] Improve the logging when detecting multiple backup volumes of the same volume on the same backup target 11152 - @PhanLe1010 @chriscchien
  • [IMPROVEMENT] Implement Documentation Validation for longhorn/cli 11229 - @derekbit
  • [IMPROVEMENT] Move validation from each resource deletion to validation webhook 5156 - @derekbit @roger-ryao
  • [IMPROVEMENT] Validate node.longhorn.io resource spec fields 11079 - @Felipalds @chriscchien
  • [IMPROVEMENT] add support for custom annotations in the UI service on Longhorn Helm Chart 11031 - @josimar-silva @roger-ryao
  • [IMPROVEMENT] Adding retry logic for longhorn-csi-plugin when it trying to contact the longhorn-manager pods 9482 - @PhanLe1010 @roger-ryao

Bug

  • [BUG] [UI] Inconsistent Default Value for Data Engine in Clone Volume 11802 - @houhoucoop @roger-ryao
  • [BUG] System backup could get stuck in CreatingVolumeBackups if some nodes are labeled with disable-v2-data-engine=true 11774 - @mantissahz @roger-ryao
  • [BUG] Potential Data Corruption During Volume Resizing When Created from Snapshot 11484 - @yangchiu @PhanLe1010
  • [BUG] Block disk may never become Schedulable after re-adding 11760 - @derekbit @chriscchien
  • [BUG] v2 volume could get stuck in Detaching/Faulted state after nodes reboot 10112 - @yangchiu @shuo-wu
  • [BUG] Fail to dynamically provision a v2 volume with a backing image if the backing image doesn’t exist before PVC creation 11762 - @COLDTURNIP @yangchiu
  • [BUG] v2 DR volume faulted after origin volume expand and backuped 11767 - @davidcheng0922 @roger-ryao
  • [BUG] V2 stop working - connectNVMfBdev() -> “code”: -95,“message”: “Operation not supported” (1.10.0-rc2) 11761 - @yangchiu @c3y1huang
  • [BUG] longhorn manager crash in installation 11743 - @derekbit @chriscchien
  • [BUG] Unable to sync existing backups from a remote backup store 11758 - @yangchiu @mantissahz
  • [BUG] Longhorn pvcs are in pending state. 11654 - @yangchiu @derekbit
  • [BUG] Volume becomes faulted when its replica node disks run out of space during a write operation 10718 - @yangchiu @mantissahz
  • [BUG] [v1.10.0-rc1] longhornctl trim volume command hangs 11704 - @davidcheng0922 @chriscchien
  • [BUG] longhornctl preflight install should load and chec iscsi_tcp kernel module. 11706 - @mantissahz @chriscchien
  • [BUG] spdk_tgt crash after replica rebuilding due to bdev_channel_destroy_resource() assert failure 11109 - @hookak @chriscchien
  • [BUG] Unable to set replica affinity when creating a v2 volume (test_soft_anti_affinity_scheduling_volume_enable) 11642 - @yangchiu @derekbit
  • [BUG] BackupBackingImage may be created from an unready BackingImageManager 11675 - @WebberHuang1118 @roger-ryao
  • [BUG] Creating a 2 Gi volume with a 200 Mi backing image is rejected with “volume size should be larger than the backing image size” 11362 - @COLDTURNIP @yangchiu
  • [BUG] Replica auto balance disk in pressure fails on v2 volumes 10551 - @yangchiu @hookak
  • [BUG] Backup stuck when ownerID is assigned to a node with node.longhorn.io/disable-v2-data-engine: “true” 11619 - @davidcheng0922 @roger-ryao
  • [BUG] Engine process continues running after rapid volume detachment 11605 - @COLDTURNIP @yangchiu
  • [BUG] remaining unknown OS condition in node CR 11612 - @COLDTURNIP @roger-ryao
  • [BUG] Longhorn Manager continues to send replica deletion requests to the Instance Manager for the v2 volume indefinitely 11553 - @yangchiu @shuo-wu
  • [BUG] Unable to disable v2-data-engine even though there is no v2 volumes, backing images or orphaned data 11330 - @shuo-wu @roger-ryao
  • [BUG] longhorn-manager repeatedly emits No instance manager for node xxx for update instance state of orphan instance orphan-xxx.. 11597 - @COLDTURNIP @chriscchien
  • [BUG] Volumes fails to remount when they go read-only 8572 - @derekbit @chriscchien
  • [BUG] Dangling Volume State When Live Migration Terminates Unexpectedly 11479 - @PhanLe1010 @chriscchien
  • [BUG] S3 Backup target reverts randomly to previous value 9581 - @yangchiu @mantissahz
  • [BUG] Longhornctl / CLI - no configuration has been provided, try setting KUBERNETES_MASTER environment variable 10094 - @davidcheng0922 @chriscchien
  • [BUG] longhorn-images.txt specifies CSI component repo tags not found 11575 - @yangchiu @derekbit
  • [BUG] DR volume’s backup block size should be set from the latest backup 11580 - @COLDTURNIP @yangchiu
  • [BUG] longhornctl –enable-spdk doesn’t support arm64 11551 - @yangchiu @davidcheng0922
  • [BUG] extra invalid BackupVolumeCR may be created during cluster split-brain 11154 - @mantissahz @roger-ryao
  • [BUG] system backup error 11232 - @c3y1huang @roger-ryao
  • [BUG] Can not create backup using Create Backup icon in UI 11451 - @yangchiu @mantissahz @houhoucoop
  • [BUG] Unable to create backup for old snapshots on v2 volumes: failed to find snapshot lvol range 11461 - @c3y1huang @chriscchien
  • [BUG] Uninstall fail because find backuptargets remaining 11486 - @COLDTURNIP @yangchiu
  • [BUG] Setting v2 data engine can be enabled without fulfilling the hugepage requirement, causing error v2 instance manager CR dangling in the system 11519 - @yangchiu @derekbit
  • [BUG] Unable to setup backup target in storage network environment: cannot find a running instance manager for node 11478 - @yangchiu @derekbit
  • [BUG] Volume migration negative test cases fail on v2 volumes 10800 - @shuo-wu @chriscchien
  • [BUG] V2 volume fails to cleanup error replica and rebuild new one - test_data_locality_basic 10335 - @shuo-wu @chriscchien
  • [BUG] Issue auto detecting nvme drive on talos cluster (vfio-pci driver instead of expected vfio_pci) 11127 - @Hugome @roger-ryao
  • [BUG] Test case test_running_volume_with_scheduling_failure failed due to unexpected new replica created 11512 - @derekbit @chriscchien
  • [BUG] Regression test cases failed due to unable to clean up dummy backups 11487 - @COLDTURNIP @yangchiu
  • [BUG][v1.9.0-rc1] Unexpected orphaned data are created after v2 instance managers deleted 10829 - @yangchiu @derekbit
  • [BUG] v2 Engine loops in detaching and attaching state after rebuilding 10396 - @shuo-wu @roger-ryao
  • [BUG] test_basic.py::test_backup_status_for_unavailable_replicas is failed 11416 - @derekbit @roger-ryao
  • [BUG] Build fails due to outdated SLES repo 11481 - @PhanLe1010
  • [BUG] Unable to set up S3 backup target if backups already exist 11337 - @mantissahz @chriscchien
  • [BUG][UI] Snapshots and Backups graph is stuck loading and console shows error messages 10529 - @yangchiu @davidcheng0922
  • [BUG] The Backup YAML example in the Longhorn doc does not work 11216 - @roger-ryao @nzhan126
  • [BUG] v2 volume workload IO could get Bad message error after network disconnect 10113 - @yangchiu @shuo-wu
  • [BUG] Test case Test Replica Auto Balance Node Least Effort failed on v2 volume 10977 - @yangchiu @c3y1huang
  • [BUG] IsJSONRPCRespErrorNoSuchDevice fails on wrapped errors for ublk client 11361 - @yangchiu @davidcheng0922
  • [BUG] longhorn-manager is crashed due to SIGSEGV: segmentation violation 11420 - @derekbit @chriscchien
  • [BUG] Test Case test_replica_auto_balance_node_least_effort Is Sometimes Failed 11388 - @derekbit @chriscchien
  • [BUG] volume gets stuck at detaching/faulted state for spdk v2 engine intermittently 10724 - @DamiaSan
  • [BUG] Typo in configuration parameter: “offlineRelicaRebuilding” should be “offlineReplicaRebuilding” 11380 - @yangchiu @in-jun
  • [BUG][DOC] OpenShift documentation 11174 - @yangchiu @mlacko64
  • [BUG] In single node Harvester, endless “unable to schedule replica” is logged in longhorn-manager 3708 - @derekbit @chriscchien
  • [BUG] Uninstallation fail due to deleting the running Longhorn node is not allowed 11131 - @COLDTURNIP @roger-ryao
  • [BUG] Engine v2 I/O Blocked Over 1-2 Minutes After Instance Manager Pod Deletion 10167 - @c3y1huang @chriscchien
  • [BUG] Regression test cases failed: expecting volume to be detached but it’s attached 11273 - @yangchiu @mantissahz
  • [BUG] Volume expansion fails with “unsupported disk encryption format ext4” 11120 - @COLDTURNIP @mantissahz @roger-ryao
  • [BUG] longhorn-spdk-engine rebuilding unit tests may get stuck for 2 minutes 11099 - @shuo-wu @roger-ryao
  • [BUG] v2 volume could get stuck in detaching/detached loop when Migration Confirmation After Migration Node Down 10157 - @yangchiu @PhanLe1010
  • [BUG] Longhorn will not reuse the failed v2 replicas when a race condition is triggered after the instance manager pod restart 11188 - @shuo-wu @roger-ryao
  • [BUG] Auto-generated CLI document overwrite by make 11219 - @bachmanity1
  • [BUG] Incorrect value of remove-snapshots-during-filesystem-trim in longhorn chart/values.yaml 11264 - @derekbit @chriscchien
  • [BUG][v1.9.0-rc1] v2 volumes don’t reuse failed replicas as expected after a node goes down 10828 - @yangchiu @shuo-wu
  • [BUG] CSI Plugin restart triggers unintended restart of migratable RWX volume workloads 11158 - @c3y1huang @roger-ryao
  • [BUG] in the browser UI: Volume -> Clone Volume results in the broken browser page 11165 - @houhoucoop @roger-ryao
  • [BUG] “mkfsParams” in StorageClass are not passed to share-manager for filesystem formatting 11107 - @Florianisme @roger-ryao
  • [BUG] Test case test_engine_image_not_fully_deployed_perform_volume_operations failed: unable to detach a volume 10874 - @mantissahz @chriscchien
  • [BUG] Creating support-bundle panic NPE 11169 - @c3y1huang @roger-ryao
  • [BUG] Unable to Build Longhorn-Share-Manager Image Due to CMAKE Compatibility 11159 - @derekbit @roger-ryao
  • [BUG] Uninstallation fail due to deleting the default engine image is not allowed 11130 - @COLDTURNIP @chriscchien
  • [BUG] v2 volume gets stuck in degraded state and continuously rebuilds/deletes replicas after a kubelet restart 10107 - @shuo-wu
  • [BUG] SPDK API bdev_lvol_detach_parent does not work as expected 11046 - @DamiaSan @roger-ryao
  • [BUG] Recurring jobs fail when assigned to default group 11016 - @c3y1huang @chriscchien
  • [BUG] v2 volume data checksum mismatch after replica rebuilding 10118 - @yangchiu @shuo-wu
  • [BUG] Most of regression test cases are failing due to unable to update settings 11042 - @yangchiu @mantissahz
  • [BUG] unable to clean up the backing image volume replica after node eviction 11053 - @COLDTURNIP @roger-ryao
  • [BUG] backing image volume replica NPE crash during evicting node 11034 - @COLDTURNIP @chriscchien
  • [BUG] A degraded DR volume remains in standby and attached after activation. 2107 - @roger-ryao
  • [BUG] DR volume gets stuck if there is only a rebuilding replica running 2753 - @c3y1huang @roger-ryao

Stability

  • [DOC] Document Volume Stability Risks Caused by I/O Latency on HDDs 11240 - @chriscchien @sushant-suse

Misc

  • [DOC] Add Information on Replica Failure Tolerance 11526 - @roger-ryao @sushant-suse
  • [TASK] KB for backup store lock conflict error message 11293 - @yangchiu @pratikjagrut
  • [DOC] Document Replica Rebuilding Mechanisms and Their Limitations 11119 - @mantissahz @chriscchien
  • [DOC] V2 Engine usage contradiction 11409 - @shuo-wu @roger-ryao
  • [DOC] Talos new volumes strategy 11015 - @yangchiu @DrummyFloyd
  • [TASK] [pytest] automatically add -m v2_volume_test if RUN_V2_TEST enabled 11376 - @chriscchien
  • Revise the document about node space 3021 - @derekbit @chriscchien
  • [DOC] Troubleshooting KB for Mount Failure with XFS Filesystem 11214 - @derekbit @roger-ryao
  • [DOC] Explain Longhorn VolumeAttachment operation and behavior 11142 - @derekbit @roger-ryao
  • [DOC] Update Broken Links on Website 11288 - @yangchiu @sushant-suse
  • [DOC] Clarify privateRegistry.createSecret and registrySecret usage in chart README 11251 - @chriscchien
  • [DOC] KB: failed to complete volume migration during VM upgrade 11149 - @COLDTURNIP @chriscchien
  • [DOC] Elaborate how to enable DR volume using kubectl 10958 - @derekbit @chriscchien
  • [DOC] Remove defaultSettings.registrySecret reference from air gap installation guide 11237 - @chriscchien
  • [TASK] Remove deprecated replica.status.evictionRequested field 7022 - @yangchiu @derekbit @roger-ryao
  • [TASK] Create longhorn/spdk longhorn-v25.05 branch 11048 - @derekbit @chriscchien
  • [TASK] Create a Dedicated Repository for libqcow to Improve Maintainability and Build Management 10988 - @derekbit @chriscchien
  • [DOC] Update examples using deprecated crd version v1beta1 to v1beta2 on 1.9.0 11019 - @falmar @roger-ryao
  • [TASK] POC for ui-extension migration 10516 - @houhoucoop
  • [TASK] Ensure support-bundle-kit builds use vendored dependencies 11106 - @yangchiu @c3y1huang
  • [DOC] Fix the broken links present in documentation 11028 - @chriscchien @sushant-suse
  • [DOC] Update website front page to include community meeting links 10890 - @yangchiu @divya-mohan0209 @sushant-suse
  • [REFACTOR] Use go pkg for system operation instead of relying on external system call via shell command 5193 - @c3y1huang

Contributors

  • @COLDTURNIP
  • @DamiaSan
  • @DrummyFloyd
  • @Felipalds
  • @Florianisme
  • @Hugome
  • @PhanLe1010
  • @WebberHuang1118
  • @bachmanity1
  • @c3y1huang
  • @chriscchien
  • @davidcheng0922
  • @derekbit
  • @divya-mohan0209
  • @falmar
  • @gigabyte132
  • @hookak
  • @houhoucoop
  • @in-jun
  • @innobead
  • @josimar-silva
  • @mantissahz
  • @marcosbc
  • @mlacko64
  • @nzhan126
  • @pratikjagrut
  • @roger-ryao
  • @shuo-wu
  • @sushant-suse
  • @yangchiu

下载链接