Compactar la base de datos LND (channel.db)
Un archivo channel.db de más de 1 GB no funciona en sistemas de 32 bits: https://github.com/lightningnetwork/lnd/issues/4811
1
# verifique el tamaño del archivo channel.db
2
sudo du -h /mnt/hdd/lnd/data/graph/mainnet/channel.db
3
# resultado de ejemplo
4
# 1.0G /mnt/hdd/lnd/data/graph/mainnet/channel.db
Copied!

Auto-compactar al reiniciar

Desde LND v0.12.0 se puede configurar db.bolt.auto-compact=true en el lnd.conf.
  • Para editar:
    sudo nano /mnt/hdd/lnd/lnd.conf
  • inserte lo siguiente (puede descartar los comentarios):
    1
    [bolt]
    2
    # Whether the databases used within lnd should automatically be compacted on
    3
    # every startup (and if the database has the configured minimum age). This is
    4
    # disabled by default because it requires additional disk space to be available
    5
    # during the compaction that is freed afterwards. In general compaction leads to
    6
    # smaller database files.
    7
    db.bolt.auto-compact=true
    8
    # How long ago the last compaction of a database file must be for it to be
    9
    # considered for auto compaction again. Can be set to 0 to compact on every
    10
    # startup. (default: 168h)
    11
    # db.bolt.auto-compact-min-age=0
    Copied!
  • reinicie lnd:
    sudo systemctl restart lnd
  • monitoree el proceso (puede tomar varios minutos):
    sudo tail -fn 30 /mnt/hdd/lnd/logs/bitcoin/mainnet/lnd.log
  • Es posible deshabilitar el auto-compactado en lnd.conf y activarlo bajo demanda para evitar tiempos de inicio prolongados:
    1
    db.bolt.auto-compact=false
    Copied!

Compactar con Channels Tools

  • Ejecute los siguientes comandos en la terminal RaspiBlitz
    Vea los comentarios para verificar lo que hace cada comando.
1
# instale chantools
2
# descargar, inspeccionar y ejecutar el script de instalación
3
wget https://raw.githubusercontent.com/openoms/lightning-node-management/master/lnd.updates/bonus.chantools.sh
4
cat bonus.chantools.sh
5
bash bonus.chantools.sh on
6
7
# pare lnd
8
sudo systemctl stop lnd
9
10
# cambiar al directorio de inicio del usuario bitcoin
11
sudo su - bitcoin
12
13
# ejecutar la compactación
14
chantools compactdb --sourcedb /mnt/hdd/lnd/data/graph/mainnet/channel.db \
15
--destdb /mnt/hdd/lnd/data/graph/mainnet/compacted.db
16
17
# verifique el tamaño de compacted.db
18
# (la primera compactación tendrá el mayor efecto)
19
du -h /mnt/hdd/lnd/data/graph/mainnet/compacted.db
20
# ejemplo:
21
# 730M /mnt/hdd/lnd/data/graph/mainnet/compacted.db
22
23
# asegúrese que lnd no esté ejecutandose (necesita sudo)
24
exit
25
sudo systemctl stop lnd
26
sudo su - bitcoin
27
28
# haga un backup de la base de datos original
29
mv /mnt/hdd/lnd/data/graph/mainnet/channel.db \
30
/mnt/hdd/lnd/data/graph/mainnet/uncompacted.db
31
32
# mover la base de datos compactada en lugar de la antigua
33
mv /mnt/hdd/lnd/data/graph/mainnet/compacted.db \
34
/mnt/hdd/lnd/data/graph/mainnet/channel.db
35
36
# Salir del usuario de bitcoin a admin
37
exit
38
39
# iniciar lnd
40
sudo systemctl start lnd
41
42
# desbloquear la billetera
43
lncli unlock
Copied!