Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Actualización versiones software nodo validador #31

Open
NachoDeLaVega opened this issue Jul 4, 2022 · 3 comments
Open

Actualización versiones software nodo validador #31

NachoDeLaVega opened this issue Jul 4, 2022 · 3 comments
Assignees

Comments

@NachoDeLaVega
Copy link

Se han realizado los trabajos de actualización de versiones de nuestro nodo validador (VAL_Alisys_Telsius_2_8_01) de acuerdo con https://github.com/alastria/alastria-node-quorum/pull/29 pero hemos tenido que hacer rollback, dejando el nodo ejecutando la versión anterior:

  • Se ha instalado el software actualizado desde el repositorio basado en Docker (nuestro nodo ejecuta el software instalado en el servidor), siguiendo las instrucciones https://github.com/alastria/alastria-node-quorum/blob/main/README.md
  • Se ha configurado y al arrancar el docker compose, se ha detectado correctamente el permisionado de la red, la identidad del nodo, con su enode y la cadena de bloques descargada en el equipo por la anterior versión de geth
  • El nodo ha cogido peers y ha participado en las rondas de validación.
  • El delay de sincronización del nodo comienza a degradarse hasta el punto de no poder participar en la validación porque no es capaz de mantener la sincronización de los bloques. Este degradado es progresivo y modificando parámetros de arranque (cache, monitorización, maxpeers...) se ha mejorado, pero no corregido, haciendo que el nodo no sea operativo
  • Se ha detectado que el proceso Geth pasa de consumir un 25%de CPU y un 11% de la memoria del servidor con la versión anterior a un 80% y un 91% de memoria con la del docker. Además, ha generado 64GB de datos en el subdirectorio /ancient del chaindata, directorio que la anterior versión no genera.
@irzinfante
Copy link
Contributor

GoQuorum 21.1.0 utiliza la versión 1.9.7 de Geth. Según esta guía de Consensys (https://consensys.net/docs/goquorum/en/21.10.0/deploy/upgrade/migration/) ocurre lo siguiente con los datos antiguos (ancient):

  • freezerdb - geth 1.9.7 introduces the feature of freezerdb where block data beyond a certain threshold is moved to a different file-based storage area. The location for freezerdb can be provided by the geth command line option:

    --datadir.ancient <value> - Data directory for ancient chain segments (default = inside chaindata)

  • When a node is migrated to this version, geth by default will create the ancient data folder and start moving blocks below the immutability threshold (default: 3162240) into the ancient data.

    If you do not want this movement to happen, use --immutabilitythreshold to set the immutability threshold to an appropriate value when starting geth.

@irzinfante irzinfante changed the title Actualziación versiones software nodo validador Actualización versiones software nodo validador Jul 4, 2022
@alejandroalffer alejandroalffer self-assigned this Jul 5, 2022
@NachoDeLaVega
Copy link
Author

He modificado los scripts de arranque de geth para añadir esos parametros:
--datadir.ancient /root/alastria/data/geth/chaindata/ancient/ --immutabilitythreshold 1

Pero el proceso no levanta, mostrando un error en el log

VAL_Alisys_Telsius_2_8_01 | INFO [00-00|00:00:00.000|entrypoint.sh:54] ... nodes recibed
VAL_Alisys_Telsius_2_8_01 | INFO [00-00|00:00:00.000|entrypoint.sh:56] Parsing correct databases
VAL_Alisys_Telsius_2_8_01 | Fatal: Error starting protocol stack: ancient chain segments already extracted, please set --datadir.ancient to the correct path
VAL_Alisys_Telsius_2_8_01 | Fatal: Error starting protocol stack: ancient chain segments already extracted, please set --datadir.ancient to the correct path

Sin embargo, se crea el directorio /root/alastria/data/geth/chaindata/ancient/ con ficheros

ll /root/alastria/data/geth/chaindata/ancient/

total 20

-rw-r--r-- 1 root root 0 jul  5 12:07 bodies.0000.cdat
-rw-r--r-- 1 root root 6 jul  5 12:07 bodies.cidx
-rw-r--r-- 1 root root 0 jul  5 12:07 diffs.0000.rdat
-rw-r--r-- 1 root root 6 jul  5 12:07 diffs.ridx
-rw-r--r-- 1 root root 0 jul  5 12:07 FLOCK
-rw-r--r-- 1 root root 0 jul  5 12:07 hashes.0000.rdat
-rw-r--r-- 1 root root 6 jul  5 12:07 hashes.ridx
-rw-r--r-- 1 root root 0 jul  5 12:07 headers.0000.cdat
-rw-r--r-- 1 root root 6 jul  5 12:07 headers.cidx
-rw-r--r-- 1 root root 0 jul  5 12:07 receipts.0000.cdat
-rw-r--r-- 1 root root 6 jul  5 12:07 receipts.cidx

@irzinfante
Copy link
Contributor

Can we already mark the issue as solved?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants