ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Longhorn v1.8.1 发布深度解析:升级路径、稳定性修复与备份/V2 数据引擎问题清单

Longhorn v1.8.1 发布深度解析:升级路径、稳定性修复与备份/V2 数据引擎问题清单 云原生存储高可用容器编排【免费下载链接】longhornCloud-Native distributed storage built on and for Kubernetes项目地址https://gitcode.com/gh_mirrors/lo/longhorn点击查看免费下载Longhorn v1.8.1 是 Longhorn 1.8 分支的第二个补丁版本backport release以提升系统质量、韧性、稳定性和安全性为核心目标。本文基于仓库内 CHANGELOG/CHANGELOG-1.8.1.md 的发布说明完整梳理其安装/升级前提、三项改进与二十余项 Bug 修复并结合仓库中的 Helm Chart、默认设置映射与卸载作业清单等源码级证据展开解读帮助运维与开发者在升级前充分评估风险、理解每个修复项的底层背景。版本定位1.8 分支的稳定性补丁版Longhorn v1.8.0 作为特性版本引入了 V2 数据引擎多项新能力加密卷、实时迁移、DR 卷、基于快照校验和的增量副本重建、备份镜像支持等、多备份存储Multiple Backupstores与默认备份目标、RWX 卷全自动在线扩容、Helm Controller 安装方式以及 Talos Linux 上的 V2 支持详见 CHANGELOG/CHANGELOG-1.8.0.md。v1.8.1 则完全聚焦于缺陷修复与质量收敛所有条目均以[BACKPORT][v1.8.1]标记即从后续分支回移植入 1.8 分支的修复覆盖备份链路、V2 数据引擎、副本调度、CSI 插件、快照管理、UI 与卸载流程等多个领域并附带 CVE 安全修复Issue #10318。从仓库现状看Longhorn 主分支已演进到 v1.12.0-dev见 chart/Chart.yaml 的version: 1.12.0-dev当前仍处于支持期的版本为 v1.11.3 与 v1.12.1见 support-versions.txt1.8 分支的最新版为 1.8.2。因此阅读本发布说明的价值在于理解一个稳定版本在上线前究竟堵住了哪些坑以及这些修复在后续版本中的延续方式。安装前提与方式发布说明中的硬性前提非常明确安装 Longhorn v1.8.1 前请确保集群运行 Kubernetes v1.25 或更高版本。该要求与 v1.8.0 一致——v1.8.0 升级了 CSI external-snapshotter 至 v8.2.0从而抬高了 Kubernetes 版本下限。注意这是 1.8 系列的约束当前仓库主分支的 Helm Chart 已将kubeVersion提升至1.34.0-0见 chart/Chart.yaml说明后续版本对 K8s 版本的要求在持续演进。安装途径方面发布说明明确支持三种方式Rancher通过 Rancher App Marketplace 安装kubectl应用 release 版本对应的部署清单本仓库提供 deploy/longhorn.yaml 作为清单形态参考正式发布请以官方 release 归档为准Helm通过 Helm Chart 安装仓库内 chart/ 目录即 Chart 源含 Chart.yaml、values.yaml 与全部 templates。实操提醒v1.8.0 发布时曾出现部署清单与 Helm Chart 中镜像标签误用v1.8.x-head的问题记录于 CHANGELOG/CHANGELOG-1.8.0.md 的 WARNING 段落。因此无论是新装还是升级到 v1.8.1都应核对所用清单/Chart 中的镜像标签确为v1.8.1避免安装出意外版本组合。升级路径与约束从 v1.7.x 或 v1.8.x低于 v1.8.1升级到 v1.8.1 同样要求集群运行 Kubernetes v1.25 及以上。Longhorn 只允许从受支持版本升级且升级路径受策略强制约束——仓库中对应设计文档为 enhancements/20230315-upgrade-path-enforcement.md描述了对跨版本跳跃的检测与阻止机制。从当前仓库的 Chart 配置看升级前检查机制还体现在以下开关上见 chart/values.yamlpreUpgradeChecker.jobEnabled是否执行升级前检查作业默认开启使用 Argo CD 等 GitOps 方案安装时建议关闭preUpgradeChecker.upgradeVersionCheckLonghorn Manager DaemonSet 启动后是否执行升级版本检查禁用该项会同时禁用jobEnabled。升级前还应注意 V2 数据引擎的前提条件如 HugePages、内核模块等相关检查能力在 v1.8.0 引入以及 v1.8.0 中 V2 块类型磁盘默认块大小从 4096 改为 512 字节的兼容性说明——已有 V2 卷需要按官方指引备份、重建磁盘再恢复。三项改进解析1. 可配置的 Upgrade Responder URLIssue #10439这是 v1.8.1 最具可操作性的改进此前 Upgrade Responder 的 URL 是内置写死的现在可以在安装/升级时通过配置项覆盖适用于自建升级应答服务或网络隔离环境。Upgrade Responder 是 Longhorn 的升级通知 匿名遥测通道当 Upgrade Checker 发现新版本可用时Longhorn UI 会出现升级提示同时 Longhorn 周期性上报匿名使用数据用于产品改进数据不包含可识别客户端的任何信息含 IP 地址相关说明见 chart/values.yaml 中allowCollectingLonghornUsageMetrics的描述。配置项的仓库证据链非常完整Helm values 入口defaultSettings.upgradeResponderURL默认值为https://longhorn-upgrade-responder.rancher.io/v1/checkupgrade见 chart/values.yaml交互式表单约束Rancher 安装时的questions.yaml定义了默认值字符串类型见 chart/questions.yaml落地到 ConfigMapHelm 渲染时将其写入longhorn-default-settingConfigMap 的default-setting.yaml数据键upgrade-responder-url见 chart/templates/default-setting.yaml由 Longhorn Manager 启动时读取。如果你希望自建 Upgrade Responder 服务端仓库提供了两套参考手动部署栈dev/upgrade-responder/README.md 与 dev/upgrade-responder/install.sh一键安装 InfluxDB数据存储 Grafana指标看板 upgrade-responder最终得到形如http://longhorn-upgrade-responder.default.svc.cluster.local:8314/v1/checkupgrade的集群内 URLHelm 化配置deploy/upgrade_responder_server/README.md 与 deploy/upgrade_responder_server/chart-values.yaml其中applicationName: longhorn决定 InfluxDB 中数据库名longhorn_upgrade_responderresponseConfig维护各版本号、发布日期与stable/latest标签的响应清单。配置示例Helmhelm upgrade longhorn longhorn/longhorn --namespace longhorn-system \ --set defaultSettings.upgradeResponderURLhttp://longhorn-upgrade-responder.default.svc.cluster.local:8314/v1/checkupgrade配合upgradeChecker: true默认开启见 chart/questions.yaml即可让自建服务接管升级通知。注意allowCollectingLonghornUsageMetrics与升级检查是相互独立的设置可分别开关。2. 清除无明确原因的告警日志Issue #10420v1.8.1 对若干无明确原因的告警日志进行了清理。这类改动通常意味着将误导性/噪音日志降级为 warning 或移除避免运维在排查真实故障时被无关告警干扰。其价值与 v1.8.0 中的将误导性错误信息降级为告警级别Issue #9916一脉相承属于可观测性体验的持续打磨。3. 设置变更校验回归基于 Volume 状态判定Issue #10376Longhorn 在修改某些全局设置如副本数、数据局部性等前需要确认是否所有卷均已分离detached。v1.8.1 将这一判定逻辑回归为使用 Volume 状态修正了此前替代方案可能产生的误判。从实现层面看这种校验直接影响设置变更的准入控制误判所有卷已分离会导致对运行中卷应用不兼容设置的风险。此改动由 yangchiu、james-munson 完成属于控制平面正确性修复。Bug 修复分域解析v1.8.1 共包含 24 项 Bug 修复按技术域归类解读如下issue 编号为仓库原始编号便于对照。备份链路稳定性Issue现象影响面#10510备份目标不可用时 CSI 仍持续创建备份备份任务堆积、目标恢复后行为异常#10468UI 修改备份存储设置后不作用于已克隆卷克隆卷沿用旧备份目标#10462对分离卷执行批量备份创建返回 405浏览器控制台报错UI/API 错误处理不完整#10325Helm Chart 中 Backup Execution Timeout 设置未生效该设置无法通过 Helm 正确下发#10172备份耗时过长时工作负载 Pod 无法迁移到新节点备份任务阻塞卷/Pod 生命周期#10361metrics_collector.(*BackupCollector).Collect每次抓取报 Error get sizePrometheus 指标抓取日志噪音与指标缺失#10478list_backupVolumeAPI 偶发failed to find a node that is ready and has the default engine image备份卷列表接口不稳定其中#10325 与 Helm 配置下发直接相关仓库中backup-execution-timeout正是通过 chart/templates/default-setting.yaml 写入默认设置 ConfigMap对应 chart/values.yaml 的defaultSettings.backupExecutionTimeout其交互式定义见 chart/questions.yaml整数类型最小值为 1默认值为 1分钟。升级前若在 Helm values 中显式设置了该值而实际未生效正是此类映射问题升级到 v1.8.1 后应回归验证。#10510 提示的运维要点备份目标Backup Target不可用是生产环境的常见事故。备份目标在 v1.8.0 起支持多备份存储Multiple Backupstores并自动创建名为default的默认备份目标见 CHANGELOG/CHANGELOG-1.8.0.md。v1.8.1 修复后CSI 创建备份的请求会在备份目标不可用时被正确抑制/失败重试而不是无限期创建。与之配套的失败清理机制是failedBackupTTL失败备份保留分钟数默认 1440见 chart/questions.yaml。V2 数据引擎V2 数据引擎基于 SPDK在 v1.8.0 中获得了大量新特性v1.8.1 则密集修补其稳定性问题Issue现象修复意义#10477v2 卷工作负载 FailedMountStaging target path 不再有效修复 CSI 节点阶段路径对 v2 卷的失效问题避免挂载失败#10364v2 卷无法清理错误副本并重建新副本test_data_locality_basic修复 data locality 场景下错误副本清理与重建链路#10397v2 引擎重建后在分离/挂载状态间循环修复引擎状态机卡死#10363前一个副本未正确清理时 v2 引擎陷入分离-挂载循环强化副本清理前置条件#10341使用备份镜像创建的 v2 卷在副本重建后校验和发生变化修复带备份镜像卷的副本一致性避免误判数据损坏#10343v2 备份镜像在节点重启后失败修复重启后的备份镜像状态恢复这批修复共同指向一个主题v2 卷在副本重建这一高风险操作前后的状态一致性与清理完备性。升级 v1.8.1 时若集群运行 V2 卷应重点观察重建、驱逐与节点重启场景下的引擎/副本状态机是否稳定。副本调度、重建与存储Issue现象分析#10506副本调度器出现整数除零典型的调度计算边界条件缺陷通常发生在可用存储或节点数量为零的极端场景修复后应不再 panic 或产生错误调度决策#10485副本重建完成时进度显示 99 而非 100进度计算的四舍五入/末位更新问题属于 UI 与状态同步细节#10234节点临时关机后新副本预检查报 insufficient storage节点恢复后调度预检查对临时资源不足的误判副本重建是 Longhorn 保障数据冗余的核心动作仓库中 enhancements/20210510-automatic-rebalance-replica.md、enhancements/20230616-automatic-offline-replica-rebuild.md 等设计文档记录了相关机制。v1.8.1 中这三项修复分别消除了调度器的崩溃风险、进度展示错误与节点抖动后的调度误判对自动化运维场景节点滚动维护、自动均衡尤为关键。CSI 插件与数据安全Issue现象严重度#10418CSI 插件在罕见竞态下对卷执行了错误的文件系统格式化导致数据丢失高危数据面正确性缺陷#10319Longhorn CSI 插件 1.8.0 在创建快照时持续崩溃快照功能不可用需升级修复#10418 是本版本中最值得关注的数据安全修复挂载流程中存在竞态窗口可能让 CSI 节点组件对已有数据的设备误执行 mkfs。此类问题的通用防护思路是严格校验设备是否已包含文件系统或卷签名相关挂载参数可参考 examples/storageclass.yaml 中的fsType、mkfsParams等参数。v1.8.1 修复后遇到 CSI 插件异常格式化或快照崩溃的场景应优先将插件升级至本版本。快照管理Issue现象修复意义#10309快照数量强制逻辑缺陷导致卷进入 faulted 状态并在分离/挂载间循环修复快照上限执行的边界条件快照数量限制对应两个配置项见 chart/values.yaml 与 chart/questions.yamlsnapshotMaxCount卷的最大快照数取值范围 2–250默认 250经 chart/templates/default-setting.yaml 映射为snapshot-max-countsnapshotCountWarningThreshold触发快照过多TooManySnapshots卷条件的告警阈值取值范围 2–250默认 100映射为snapshot-count-warning-thresholdchart/templates/default-setting.yaml。#10309 的修复保证了当快照数触达上限时执行强制删除/拒绝新增的逻辑不会把卷拖入故障状态。生产环境若自定义过这些阈值升级后应验证卷在快照逼近上限时仍保持健康。引擎与卷生命周期Issue现象修复意义#10329引擎卡在 stopped 状态阻止卷挂载修复引擎状态机无法恢复的问题#10315升级到 1.8 后卷持续反复挂载/重新挂载修复升级后的卷状态抖动#10466备份镜像副本从 spec 中删除的同时被驱逐出现 nil pointer修复删除与驱逐并发时的空指针崩溃#10477见 V2 部分—其中 #10315升级后卷反复挂载在大型集群中影响显著属于升级必查项#10466 则是备份镜像Backing Image管理在并发删除/驱逐下的健壮性修复。UI 与系统备份Issue现象修复意义#10508搜索关键字首尾空格导致 UI 搜索失效输入清理#10332WebUI 中卷列表消失后又重新出现前端数据渲染/轮询逻辑修复#10354页面刷新后 System Backup 页的 Create 按钮被禁用前端状态恢复修复#10337升级到 v1.8.0 后 WebUI 丢失版本号显示版本信息展示修复卸载、API 与可观测性Issue现象修复意义#10484卸载作业创建后出现 2 个卸载 Pod一个报deleting-confirmation-flag is set to false失败另一个成功卸载幂等性与删除确认标志竞争修复#10353Proxy gRPC API 的 ReplicaList 对 v1/v2 卷返回不同输出格式API 一致性修复影响使用该 API 的集成方关于#10484仓库中有两处卸载作业清单可供对照Helm 场景下由 chart/templates/uninstall-job.yaml 以helm.sh/hook: pre-delete方式创建backoffLimit: 1、activeDeadlineSeconds: 900执行longhorn-manager uninstall --force非 Helm 场景使用独立清单 uninstall/uninstall.yaml含专用 ServiceAccount、ClusterRole 与 Job覆盖 CRD、PV/PVC、volumeattachment 等全部资源的删除权限。两个卸载 Pod 并存的问题从清单结构可推断与deleting-confirmation-flag这一删除确认标志的读写竞争有关v1.8.1 修复后应确保任何时刻仅有一个有效的卸载执行体。安全与杂项CVE 修复[TASK] Fix CVE issues for v1.8.1Issue #10318本版本同步修复了 1.8 系列已知的 CVE 漏洞依赖组件升级。安全考量是升级到 v1.8.1 的最强理由之一生产集群应将其纳入安全补丁窗口。升级前的检查清单综合发布说明与仓库证据从任意 v1.7.x / v1.8.x 升级到 v1.8.1 前建议逐项核对Kubernetes 版本确认集群 ≥ v1.25镜像标签核对所用 deploy/longhorn.yaml 或 chart/values.yaml 中镜像标签为v1.8.1避免 1.8.0 时期v1.8.x-head标签问题的重演升级路径仅从受支持版本升级保留 enhancements/20230315-upgrade-path-enforcement.md 所述路径强制策略的余量Helm 配置回归重点验证backupExecutionTimeout、snapshotMaxCount、snapshotCountWarningThreshold、upgradeResponderURL等设置是否按预期下发对照 chart/templates/default-setting.yaml 的键名映射V2 卷专项验证观察副本重建、节点重启、备份镜像场景下的引擎/副本状态机备份链路验证确认备份目标不可用时的行为符合预期验证克隆卷与批量备份操作升级后检查卷列表展示、版本号显示、System Backup 页面功能、指标抓取日志#10361是否干净。贡献者与版本延续v1.8.1 由 12 位开发者与 5 位文档/社区成员共同完成ChanYiLin、PhanLe1010、c3y1huang、derekbit、shuo-wu、yangchiu、james-munson、mantissahz、roger-ryao、houhoucoop、chriscchien、innobead 等。1.8 分支在后续的 CHANGELOG/CHANGELOG-1.8.2.md 中继续修补说明 v1.8.1 所确立的补丁收敛路线得到了延续。对于仍运行 1.7.x/1.8.x 的生产集群v1.8.1 覆盖了数据安全#10418、调度崩溃#10506、升级抖动#10315、卸载竞争#10484与 CVE 等关键风险点是值得优先安排的升级目标。赞分享云原生存储高可用容器编排【免费下载链接】longhornCloud-Native distributed storage built on and for Kubernetes项目地址https://gitcode.com/gh_mirrors/lo/longhorn点击查看免费下载相关推荐Longhorn v1.10.2 发布说明深度解读稳定性修复与升级路径指南Longhorn v1.10.2 发布说明深度解读稳定性修复与升级路径指南 Longhorn v1.10.2 是 1.10 系列的一个补丁版本聚焦系统质量、云原生存储高可用容器编排Longhorn v1.5.1 发布解读1.5.0 升级问题的修复清单与稳定性加固实战Longhorn v1.5.1 发布解读1.5.0 升级问题的修复清单与稳定性加固实战 Longhorn v1.5.1 是 Longhorn 1.5 系列的一云原生存储高可用容器编排Longhorn v1.5.3 版本深度解析加密卷挂载回归修复、升级路径与稳定性改进Longhorn v1.5.3 版本深度解析加密卷挂载回归修复、升级路径与稳定性改进 Longhorn v1.5.3 是 1.5 系列的一个重要补丁版本其核云原生存储高可用容器编排上一篇Salt 外部 Master Job Cache使用 postgres_local_cache Returner 将任务缓存迁入 PostgreSQL下一篇KKManager 游戏Mod管理器上手全攻略从手动折腾到一键托管创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表