Aggiornamento Discourse fallito per spazio su disco insufficiente su droplet da 25G

18G /var

du -h -s /var/* | sort -h -r
14G     /var/lib
2.8G    /var/log
933M    /var/discourse
du -h -s /var/lib/* | sort -h -r
13G     /var/lib/docker
744M    /var/lib/snapd
root@DO-Discourse:/var/discourse# du -h -s /var/lib/docker/* | sort -h -r
13G     /var/lib/docker/overlay2
16M     /var/lib/docker/image
root@DO-Discourse:/var/discourse# du -h -s /var/lib/docker/overlay2/* | sort -h -r
8.7G    /var/lib/docker/overlay2/d319d95263d87c2a75a4bc9a9f03a25ea7f6eb1f7bac687e7ae7d45522939dc0
2.8G    /var/lib/docker/overlay2/79be56509f1588c272683332ef50abd54f0aeb06d0e2d13f8eea1bace3b3db46
873M    /var/lib/docker/overlay2/5b148cbbcca894be512c7407568104cd7b2e3d48ab7b7d74c6c0f731806cdddc

Vale la pena andare oltre?

Eliminati 2,8 GB di log, il che mi ha portato solo a 4,9 GB. Non ho un’istanza di “test” per provare ./launcher rebuild app --skip-prereqs

Altri suggerimenti?

Non è più possibile eseguire un’istanza discourse su un droplet da 25 GB?

Vedi la fine di Prune unused Docker objects | Docker Docs

Penso che tu voglia eliminare tutto ed eliminare i volumi.

docker system prune --volumes
ATTENZIONE! Questo rimuoverà:
  - tutti i container arrestati
  - tutte le reti non utilizzate da almeno un container
  - tutti i volumi non utilizzati da almeno un container
  - tutte le immagini dangling
  - tutta la cache di build dangling

Sei sicuro di voler continuare? [y/N] y
Spazio totale recuperato: 0B
root@DO-Discourse:/# 

Altri suggerimenti?

Hai qualche utilizzo per snap?

Non proprio, è abbastanza indicativo che lo spazio venga consumato da docker per i tuoi container. Dopo una pulizia, i miei numeri sono molto simili ai tuoi, il che forse (ma non necessariamente) indica solo quanto spazio utilizza.

Ho avuto problemi con un Linode da 25 GB, tuttavia era con backup da 500 MB+, eliminando due o tre backup ho ottenuto abbastanza spazio per ricostruire. Ho optato per passare al livello successivo con 50 GB perché sarebbe diventato sempre più restrittivo e volevo ricostruire con un cron job mensile.

Quello è successo prima del passaggio a Ember CLI, potrebbe aver reso le cose significativamente più grandi?

Quell’overlay da 9 GB sembra essere il problema. Ma ne ho uno di dimensioni simili su un’altra istanza che ho appena controllato. È sempre stato difficile con 25 GB. Ti consiglio di fare il sacrificio e acquistare un altro SSD. La prossima cosa che potresti provare è vedere se c’è qualcosa a livello di sistema operativo che puoi rimuovere (log, programmi non necessari, indici da find, forse?).

Un’altra idea sarebbe quella di creare una nuova VM da 25 GB e spostarti lì, sperando che qualunque cosa abbia riempito quella vecchia non sia un problema questa volta.

Nessuna di queste risposte sembra particolarmente soddisfacente. Ho lottato duramente con un droplet da 25 GB su una o due istanze che aiuto a gestire nelle ultime settimane, ma penso che tu abbia fatto tutto ciò che ho fatto io.

3 Mi Piace

Non sono sicuro. Ne ho bisogno per un’installazione solo discourse? E in caso contrario, come lo elimino?

Non credo :thinking:
dopo un backup completo, potresti eseguire snap list per verificare quali snap sono installati e, se nessuno, sudo apt purge snapd

root@DO-Discourse:/var/discourse# snap list
Name    Version        Rev    Tracking       Publisher   Notes
core18  20220309       2344   latest/stable  canonical✓  base
core20  20220304       1376   latest/stable  canonical✓  base
lxd     4.0.9-8e2046b  22753  4.0/stable/…   canonical✓  -
snapd   2.54.4         15177  latest/stable  canonical✓  snapd
root@DO-Discourse:/var/discourse# 

Cosa sono questi overlay? Posso eliminarli?

Ciao Andy, scusa per il ritardo.
A questo punto, tieni presente che senza conoscere il tuo sistema host, è facile guidarti verso un precipizio, quindi backup/snapshot/ecc… (o anche fare un backup, avviare una nuova istanza e testare il processo di ripristino, è stato un buon esercizio per me)
Supponendo che non utilizzi lxd (lxc list dovrebbe mostrare i container installati) snap remove lxd (e poi core18 e 20)

1 Mi Piace

Puoi condividere l’output di docker images e docker ps -a?

Grazie per il tuo aiuto. Sì, so così poco di Linux, quindi apprezzo pienamente il consiglio di fare il backup. Ho uno snapshot automatico e ne faccio uno manuale ogni volta che armeggio come adesso.

Non ho idea di cosa sia lxd. Non ho bisogno di nulla su questo droplet che discourse/docker non necessiti, dato che è esclusivamente un droplet discourse.

1 Mi Piace
root@DO-Discourse:/var/discourse# docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
local_discourse/app   latest    3dac608caa92   4 months ago   3.17GB
root@DO-Discourse:/var/discourse#
root@DO-Discourse:/var/discourse# docker ps -a
CONTAINER ID   IMAGE                 COMMAND        CREATED        STATUS        PORTS                                      NAMES
9abaf4517b7e   local_discourse/app   “/sbin/boot”   4 months ago   Up 4 months   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   app
root@DO-Discourse:/var/discourse#

Considerando

e

Penso che tu abbia alcuni layer orfani nella tua cartella overlay2.

Vedi questa risposta di StackOverflow per una guida:

3 Mi Piace

Grazie.
È un po’ complicato per me, sarebbe sicuro fare uno snapshot e poi eliminarli e vedere cosa succede?

1 Mi Piace

Penso che sia sicuro eliminare tutte quelle immagini. Se ti servono, verranno sostituite quando ricostruirai.

Fare uno snapshot non è una cattiva idea.

Quello che farei è semplicemente avviare una nuova istanza; è la cosa più sicura e probabilmente più veloce di uno snapshot, ma se non è divertente o istruttivo sapere come farlo, la tua idea va bene.

2 Mi Piace

Ho eliminato una delle immagini e ha funzionato!

Grazie a tutti per il vostro aiuto.

2 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.