Podar el Cliente de Ejecución

NOTA

Esto está destinado a usuarios de geth y nethermind. Besu no necesita ser podado.

Si usas geth o nethermind como tu cliente de Ejecución principal, probablemente notarás que el espacio libre en disco de tu nodo disminuye lentamente con el tiempo. El cliente de Ejecución es, con mucho, el mayor contribuyente a esto; ¡dependiendo de cuánta RAM asignaste a su caché durante rocketpool service config, puede crecer a una tasa de varios gigabytes por día!

Para manejar esto, los clientes de Ejecución proporcionan una función especial llamada podado que les permite escanear y limpiar su base de datos de forma segura para recuperar algo de espacio libre. Todo operador de nodo que use Geth o Nethermind tendrá que podarlo eventualmente.

Si tienes un SSD de 2 TB, generalmente puedes pasar meses entre rondas de podado. Para usuarios de SSD de 1 TB, tendrás que podar con más frecuencia.

Si tienes el panel de Grafana habilitado, una buena regla general es comenzar a pensar en podar tu cliente de Ejecución cuando el espacio en disco usado de tu nodo supere el 80%.

Cuando decidas que es hora, el Smartnode viene con la capacidad de podarlo por ti bajo petición. Lee a continuación para aprender cómo funciona y qué esperar.

NOTA

Podar tu cliente de Ejecución solo es posible en Docker Mode.

Si usas tu propio cliente de Ejecución, como un cliente externo en modo Hybrid o modo Native, no puedes usar el Smartnode para podar el cliente de Ejecución. Tendrás que hacerlo manualmente. Consulta la documentación de tu cliente de Ejecución para aprender cómo podarlo.

Prerrequisitos

Selecciona el cliente que estás usando en las pestañas a continuación.

Geth
Nethermind

Podar Geth significa poner el cliente de Ejecución principal fuera de línea para que pueda limpiarse. Cuando esto sucede, el Smartnode (y tu cliente de Consenso) necesitarán alguna otra forma de acceder a la cadena ETH1 para funcionar correctamente.

La forma más fácil de proporcionar esto es con un nodo de respaldo. Si ya configuraste un nodo de respaldo usando rocketpool service config, entonces el Smartnode cambiará automáticamente a él cuando tu contenedor Geth se caiga para mantenimiento. También informará a tu cliente de Consenso que use el respaldo también.

ADVERTENCIA

Si no tienes un nodo de respaldo configurado, tu nodo dejará de validar durante el proceso de podado. Perderá todas las attestations y propuestas de bloques hasta que haya terminado y se haya resincronizado con la red. ¡Perderás ETH debido a validaciones perdidas durante este tiempo!

Con eso en mente, las siguientes dos condiciones son requeridas para podar Geth con éxito:

  • Un nodo de respaldo funcional configurado
  • Al menos 50 GB de espacio libre restante en tu SSD

Iniciar un Podado

Selecciona el cliente que estás usando en las pestañas a continuación.

Geth
Nethermind

Cuando quieras podar Geth, simplemente ejecuta este comando:

rocketpool service prune-eth1

Si no tienes un par de clientes de respaldo habilitado, recibirás la siguiente advertencia:

This will shut down your main execution client and prune its database, freeing up disk space.
Once pruning is complete, your execution client will restart automatically.

You do not have a fallback execution client configured.
Your node will no longer be able to perform any validation duties (attesting or proposing blocks) until Geth is done pruning and has synced again.
Please configure a fallback client with `rocketpool service config` before running this.
Are you sure you want to prune your main execution client? [y/n]

Si tienes uno habilitado, verás el siguiente mensaje en su lugar:

This will shut down your main execution client and prune its database, freeing up disk space.
Once pruning is complete, your execution client will restart automatically.

You have fallback clients enabled. Rocket Pool (and your consensus client) will use that while the main client is pruning.
Are you sure you want to prune your main execution client? [y/n]

Si aceptas, verás algunos detalles mientras el Smartnode prepara las cosas; debería terminar con un mensaje de éxito:

Are you sure you want to prune your main ETH1 client? [y/n]
y

Your disk has 303 GiB free, which is enough to prune.
Stopping rocketpool_eth1...
Provisioning pruning on volume rocketpool_eth1clientdata...
Restarting rocketpool_eth1...

Done! Your main ETH1 client is now pruning. You can follow its progress with `rocketpool service logs eth1`.
Once it's done, it will restart automatically and resume normal operation.
NOTE: While pruning, you **cannot** interrupt the client (e.g. by restarting) or you risk corrupting the database!
You must let it run to completion!

Con eso, ¡Geth ahora está podando y estás listo! Puedes seguir su progreso con:

rocketpool service logs eth1

Una vez que haya terminado de podar, se reiniciará automáticamente y el Smartnode reanudará su uso en lugar de tu respaldo.