1. 首页
  2. 文档
  3. IPFS集群 | IPFS Cluster
  4. 用户文档 | User Documentation
  5. 升级

升级

本节介绍IPFS集群的升级过程。有几个注意事项:

  • 所有集群对等节点都需要运行相同的集群版本(X.X.X包括补丁号)
  • 如果状态格式发生更改,则需要进行状态升级(对等方脱机)

标准升级程序

以下升级过程提供了最快速,最直接的升级路径。它适用于任何部署自动化工具或docker。

要使此方法起作用,需要:

  • leave_on_shutdown 被设置为 false
  • wait_for_leader_timeout 足以说明所有对等节点的重启(在大多数情况下默认应该没问题)

步骤:

  1. 升级  ipfs-cluster-service 和  ipfs-cluster-ctl 二进制文件(或容器)
  2. 同时重新启动运行该服务的所有集群对等节点,用 ipfs-cluster-service daemon --upgrade 。

这将在必要时执行任何状态格式迁移。由于所有对等节点一次启动,使用新版本  ipfs-cluster-service 并具有最新状态,集群将立即就绪。

如果您使用的是Docker,则用新图像替换容器应该足够了(ipfs-cluster-service daemon --upgrade 默认情况下会运行  )。

Bootstrap升级程序

执行更新的另一种方法是顺序删除集群的对等节点,升级它们,然后再次引导它们。

步骤:

  1. ipfs-cluster-ctl peer rm <peerID> 为最后一个集群对等节点运行  (单个对等集群不会删除其唯一的对等节点)。
  2. 这将关闭已删除的对等节点并清除其状态
  3. 关闭剩余的对等节点,升级 ipfs-cluster-service 和  ipfs-cluster-ctl二进制文件
  4. 运行  ipfs-cluster-service state upgrade 并重启对等节点(或者只是重启 ipfs-cluster-service daemon --upgrade
  5. 升级从原始集群中删除的其余对等节点中的二进制文件
  6. 重新启动其余的对等节点,顺序将它们提升到正在运行的对等节点(ipfs-cluster-service daemon --bootstrap <multiaddress>

升级故障排除

执行升级时最重要的事情是保持集群状态(存储pinset)安全。

如果从集群中删除对等节点,则会自动清除状态,但会存储备份副本(请参阅  数据持久性和备份)。您始终可以通过将备份文件夹重命名为原始名称(raft)来恢复备份状态。然后,您可以导出状态并在需要时将其导入另一个对等节点(state export/import),确保它与导出它的对等节点运行的版本相同。

最后,只要您具有有效状态,就可以在安装新的IPFS群集版本后使用ipfs-cluster-service state upgrade 升级格式。因此,完整的灾难恢复程序如下:

  1. 找到仍然存储状态的对等节点,  在raft 或者作为其备份副本
  2. 在升级之前,请运行 ipfs-cluster-service state export
  3. 使用旧版本的IPFS集群清理您的对等节点或从头开始设置新节点
  4. 运行  ipfs-cluster-service state import 以从步骤2导入状态副本
  5. 升级IPFS集群二进制文件
  6. 运行  ipfs-cluster-service state upgrade 以升级导入的状态
  7. 将对等节点作为单对等集群启动
  8. 完全清理,升级并将其余对等节点引导至正在运行的节点。

后续步骤:  内部构件

这篇文章对你有帮助吗?

我们要如何帮助您?