数据库快照

用压缩的主网数据库快照快速引导节点,跳过长达数天的创世区块冷同步;直接解压到节点的数据输出目录,从近期高度快速接入网络。

📘

前置阅读

数据库快照是 TRON 网络节点数据库在近期某个区块高度上的压缩备份。从快照启动新节点只需数小时,而从创世区块(高度 0)冷同步则要数天甚至数月。TRON 社区定期生成这些快照,托管在公开下载镜像站上。

本文列出当前的镜像站点、不同快照的选型对比,以及节点启动时应用快照的步骤。

📘

GreatVoyage-v4.8.2 备份配置变化

java-tron 已移除 storage.backup.* RocksDB 内置数据备份功能。需要自建备份时,请使用一致性数据库快照或外部备份流程。不要删除仍然有效的 node.backup 配置;它用于同一 SR 的多个出块节点实例之间进行主备协调,只有选为 MASTER 的实例参与出块,不负责数据库备份。

选择快照

快照在镜像位置、存储引擎和所含数据等方面存在差异,请按节点用途选择。

⚠️

快照完整性

快照下载目录中同时提供文件名为“归档文件名 + .md5sum”的校验文件。完整下载归档后,请在解压前按下文步骤验证文件完整性;校验失败时,不要解压或使用该快照。

全节点快照

地区镜像下载站数据库引擎包含内部交易包含 TRX 余额历史近似大小
新加坡34.143.247.77LevelDB约 2.9 TB
美国34.86.86.229LevelDB约 2.9 TB
美国35.197.17.205RocksDB约 2.9 TB
新加坡35.247.128.170LevelDB约 3.1 TB
美国34.48.6.163LevelDB约 3.6 TB

注:上表大小为近期测定值,数据量随出块持续增长。规划磁盘空间时,请到对应镜像站的目录列表查看当前快照的准确大小。

⚠️

存储引擎匹配

LevelDB 与 RocksDB 的数据文件格式不兼容。快照使用的存储引擎必须与 config.conf 中的 storage.db.engine(即 storage { db.engine = ... })配置一致。x86_64 架构支持 LEVELDBROCKSDB,ARM64 架构仅支持 ROCKSDB。不要使用一种存储引擎的快照启动配置为另一种存储引擎的节点,也不要直接修改现有数据目录的 storage.db.engine;否则可能导致节点无法读取数据或损坏数据目录。

轻节点快照

轻节点快照只含当前全局状态和最近 65,536 个区块(由 DbLite.javaRECENT_BLKS 参数指定),大小通常只占全节点数据集的极小比例。轻节点与全节点在性能和历史数据上的差异,参阅轻节点概述

地区镜像下载站数据库引擎
新加坡34.143.247.77LevelDB
美国35.197.17.205RocksDB
📘

目前仅提供上表所列的两个轻节点快照下载地址。

如果下载速度不理想,也可以使用轻节点裁剪工具,从运行正常的本地全节点生成轻节点快照。


下载与解压

⚠️

单线程下载限制

主网快照为单一大文件,为保障镜像服务器可用性,下载链接限制了并发连接数。请只用单线程工具下载;若检测到多线程并发下载,服务器可能直接返回 404 Not Found 错误。

主网全节点快照解压后超过 2.9 TB,提供以下两种下载与解压方式:

流式下载并解压(节省磁盘空间)

用管道同时下载和解压,无需在磁盘上额外保留一份压缩归档,明显节省存储成本:

流式下载方式会一边下载一边解压,无法在解压前使用 .md5sum 校验完整归档。如需在解压前完成校验,请使用“完整下载后再解压”方案。

#!/bin/bash
wget -q -O - SNAPSHOT_URL/FullNode_output-directory.tgz | tar -zxvf -

SNAPSHOT_URL 替换为快照文件所在目录的 URL(不包含归档文件名),把上面的脚本保存为 download_snapshot.sh 后运行:

bash download_snapshot.sh

这个方案只需要解压后数据集所需的存储空间(约 3 TB 以上),比先下载后解压节省约一半磁盘。

完整下载后再解压(需要双倍磁盘空间)

# 1. 下载压缩归档和对应的 MD5 校验文件
wget SNAPSHOT_URL/FullNode_output-directory.tgz
wget SNAPSHOT_URL/FullNode_output-directory.tgz.md5sum

# 2. 验证完整性;仅在输出 OK 后继续
md5sum -c FullNode_output-directory.tgz.md5sum

# 3. 进行解压
tar -zxvf FullNode_output-directory.tgz

这种方式在解压期间,磁盘要同时容纳压缩归档和解压后的数据集,因此至少需要 6 TB 以上的磁盘卷(解压完成后可手动删除 .tgz 归档释放空间)。


使用快照

  1. 如果节点正在运行,先停止节点进程并确认其已完全退出。

  2. 把解压出的数据库文件夹(通常是 output-directory)放在节点 FullNode.jar 同目录下(或自定义的挂载路径下)。放置快照前,目标位置不得已有同名数据目录;如需保留原有数据,请先将旧目录移到其他位置。不要把快照覆盖到现有数据目录,也不要在节点运行期间替换数据文件。

  3. 启动节点。客户端默认读取 ./output-directory 目录。如果把数据目录放在其他路径,在启动参数里加 -d <path> 指定:

    java -jar FullNode.jar -c config.conf -d /custom/path
  4. 节点启动后自动检测到本地快照,开始同步快照高度到当前主网最新高度之间的区块差额,通常数小时即可追平,无需等待数月的冷同步。

完整的部署与升级步骤,请参阅部署节点


相关资源