数据库快照
用压缩的主网数据库快照快速引导节点,跳过长达数天的创世区块冷同步;直接解压到节点的数据输出目录,从近期高度快速接入网络。
前置阅读
数据库快照是 TRON 网络节点数据库在近期某个区块高度上的压缩备份。从快照启动新节点只需数小时,而从创世区块(高度 0)冷同步则要数天甚至数月。TRON 社区定期生成这些快照,托管在公开下载镜像站上。
本文列出当前的镜像站点、不同快照的选型对比,以及节点启动时应用快照的步骤。
GreatVoyage-v4.8.2 备份配置变化java-tron 已移除
storage.backup.*RocksDB 内置数据备份功能。需要自建备份时,请使用一致性数据库快照或外部备份流程。不要删除仍然有效的node.backup配置;它用于同一 SR 的多个出块节点实例之间进行主备协调,只有选为MASTER的实例参与出块,不负责数据库备份。
选择快照
快照在镜像位置、存储引擎和所含数据等方面存在差异,请按节点用途选择。
快照完整性快照下载目录中同时提供文件名为“归档文件名 +
.md5sum”的校验文件。完整下载归档后,请在解压前按下文步骤验证文件完整性;校验失败时,不要解压或使用该快照。
全节点快照
| 地区 | 镜像下载站 | 数据库引擎 | 包含内部交易 | 包含 TRX 余额历史 | 近似大小 |
|---|---|---|---|---|---|
| 新加坡 | 34.143.247.77 | LevelDB | 否 | 否 | 约 2.9 TB |
| 美国 | 34.86.86.229 | LevelDB | 否 | 否 | 约 2.9 TB |
| 美国 | 35.197.17.205 | RocksDB | 否 | 否 | 约 2.9 TB |
| 新加坡 | 35.247.128.170 | LevelDB | 是 | 否 | 约 3.1 TB |
| 美国 | 34.48.6.163 | LevelDB | 否 | 是 | 约 3.6 TB |
注:上表大小为近期测定值,数据量随出块持续增长。规划磁盘空间时,请到对应镜像站的目录列表查看当前快照的准确大小。
存储引擎匹配LevelDB 与 RocksDB 的数据文件格式不兼容。快照使用的存储引擎必须与
config.conf中的storage.db.engine(即storage { db.engine = ... })配置一致。x86_64 架构支持LEVELDB和ROCKSDB,ARM64 架构仅支持ROCKSDB。不要使用一种存储引擎的快照启动配置为另一种存储引擎的节点,也不要直接修改现有数据目录的storage.db.engine;否则可能导致节点无法读取数据或损坏数据目录。
轻节点快照
轻节点快照只含当前全局状态和最近 65,536 个区块(由 DbLite.java 的 RECENT_BLKS 参数指定),大小通常只占全节点数据集的极小比例。轻节点与全节点在性能和历史数据上的差异,参阅轻节点概述。
| 地区 | 镜像下载站 | 数据库引擎 |
|---|---|---|
| 新加坡 | 34.143.247.77 | LevelDB |
| 美国 | 35.197.17.205 | RocksDB |
目前仅提供上表所列的两个轻节点快照下载地址。如果下载速度不理想,也可以使用轻节点裁剪工具,从运行正常的本地全节点生成轻节点快照。
下载与解压
单线程下载限制主网快照为单一大文件,为保障镜像服务器可用性,下载链接限制了并发连接数。请只用单线程工具下载;若检测到多线程并发下载,服务器可能直接返回 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 归档释放空间)。
使用快照
-
如果节点正在运行,先停止节点进程并确认其已完全退出。
-
把解压出的数据库文件夹(通常是
output-directory)放在节点FullNode.jar同目录下(或自定义的挂载路径下)。放置快照前,目标位置不得已有同名数据目录;如需保留原有数据,请先将旧目录移到其他位置。不要把快照覆盖到现有数据目录,也不要在节点运行期间替换数据文件。 -
启动节点。客户端默认读取
./output-directory目录。如果把数据目录放在其他路径,在启动参数里加-d <path>指定:java -jar FullNode.jar -c config.conf -d /custom/path -
节点启动后自动检测到本地快照,开始同步快照高度到当前主网最新高度之间的区块差额,通常数小时即可追平,无需等待数月的冷同步。
完整的部署与升级步骤,请参阅部署节点。
相关资源
Updated about 5 hours ago