🎉 T-wiki 1.3.0 is released

Disco VM pieno

Come identicare il problema

  • Accedere al portale di Azure.
azure_worker_path
  • Selezionare un’istanza worker e accedere alla sua Serial Console.

  • Se tra i log della console, è presente spesso il seguente errore

Failed to open system journal: No space left on device

significa che, per quale che motivo, il disco della VM selezionata ha problemi di spazio.

  • Lanciare quindi il seguente comando per visualizzare l’occupazione del disco:
df -Th

Il comando tornerĂ  la seguente tabella:

df-Th

E’ evidente dalla tabella che il disco è pieno.

Come risolvere il problema

  • Lanciare il seguente comando per capire quale sia la cartella piena:
sudo du -xh --max-depth=1 / 2>/dev/null

Molto probabilmente il grosso dell’occupazione sarà sotto la cartella /var, quindi rilancio lo stesso comando per verificare le sottocartelle di /var:

sudo du -xh --max-depth=1 /var
  • Procedo così fino a che non arrivo ad ottenere la sottocartella “incriminata”. L’ultimo comando lanciato dovrebbe essere simile a questo:
sudo du -h --max-depth=1 /var/lib/docker/overlay2/6572bb8dc7431040a376ccdb7e1f17beb96a7b604cd60318bed3a35182969e3d
  • Lanciare quindi questo ultimo comando per trovare il container “incriminato”:
docker ps -q | xargs docker inspect --format '{{.Name}} {{.GraphDriver.Data.UpperDir}}' | grep 6572bb8dc7431040a376ccdb7e1f17beb96a7b604cd60318bed3a35182969e3d

Il comando tornerĂ  ad esempio:

/clouderp_worker_emystore.1.zuz5csru7ja4hvc7bc3aam5lk /var/lib/docker/overlay2/2e1dade02bfab44ff22c44916ad3380af662dd5bed6706763906405ed6f0d0ec/diff
  • Avendo trovato il servizio che sta riempiendo il disco, riavviarlo da Portainer.

  • Procedere quindi alla pulizia del disco, tramite il seguente comando (rispondendo “y” alla richiesta di proseguire):

docker system prune

Il comando tornerĂ  lo spazio svuotato.

  • Rilanciare il seguente comando per verificare che ora il disco risulta ripulito:
df -Th