Neo SPCC 发布了 neofs-node v0.52.0,包括放置策略、维护检修

Neo SPCC 发布了 neofs-node v0.52.0,同时对 NeoFS Go SDK 和两个 GitHub Actions 集成进行了协调更新,引入了初始放置策略支持、扩展了维护工具,并打破了整个堆栈的配置更改。这些版本反映了 NeoFS 基础设施向细粒度对象放置控制和 API 2.22 兼容性的转变。
NeoFS 是 Neo 的分布式、去中心化对象存储网络。 v0.52.0 版本代号为“Woodo”,是继 v0.51.1 之后发布的,v0.51.1 在今年早些时候引入了新的 CLI 工具和存储修复。
这可以实现什么
初始放置策略使容器操作员可以控制对象最初存储在网络上的位置,将现已弃用的 copy_number 参数替换为与容器的放置策略相关的 max_replicas 设置。重命名的维护工具neofs-lancet(以前称为neofs-lens)现在除了检查存储状态之外还可以修改存储状态,让操作员重新同步元数据库、刷新写入缓存以及直接删除对象。存储节点操作员还可以通过 SIGHUP 信号重新加载 gRPC 配置,而无需重新启动节点。
核心节点变化
v0.52.0 中的主要新增内容是对容器的初始放置策略支持。对象 PUT 请求中的 copy_number 参数不再有任何作用;操作员必须使用容器初始放置策略中的 max_replicas 设置。
该版本将 neofs-lens 重命名为 neofs-lancet,以反映该工具的扩展范围。新命令包括元重新同步、存储刷新写入缓存、元删除和 fstree 删除,使操作员可以直接控制元数据和存储状态。
性能改进包括监管器优化(监管器现在从随机偏移开始并迭代引擎级对象列表)、新的 Policer.boost_multiplier 配置选项以及优化的本地 HEAD/GET 请求执行。根、时间戳、锁、链接和垃圾收集对象的新对象计数器指标取代了以前的逻辑计数器。
重大变更和迁移
升级到 v0.52.0 的开发人员应该注意几个重大更改:
存储节点现在永久删除属于未付费容器的对象。根据发行说明,“数据将从分片中永久删除,无法恢复。”
node.persistent_sessions.path 配置选项(自 v0.50.0 起已弃用)、storage.shards.resync_metabase 和replicator.pool_size 均已被删除。
存储节点不再自动将元数据库从版本 5 迁移到版本 6 或从版本 6 迁移到版本 7。旧版本上的操作员必须使用 SN v0.51.1 进行迁移或与 v0.52.0 重新同步。
存储节点返回对 API v2.22 或更高版本的请求的未签名响应。
容器命令不推荐使用 CLI --await 标志。
该版本需要 Go 1.25 或更高版本,并更新依赖项,包括 neofs-sdk-go 至 v1.0.0-rc.18 和 neo-go 至 v0.118.0。
SDK 和 GitHub Actions 更新
Neo SPCC 还发布了 neofs-sdk-go v1.0.0-rc.18,即 NeoFS 的 Go SDK,现在与 API 2.22 兼容。
SDK 添加了用于会话令牌的 AuthUser() API 和镜像核心节点的初始放置策略支持。 waiter 包已弃用(API 2.21 或更高版本不再需要),并且 PrmObjectPutInit.SetCopiesNumber 已弃用,以匹配 API 2.22 从 copy_number 进行的转换。该版本还修复了多个会话令牌 v2 问题并强制执行 API 2.22 签名大小限制。
在 CI/CD 方面,gh-push-to-neofs v0.4.0 引入了对用于将文件发布到 NeoFS 的 GitHub Action 的重大配置更改。 NEOFS_NETWORK_DOMAIN 被替换为 NEOFS_ENDPOINT,它接受带有方案和端口的完整地址。 NEOFS_HTTP_GATE 替换为 HTTP_URL_PREFIX 以实现自定义网关和 CDN 支持。 STRIP_PREFIX 选项现在始终启用。
gh-push-allure-report-to-neofs v0.2.0 更新添加了 Allure 测试报告历史记录支持,并将其依赖项更新为 gh-push-to-neofs v0.4.0。 Allure 操作的用户必须遵循 gh-push-to neofs 迁移指南来更新其配置变量。
错误修复
v0.52.0 节点版本解决了本地存储关闭时的 GC 死锁、存储对象的签名验证问题、GAS 事务重试失败以及分片疏散的纠删码改进。
SDK 版本修复了会话令牌 v2 中遗留对象的容器动词处理和对象标识符错误。
完整的发行说明可以在以下链接中找到: https://github.com/nspcc-dev/neofs-node/releases/tag/v0.52.0 https://github.com/nspcc-dev/neofs-sdk-go/releases/tag/v1.0.0-rc.18 https://github.com/nspcc-dev/gh-push-to-neofs/releases/tag/v0.4.0 https://github.com/nspcc-dev/gh-push-allure-report-to-neofs/releases/tag/v0.2.0