GearFans

V1

2023/03/20阅读:18主题:默认主题

如何快速备份及恢复节点 | Gear Wiki

导语

本篇文章主要介绍如何备份、恢复节点的数据,帮助你更好的了解 Gear。

备份和恢复节点数据

数据格式

Gear 将节点数据存储在专用目录中。

  • Linux:$HOME/.local/share/gear
  • macOS:$HOME/Library/Application Support/gear
  • Windows:%USERPROFILE%\AppData\Local\gear.exe

例如,在 Linux 操作系统中以 root 用户运行节点 ($HOME = /root),节点数据目录的绝对路径为:

/root/.local/share/gear

让我们研究下节点存储在这个目录中的数据。

└── gear
    └── chains
        ├── dev
        │   └── ...
        ├── gear_staging_testnet_v6
        │   ├── db
        │   │   └── full
        │   ├── keystore
        │   └── network
        └── vara_network
            ├── db
            │   └── full
            ├── keystore
            └── network

节点可以连接到不同的链。可以使用 --chain 参数来选择链。目前默认的链是 staging test 网络。它的数据位于 gear/chains/gear_staging_testnet_v6目录中。

如果连接到 Vara 网络,链的子目录名称是vara_network,路径是 gear/chains/vara_network

如果使用--dev参数启动节点,开发模式下的虚拟网络将节点数据存储在gear/chains/dev。

数据库

数据库将区块链状态保存在本地节点存储中。它通过 p2p 协议与其他节点同步。可以使用 --database 参数选择不同的数据库类型。可选项是:

  • rocksdb (默认):使用 RocksDB 作为数据库引擎,数据存储在 <chain>/db/full 子目录中。
  • paritydb:使用 ParityDB 作为数据库引擎,数据存储在 <chain>/paritydb/full 子目录中。
  • paritydb-experimental:已弃用的 ParityDB 引擎实验模式 (将在未来的版本中删除),数据存储在<chain>/paritydb/full 子目录中。

注意,数据库内容取决于节点的修剪模式。默认情况下,节点只保留最后 256 个块。要保留所有的块,在运行节点时,请使用 --pruning=archive参数。

可以在任何时候删除和同步数据库。使用gear purge-chain命令将完全删除数据库。

网络密钥

网络私钥用于计算唯一的节点标识符 (以12D3KooW开头)。这个密钥存储在 <chain>/network/secret_ed25519 文件中。密钥文件是一个二进制文件,包含了 32 字节 Ed25519 私钥 (默认) 。你可以使用 hexdump 命令读取密钥:

hexdump -e '1/1 "%02x"' /root/.local/share/gear/chains/gear_staging_testnet_v6/network/secret_ed25519

# 42bb2fdd46edfa4f41a5f0f9c1a5a1d407a39bafbce6f07456a2c8d9963c8f5c

你可以通过运行带有--node-key参数的节点来覆盖这个密钥:

gear --node-key=42bb2fdd46edfa4f41a5f0f9c1a5a1d407a39bafbce6f07456a2c8d9963c8f5c

# Discovered new external address for our node: /ip4/127.0.0.1/tcp/30333/ws/p2p/12D3KooWMRApe2S5QMdhHwmcDapDxZ7xf2Xa3z2HfCCYoHTmjiXV

如果没有--node-key参数,节点使用secret_ed25519文件中的密钥。如果该文件不存在,则用新生成的密钥创建。

网络密钥文件一旦丢失就无法恢复。因此,你要保留它(或私钥本身),以便有可能以相同的 peer ID 运行节点。

迁移节点

要把节点移到新的服务器上,需要备份然后恢复以下内容(提供的路径是默认的 Staging Testnet V6 节点的参数)。

节点的网络密钥:

  • Linux: $HOME/.local/share/gear/chains/gear_staging_testnet_v6/network/secret_ed25519
  • macOS: $HOME/Library/Application Support/gear/chains/gear_staging_testnet_v6/network/secret_ed25519
  • Windows: %USERPROFILE%\AppData\Local\gear.exe\chains\gear_staging_testnet_v6\network\secret_ed25519

(可选) 数据库:

  • Linux: $HOME/.local/share/gear/chains/gear_staging_testnet_v6/db/full
  • macOS: $HOME/Library/Application Support/gear/chains/gear_staging_testnet_v6/db/full
  • Windows: %USERPROFILE%\AppData\Local\gear.exe\chains\gear_staging_testnet_v6\db\full

(可选) 如果你已经将节点配置为服务,则服务配置: Linux: /etc/systemd/system/gear-node.service

信息

在备份数据库之前,不要忘记停止节点。否则,你可能会得到一个损坏的数据库。

sudo systemctl stop gear-node

关于 GearFans

Gear 是波卡生态的计算组件,GearFans 是 Gear 爱好者社区。

  • 官网:https://gear-tech.io/
  • Twitter:https://twitter.com/gear_techs
  • 中文 Twitter:https://twitter.com/gear_fans
  • Vara Twitter:https://twitter.com/VaraNetwork
  • Vara Twitter CN:https://twitter.com/VaraNetwork_CN
  • GitHub:https://github.com/gear-tech
  • Discord:https://discord.com/invite/7BQznC9uD9
  • Medium:https://medium.com/@gear_techs
  • Telegram 群:https://t.me/gear_tech
  • Telegram 中文群:https://t.me/Gear_CN
  • Telegram 中文开发群:https://t.me/gear_dev_cn
  • Vara Telegram CN:https://t.me/varanetwork_cn

分类:

后端

标签:

区块链

作者介绍

GearFans
V1

Gear 是波卡生态的计算组件。