Sto cercando di eseguire un ripristino su un’istanza di Discourse appena installata e sto ricevendo questo errore da CLI:
ERROR: could not extend file "base/16384/17011337": wrote only 4096 of 8192 bytes at block 15860
HINT: Check free disk space.
EXCEPTION: psql failed: HINT: Check free disk space.
Il file di backup che sto cercando di ripristinare è di 22 GB (gzip compresso) e ho 198 GB liberi sul server, quindi mi sembra impossibile che si tratti davvero di un problema di spazio su disco. Hai idea del perché stia segnalando questo errore?
Hai un’idea delle dimensioni in formato non compresso? Inoltre, questo non tiene conto degli indici, quindi potresti provare su un server con più spazio su disco?
Puoi anche controllare le partizioni del disco. È possibile che tu abbia 198 GB liberi sul server, ma il server abbia più di una partizione, come sono sicuro tu sappia. Forse potresti rispondere con l’output del comando df?
Credo che il database fosse di circa 40 GB non compresso. Ho eseguito un backup della bacheca dopo l’importazione da un altro software per forum, quindi ho dato per scontato che un ripristino non avrebbe creato problemi. Prima non ero certo a corto di spazio su disco. Potrei aggiungere un po’ più di spazio, ma pensavo semplicemente che non ci fosse alcuna possibilità che fosse necessario più di tre volte la dimensione del database.
Tutto è partizionato su /, quindi non credo ci siano problemi in tal senso:
L’ho provato in entrambi i modi, ma più recentemente da riga di comando. Proverò ad aumentare lo spazio su disco e poi monitorerò l’utilizzo mentre l’importazione procede.
Conserva i contenuti del tuo forum. Abbiamo istanze di Discourse da 1 GB e da 500 GB, dipende da quanta attività c’è
C’è una query per conoscere la dimensione di ogni tabella nell’argomento Aggiornamento PostgreSQL 13, forse puoi provare a eseguirla e pubblicare qui i risultati?
So che abbiamo molti contenuti. Ma sembra che il requisito di spazio sia aumentato semplicemente eseguendo un backup e un ripristino. Avevamo oltre 100 GB di spazio libero prima del backup, quindi ho pensato che non ci sarebbero stati problemi nel ripristino, ma l’operazione di ripristino ha richiesto molto più spazio del previsto. Sembra che sia mancato solo un po’.
Sto cercando di eseguire la query per mostrare i 20 oggetti più grandi nel database, ma è in esecuzione da circa un’ora e non ho idea di quanto tempo ci vorrà prima che si completi.
Verifica se i backup e i ripristini degli schemi sono ancora presenti. Quando un ripristino o un backup fallisce in modo catastrofico (ad esempio per mancanza di spazio), potrebbero rimanere nel sistema. Abbiamo un processo in background che li pulisce settimanalmente, ma potresti voler eseguirlo prima.
Visita /sidekiq/scheduler e cerca Jobs::DropBackupSchema, quindi clicca su “trigger”.
Se hai un backup completo, avrai 3 copie: il backup completo, il dump del database al suo interno e il database ripristinato, più il database che era presente all’inizio.