Mantenimiento de nodos lightning
Una guía sencilla sobre buenas prácticas para el mantenimiento de tu nodo
Nota de introducción
Todos los aspectos aquí se presentan desde mi punto de vista, después de más de 25 años en tecnología y soporte de TI para usuarios finales, servidores y empresas. Después de más de 10 años en Bitcoinlandia, probando varias aplicaciones y soluciones, en los últimos 2 años comencé a ayudar a muchos usuarios de Umbrel y a observar su comportamiento al usar un nodo LN.
Esta guía fue solicitada por uno de mis lectores de substack. Así que entregué.
Introducción
Como operador de un nodo LN, también tenemos grandes responsabilidades con nuestros compañeros e incluso amigos, familiares que están conectados a nuestro nodo. Eso significa que debemos cuidar con atención nuestras máquinas nodo. Ejecutar un nodo es una tarea seria y los usuarios no deben considerarlo un juego por diversión.
Por lo tanto, un buen mantenimiento y buen cuidado de su máquina nodo es IMPRESCINDIBLE. Vi muchos operadores de nodos nuevos que no se toman en serio estos aspectos y que nos afectan a todos los demás, no solo a ellos.
¿Por qué está afectando a todos los demás?
un nodo que no es confiable (99 % disponible) puede interrumpir muchas rutas de pago.
un nodo no confiable afecta a todos sus pares como buenos nodos.
un nodo no confiable bloqueará fondos en canales muertos, los pares dependen de esos fondos.
Explicaré aquí algunas buenas prácticas que un operador de nodo debe tener en cuenta para tener un buen nodo confiable. Realmente no importa si ejecuta un nodo para uso personal o comercial (comerciantes), lo que importa es cuánto se preocupa por su nodo.
ASPECTOS CLAVE
Apague/reinicie su nodo solo cuando sea necesario para algunas actualizaciones de software, limpieza de bases de datos, cambios en la configuración.
Mantenga su nodo en línea tanto como pueda y sea posible. Cerrar por un corto período de tiempo está bien, los canales estarán bien, nadie los cerrará si anuncia el período de mantenimiento a sus pares.
Utilice un SAI (Sistema de Alimentación Ininterrumpida) con suficiente duración de batería para mantener su máquina nodo + router de internet en línea en caso de cortes de energía. O al menos tiempo suficiente para que lo apagues en modo de gracia, si la energía está apagada por más horas o días. Importante es proteger sus datos de pérdida y corrupción.
Si su presupuesto y su uso del nodo son muy importantes para una empresa, utilice una máquina con implementación RAID. No software, sino hardware RAID.
Hardware. Es muy importante tener hardware confiable, no juguetes. Los juguetes son buenos para empezar a aprender, porque son baratos, pero no son fiables a largo plazo. Así que elija sabiamente su hardware, según su "etapa" (aprendizaje, avance, producción, empresa).
¡Haz copias de seguridad! Las copias de seguridad son como caídas de precios de BTC, nunca se sabe cuándo se necesitan. Así que hazlos periódicamente.
- LND está escribiendo todo el tiempo en channel.db y wallet.db y contiene todos los datos importantes. Estos son los archivos más importantes de su nodo. Todo el resto se puede reconstruir fácilmente en cualquier momento. Pero estos 2 archivos no se pueden respaldar en tiempo real y solo la última versión es válida.
- La copia de seguridad de SCB es como una exportación liviana de canales.db, en un momento específico, que contiene información básica sobre sus canales, suficiente para cerrarlos y recuperar los fondos en cadena.
- La implementación de CLN está usando otro tipo de archivos, en hsm.secret y es mucho más fácil hacer copias de esta base de datos.
PRÁCTICAS DE CASOS DE USO
A. Hardware
Cuando comienzas con un nuevo nodo, lo primero que debes preguntarte es: ¿para qué estoy usando este nodo? Luego, construya el hardware de su máquina en función de la necesidad y pase a tiempo a otra configuración solo cuando sea necesario.
Máquina de aprendizaje/estudio
A este nivel podría estar cualquier máquina RaspberryPi, barata, fácil de instalar y montar, de bajo consumo y bonita. No confíe demasiado en estas pequeñas máquinas. Para practicar y aprender son muy buenos, aprenderás mucho. Pero no son 100% fiables.
Además, incluso si opta por un dispositivo Rpi, al menos use una memoria RAM mínima de 8 GB y una buena unidad SSD. También el adaptador de corriente es muy importante. Una defectuosa o no original creará una serie de averías en cascada y no sabrás por qué. Es por ese pequeño adaptador de corriente.
Las tarjetas mSD también están fallando mucho, así que siempre tenga una copia de seguridad de repuesto, lista para instalar y para reemplazar la anterior en caso de falla. Estos son muy sensibles a los cortes de energía.
Estas diminutas máquinas son famosas por la tasa de fallos, por varias razones. Por lo tanto, incluso si está en "fase de aprendizaje", se recomienda utilizar un SAI. Le dará más tranquilidad y un buen sueño por la noche.
Máquina avanzada
Cuando esté listo y haya aprendido más sobre cómo ejecutar un nodo, es hora de elevar su nivel de hardware. Ahora desea una máquina más confiable, que pueda manejar más conexiones, más canales, pagos más rápidos y que le dé la tranquilidad de que sus fondos no se bloquearán en días o semanas en modo de recuperación debido a un bloqueo.
Si tu presupuesto no es tan "generoso" puedes optar por una buena máquina de sobremesa de segunda mano. Hoy en día, muchas oficinas están vendiendo sus máquinas de 1 a 2 años por centavos. Y algunos de ellos, incluso barebones, son muy buenas máquinas para un nodo. Por lo general, ya vienen con un mínimo de 8 GB de RAM, a veces se venden con 16 GB (!!!).
¿Por qué barebones?
porque son relativamente pequeños (el mío es del mismo tamaño que un RPi y no tiene ventilador)
porque en algunos de ellos puede agregar 2 unidades SSD o incluso unidades NVM (incluso mucho mejor que SSD)
porque tienen mejor ventilación y algunos de ellos pasivos (sin ventiladores ruidosos)
porque te deshaces de la conexión de la unidad USB que usa un dispositivo RPi. Esa conexión USB es el punto más débil para un nodo RPi.
porque el hardware es más robusto y duradero que un RPi.
CPU, realmente no importa, solo agregue 2 buenas unidades SSD para RAID y ¡listo!
Un SAI sigue siendo imprescindible. ¿Por qué? Porque, por lo general, cuando ocurre un corte de energía, regresa con diferentes voltajes, picos, amperios, o simplemente parpadea, etc. Eso podría dañar la fuente de alimentación de su máquina. Normalmente la fuente de alimentación es la primera que cae, protegiendo a las demás. Pero nunca se sabe. Un UPS mantendrá un buen y saludable flujo de electricidad a su máquina y también mantendrá en línea la conexión a Internet.
Recuerde: un nodo no necesita ser elegante, debe ser confiable.
Recomendaría aquí encontrar una buena máquina, con chip RAID en la placa base, que pueda manejar al menos la configuración RAID 1 a nivel de BIOS. ¿Qué significa esto? Significa que puede construir un volumen RAID, directamente en BIOS, desde 2 unidades, por lo que los datos se escriben al mismo tiempo en ambos discos. Entonces, si una unidad se "enferma" o muere, aún puede tener sus datos seguros en la unidad gemela, aún en funcionamiento. Puede apagar su máquina, reemplazar la unidad enferma y el sistema RAID reconstruirá el sistema RAID gemelo a partir del sano en pocos minutos. Sin pérdida de datos, sin canales cerrados, sin pérdida de fondos.
Máquina empresarial
Cuando ejecuta un nodo para un negocio serio que depende al 100% de ese nodo, es hora de que piense seriamente en tener una máquina de nodo 24/7/365. Solo la parte central del nodo, no las aplicaciones que instala en la parte superior. Habiendo asegurado su nodo central, le brinda más flexibilidad sobre dónde y cómo administra sus aplicaciones y soluciones empresariales.
Recomendaría el siguiente escenario para esto:
utiliza una solución de nodo alojado (Voltage, Nodl, VPS de nodo dedicado) que es administrada por profesionales en arquitectura de nodos, brindando solo la parte Core (Bitcoin + nodo LN) con alta disponibilidad y soporte.
use cualquier otra máquina, podría ser en casa/oficina/VPS remoto donde instala las aplicaciones necesarias para administrar su nodo: BTCPay, LNbits, Thunderhub, RTL, etc. y apunta su configuración hacia su nodo LN remoto.
Eso es todo lo que necesita para una solución de alta disponibilidad, con casi cero posibilidades de perder fondos, canales, pares, tiempo, clientes, etc.
B. Copia de seguridad y restauración de datos
Lo más importante es la semilla de la billetera. Esto es lo primero que debe guardar y mantener seguro, por ejemplo, en un administrador de contraseñas fuera de línea (Keepass o Vaultwarden).
Copias de seguridad de la base de datos de los nodos LND
Para los nodos LND, hay dos tipos de almacenamiento de datos que se pueden recuperar:
Copias de seguridad SCB - una copia sin conexión del estado de sus canales, que contiene solo la información suficiente para cerrar los canales (junto con su semilla) y recuperar los fondos de los canales en su billetera en cadena. Tenga en cuenta: ¡este archivo channel.backup SOLO se puede usar con su semilla de nodo! Haga una copia de este archivo SCB cada vez que abra y/o cierre un canal. O cree secuencias de comandos que puedan crear este archivo SCB en la unidad local cada vez que abre/cierra canales y luego sincroniza el archivo en una ubicación remota. No tiene que ser en cada transacción que haya realizado con su nodo.
Último estado de channels.db y wallet.db. Estos archivos NO PUEDEN ser respaldados sobre la marcha o incluso si apaga el nodo y hace una copia, no son útiles, porque una vez que inicie el nodo nuevamente, se cambiará.
Por "último estado" se entiende SÓLO el estado antes de recuperar un nodo inactivo. Cuando su máquina está muerta por razones de hardware o no está iniciando el software, pero aún puede acceder a los archivos. Luego haga una copia de estos 2 archivos en una unidad externa (podría ser grande) y utilícelos más tarde después de reconstruir el nuevo nodo.
Tiene 2 formas de restaurar/recuperar un nodo LND:
A. SIN estado de los canales
Para recuperar sus fondos SIN los canales, puede usar la copia de seguridad de SCB que se cerrará automáticamente y recuperará los fondos en la billetera en cadena. Esta es la forma más fácil y la describo en esta guía en los puntos 1 y 3.
Le sugiero encarecidamente que use la opción 3 y mientras recupera los fondos en Blixt, puede reconstruir una nueva ID de nodo, una nueva semilla, una nueva billetera, una nueva identidad con su máquina anterior. Más tarde, puede mover los fondos a su nuevo nodo desde Blixt o simplemente usarlos como un nodo móvil privado, como un pequeño nodo complementario para su nodo doméstico.
B - CON ultimo estado de los canales
Para restaurar un nodo CON los canales intactos, como estaba en el último estado, deberá realizar algunos pasos para preparar el entorno (explicado en esta guía, punto 7 u 8).
Si su nodo se bloqueó, pero aún puede acceder a los archivos, este es el mejor momento de suerte, tiene 2 tareas que hacer:
1. Copie el formulario wallet.db y channel.db que "no inicia" el nodo en otro lugar, fuera. channel.db podría ser grande, por lo que no basta con una memoria USB. Comprueba primero su tamaño.
2. Una vez que tenga esos 2 archivos seguros, comience a construir su nodo completo desde cero o si tiene una copia anterior, restáurelo por completo. ¡SÉ CONSCIENTE! cuando restaure, si puede omitir esos 2 archivos, si no, tendrá que sobrescribirlos con la última copia que acaba de sacar de ese nodo inactivo. Siempre tiene que ser el último estado.
Cuando reconstruya el software del nodo, elija la opción "restaurar desde la semilla" para que pueda tener el mismo ID de nodo y las mismas claves de cifrado de su nodo anterior, pudiendo usar el mismo wallet.db y channel.db. Si usa otra semilla/ID de nodo, esos archivos no se pueden usar, ¡no se pueden desbloquear!
Esta es la parte donde tienes que "reconstruir" las carpetas de datos. Si no restaura desde una copia completa que ya contiene esas carpetas donde antes estaban la billetera y channel.db, deberá instalar el software del nodo desde cero, dejar que comience, reconstruir las carpetas y sincronizar db y luego detener eso. Copie los 2 archivos en su ubicación y reinicie el nodo. Hecho.
Luego puede reiniciar su nodo. Comenzará a ponerse al día y reutilizará los 2 archivos muy bien, todos sus canales estarán allí, solo tomará un tiempo ponerse al día con los bloques y sincronizarse.
Copias de seguridad de la base de datos de los nodos CLN
Para estos nodos, la implementación es mucho más fácil y es solo una copia recursiva de un pequeño archivo de base de datos simple hsm_secret.
Todo el proceso se explica en esta guía manual para CLN.
C. Mantenimiento y actualizaciones de software
Bien, muchos usuarios preguntaron acerca de las actualizaciones y con qué frecuencia hacerlo.
La respuesta es simple: en cualquier momento es necesario. Exactamente, no todo el tiempo, pero solo cuando es necesario.
¿Por qué? Porque no se necesita todo el tiempo :) Si algo funciona bien sin errores, una nueva versión no significa automáticamente mejor. Nuevas funciones o aplicaciones que no las usas, no significa que debas actualizar. La estabilidad es más importante que las cosas nuevas.
Recomendaciones:
no se apresure a actualizar el software de su nodo de forma impulsiva, inmediatamente después de su lanzamiento o si ni siquiera soluciona los problemas de su nodo. Algunas actualizaciones son menores, otras son importantes.
Lea atentamente las notas de la versión y vea si la actualización es una ventaja o está solucionando un error que tuvo con su nodo. Si no te afecta directamente, no hay necesidad de saltar y hacer la actualización. Espere un lanzamiento más importante. A veces, también las actualizaciones de lanzamiento rápido pueden contener errores, no verificados a tiempo por los desarrolladores. Mierda puede pasar, ellos también son humanos. Así que espere 1 o 2 días más y vea lo que dicen otros usuarios impacientes después de actualizar.
Las actualizaciones del sistema operativo son más importantes que las actualizaciones de software del nodo. Por lo tanto, verifique con más frecuencia las actualizaciones del sistema operativo y hágalo cuando sea necesario.
Cuando actualice el sistema operativo, siempre, primero detenga el nodo. Algunos requisitos pueden ser componentes docker u otros módulos que afecten al software del nodo. Entonces, el sistema operativo se actualiza y apaga la máquina. Eso sí, no simplemente reiniciar, sino apagar, dejarlo unos segundos para borrar la memoria y empezar de nuevo. Esta es una buena práctica también para mantener los clústeres de unidades en buen estado y limpiar la memoria de cosas malas.
Siempre, antes de actualizar el software del nodo, actualice primero el sistema operativo.
Los usuarios de RPi generalmente no tienen que hacer actualizaciones del sistema operativo, porque el software del nodo está integrado junto con el sistema operativo, generalmente es una versión modificada del sistema operativo Debian, adaptada para RPi.
Para los usuarios non-RPi, recomiendo enfáticamente usar como sistema operativo un Linux Debian. Es más robusto, mejor verifica el sistema de archivos, menos elementos de escritorio innecesarios y sofisticados, para un sistema operativo de nodo debe ser minimalista, no lo está usando todo el tiempo.
No complique las cosas con máquinas virtuales, servidores Ubuntu que solo consumen una gran cantidad de recursos. Un nodo no necesita eso. Solo necesita la base para ejecutar un nodo.
Creo que estos son suficientes aspectos para ti, el nuevo operador de nodos, que comienza ahora tu viaje a este fascinante mundo de los nodos.
Espero que esté ejecutando el mejor nodo que pueda y le di suficiente información para ejecutar un nodo en buenas condiciones. ¡Happy Lightning!
QUE EL ₿ITCOIN TE ACOMPAÑE!
Si aprecia las guias de DarthCoin, puede enviar algunos satoshis a través de Lightning Address: darthcoin@getalby.com or darthcoin@stacker.news or darthcoin.blink.sv
o con Cashu Address a darthcoin@minibits.cash
Si no desea suscribirse en Substack, todas las guías de Bitcoin de Darthcoin también se anuncian en este canal de Telegram dedicado, para una fácil búsqueda.
Para suscribirse en Substack, haga clic aquí: