菜单

操作

相关源文件

本页面提供在生产环境中运行 Base 节点的指导。它涵盖了关键的运营方面,包括监控、故障排除和性能调优,以确保您的节点可靠高效地运行。有关安装说明,请参阅 入门,有关组件详情,请参阅 组件

节点生命周期管理

理解 Base 节点的运行生命周期对于正确的维护和管理至关重要。

来源: README.md65-69 README.md89-94

启动和停止节点

启动您的 Base 节点

  1. 设置 NETWORK_ENV 环境变量来指定您的网络
  1. 使用 Docker Compose 启动节点
  1. 要使用特定的执行客户端运行

其中 <client_name> 可以是 gethreth,或 nethermind

优雅地停止节点

来源: README.md58-69

数据持久化

默认情况下,节点的目录存储在 ${PROJECT_ROOT}/geth-data。您可以通过修改 .env 文件中的 GETH_HOST_DATA_DIR 变量来覆盖此设置。

为了更快的初始同步,您可以使用快照

  1. Base 文档中提供的 URL 下载最新的快照
  2. 将快照解压到 $GETH_HOST_DATA_DIR 文件夹中
  3. 正常启动您的节点

来源: README.md89-94 README.md108-110

单容器运行

对于像 Kubernetes 这样的特定部署环境,您可以使用 supervisord 在单个容器中运行节点

请注意,您需要覆盖一些假定为多容器环境的默认配置。

来源: README.md96-106

监控

有效的监控对于在生产环境中维护健康的 Base 节点至关重要。

来源: .env.mainnet28-30 README.md112-122

健康检查

为验证您的节点是否正常运行并正确同步,请检查

  1. 同步状态检查:使用以下命令检查您的节点落后多少
  1. 块检索检查:确认您的节点可以检索区块链数据

来源: README.md80-85 README.md112-122

指标配置

Base 节点公开的指标可以被 Prometheus 等监控系统收集

  1. op-node 指标:默认启用,端口为 7300

    • 在您的 .env 文件中通过以下环境变量进行配置
      OP_NODE_METRICS_ENABLED=true
      OP_NODE_METRICS_ADDR=0.0.0.0
      OP_NODE_METRICS_PORT=7300
      
  2. 执行客户端指标:根据客户端的不同,您可以启用统计信息

    • 对于 Geth
      OP_GETH_ETH_STATS=nodename:secret@host:port
      
    • 对于 Nethermind
      OP_NETHERMIND_ETHSTATS_ENABLED=true
      OP_NETHERMIND_ETHSTATS_NODE_NAME=NethermindNode
      OP_NETHERMIND_ETHSTATS_ENDPOINT=ethstats_endpoint
      

来源: .env.mainnet6-10 .env.mainnet28-30

要监控的关键指标

指标类别具体指标描述
同步状态块高、同步百分比指示您的节点有多新
资源使用CPU、内存、磁盘 I/O、磁盘空间系统资源消耗
网络节点数、带宽使用情况网络连接健康状况
性能块处理时间、交易吞吐量运营效率
错误(Errors)RPC 错误、验证错误需要注意的问题

故障排除

当您的 Base 节点遇到问题时,请遵循此结构化方法进行高效的问题解决。

来源: README.md41-46 README.md87 .env.mainnet43-46

常见问题

  1. L1 节点连接问题:

    • 确保您的 L1 节点已完全同步并响应正常
    • 验证您的 OP_NODE_L1_ETH_RPCOP_NODE_L1_BEACON 设置是否正确
    • 对于 Erigon L1 节点,添加 --l1.trustrpc 标志或将 OP_NODE_L1_TRUST_RPC=true 设置为 true,以解决存储证明问题
  2. 同步问题:

    • 检查您的 L1 节点连接
    • 验证系统资源是否充足
    • 考虑使用快照以加快初始同步速度
  3. 资源限制:

    • 确保您的系统符合建议的硬件要求
    • 监控磁盘空间使用情况,因为链数据会随着时间增长
  4. 数据损坏:

    • 如果节点出现数据损坏,请考虑使用快照重置

来源: README.md30-39 README.md87 .env.mainnet43-46

获取支持

如果您遇到无法解决的节点问题

  1. 打开一个 GitHub issue
  2. 在 Base Discord 上联系我们
    • 加入 Discord 并关联您的 GitHub 账户
    • #🛟|developer-support🛠|node-operators 频道报告您的问题

来源: README.md41-46

性能调优

根据您的具体要求,优化您的 Base 节点以提高性能和可靠性。

来源: README.md30-39 .env.mainnet49-54

硬件优化

为实现最佳节点性能,请确保您的硬件满足或超过这些建议

  • CPU:现代多核 CPU,具有良好的单核性能
  • RAM:至少 16 GB(推荐 32 GB)
  • 存储:本地连接的 NVMe SSD,容量足够处理
    • 快照恢复过程
    • 持续的链数据增长
    • 建议存储容量:(2 * 当前链大小) + 快照大小 + 20% 缓冲

如果使用 Amazon EBS 等云存储,请确保计时缓冲的磁盘读取速度足够快(推荐 io2 block express)。

来源: README.md30-39

同步模式

Base 节点支持不同的同步模式,这些模式会影响初始同步时间和资源使用情况

  1. 默认完全同步:

    • 最可靠和最安全
    • 更慢的初始同步
    • 验证所有链数据
  2. 实验性快照同步:

    • 更快的初始同步
    • 可能导致同步问题或难以找到节点
    • 通过取消注释这些环境变量来启用
      OP_NODE_SYNCMODE=execution-layer
      OP_GETH_BOOTNODES=enode://...
      OP_NETHERMIND_BOOTNODES=enode://...
      OP_GETH_SYNCMODE=snap
      

来源: .env.mainnet49-54

L1 节点配置

您的 Base 节点性能很大程度上受您的 L1 节点配置影响

  1. L1 节点选择:

    • 使用高性能、可靠的 L1 节点提供商
    • 自托管的 L1 节点必须在 Base 节点完全同步之前同步完成
  2. 信任 RPC 设置:

    • OP_NODE_L1_TRUST_RPC=true 设置为 true 可以加快同步速度
    • 这应该 **只** 与完全受信任的 L1 RPC 节点一起使用
    • 由于存储证明限制,Erigon L1 节点需要此设置
  3. 验证设置:

    • OP_NODE_VERIFIER_L1_CONFS(默认值:4)控制在验证区块之前所需的 L1 确认数
    • 较低的值会减少最终确定时间,但会增加重组风险

来源: README.md57 .env.mainnet43-46 .env.mainnet40

网络配置

优化网络设置以改善连接性和节点发现

  1. P2P 设置:

    • 使用 OP_NODE_P2P_* 变量进行配置
    • 默认端口:op-node 使用 TCP/UDP 9222,执行客户端使用 TCP/UDP 30303
  2. 引导节点配置:

    • 使用连接良好的引导节点可以加速节点发现
    • 使用 OP_GETH_BOOTNODESOP_NETHERMIND_BOOTNODES 变量进行配置

来源: .env.mainnet32-36 .env.mainnet52-53

维护程序

定期维护有助于确保您的节点保持健康和最新

  1. 更新程序:

    • 定期检查 Base 节点软件的新版本
    • 使用以下命令更新:git pull && docker compose pull && docker compose up --build -d
  2. 数据库维护:

    • 监控数据库随时间增长的大小
    • 随着链条的增长,计划额外的存储空间
  3. 日志轮转:

    • 配置日志轮转以防止日志增长导致磁盘空间问题
    • 使用 Docker 的日志驱动程序或外部日志管理解决方案
  4. 备份程序:

    • 定期备份关键配置文件
    • 考虑在节点停止时定期备份数据目录

来源: README.md89-94