# Ripristino fallito - estrazione file dump, nessun file o directory

**URL:** https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239
**Category:** Self-hosting
**Created:** [1 Luglio 2023, 6:59am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239 "2023-07-01T06:59:53Z")
**Posts on this page:** 16
**Page:** 1

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [1 Luglio 2023, 6:59am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/1 "2023-07-01T06:59:53Z")

</div>

Ciao a tutti - sto cercando di migrare da Discourse ospitato a self-hosting. Ho fatto un sacco di test di successo su varie cose, ma quando provo a fare la cosa reale, inclusi tutti gli upload, dopo un paio d’ore di estrazione dell’archivio, dice che nessun file o directory esiste quando si tenta di estrarre il file di dump. Quindi ora affronto la prospettiva di perdere circa 140 GB di upload, a meno che qualcuno non abbia qualche idea?

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [1 Luglio 2023, 8:02am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/2 "2023-07-01T08:02:39Z")

</div>

Puoi fornire il log?

Stai ripristinando dalla riga di comando o dall’interfaccia web? Consiglio l’interfaccia web.

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [1 Luglio 2023, 8:15am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/3 "2023-07-01T08:15:41Z")

</div>

Ciao, ho allegato il log all’email precedente, anche se lo allego di nuovo qui. Ho provato prima usando l’interfaccia web e poi la seconda volta tramite la riga di comando. Ho il sospetto che il backup possa essere corrotto in qualche modo, poiché non viene riconosciuto quando viene caricato su S3 e viene rifiutato quasi istantaneamente se provo a caricarlo tramite il browser.

[restore-failure-log.txt](https://meta.discourse.org/uploads/short-url/satUXX25l6jVieys64zOCaG0y9H.txt) (3,28 KB)

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [1 Luglio 2023, 8:29am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/4 "2023-07-01T08:29:00Z")

</div>

> [@megalithicrock](#):
>
> Ho il sospetto che il backup possa essere in qualche modo corrotto

Sembra proprio così. Hai caricato tramite browser web o con scp/rsync? Ti consiglierei di caricare di nuovo con rsync.

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [1 Luglio 2023, 8:41am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/5 "2023-07-01T08:41:02Z")

</div>

Ciao Jay, scusa se prima mi sono confuso, abbiamo anche avuto discussioni con Discourse via email durante questo processo di migrazione, ed è lì che ho allegato il file di log.

Guardando l’errore, sospetto che il tarball non contenga effettivamente uno sql dump, ma solo immagini. Il file è stato avviato e controllato da Discourse per nostro conto. L’ho scaricato tramite http e caricato sul server tramite scp, poiché l’upload tramite browser lo ha rifiutato.

Sì, ho appena eseguito un comando per ispezionare il contenuto del tarball e contiene solo immagini, nessun sql dump.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [1 Luglio 2023, 9:20am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/6 "2023-07-01T09:20:34Z")

</div>

Puoi verificare se le dimensioni del tarball sono esattamente le stesse?

- sull’istanza CDCK
- quello scaricato
- quello caricato tramite scp

Potresti voler usare `tar tfvz` per verificare se l’archivio non è troncato.

Potresti voler verificare se non stai esaurendo lo spazio su disco da qualche parte, poiché sono necessarie più volte le dimensioni dell’archivio.

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [1 Luglio 2023, 9:47am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/7 "2023-07-01T09:47:30Z")

</div>

Ok, sono uscito per un po’ ma controllerò più tardi. Lo spazio non dovrebbe essere un problema in quanto ho 512 GB e il file di backup è di 70 GB. Sono rimasto sorpreso che il file fosse di qualche GB più piccolo dell’ultimo che abbiamo creato, mi aspettavo che fosse leggermente più grande. Sono abbastanza sicuro che per qualche motivo non abbia incluso il dump SQL, che corrisponderebbe alla differenza di dimensioni.

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [3 Luglio 2023, 3:27pm UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/8 "2023-07-03T15:27:20Z")

</div>

Ciao @pfaffman @RGJ solo un aggiornamento su come è progredito questo. Il dump SQL mancava effettivamente dall’archivio scaricato e non ero sicuro se eseguire un backup separato del database e inserirlo nell’archivio avrebbe funzionato (e avrebbe richiesto diverse ore per testarlo). Quindi abbiamo finito per ripristinare il database e migrare (con successo).

Il problema ora è che non appena Discourse dismetterà tutto e spegnerà il bucket S3 / CDN, tutte le nostre immagini storiche si romperanno.

Ho tutte le immagini e penso di poterle caricare tutte sul nostro bucket S3 mantenendo la stessa struttura di cartelle. Ho visto alcuni thread che discutono della possibilità di utilizzare discourse.remap / dbhelper.remap per aggiornare in blocco i collegamenti a livello di database. Qualsiasi pensiero al riguardo molto apprezzato!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [3 Luglio 2023, 6:10pm UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/9 "2023-07-03T18:10:42Z")

</div>

> [@megalithicrock](#):
>
> Il dump SQL mancava effettivamente dall’archivio scaricato,

Non riesco a immaginare come sia potuto succedere. Il tuo browser ha in qualche modo decompresso e spacchettato il backup e tu hai cercato di rimettere tutto insieme?

> [@megalithicrock](#):
>
> Il problema ora è che non appena Discourse dismetterà tutto e spegnerà il bucket S3 / CDN, tutte le nostre immagini storiche si romperanno.

Puoi chiedere alla gente di [discourse.org](http://discourse.org) di darti un backup che includa i caricamenti. È quello che vuoi fare. Attivano un `include_s3_uploads_in_backup` (è vicino, ma quasi certamente non il nome dell’impostazione nascosta).

Puoi anche escogitare l’uso di strumenti S3 per scaricarli tutti dal loro bucket e ricaricarli. Ci sono un paio di argomenti a riguardo. Non lo consiglio.

Recentemente ho migrato un backup di circa 100 GB da CDCK a Digital Ocean, droplet, bucket spaces e CDN [bunny.net](http://bunny.net) per $ 1000. Mi dispiaceva.

> [@megalithicrock](#):
>
> il file di backup è di 70 GB.

È solo il database?

Oh, hai in qualche modo eseguito un ripristino solo del database anche se hai le immagini nel file tar?

Devi eseguire il ripristino del file esatto che hanno creato e far sì che Discourse lo ripristini. Quello che ha il database e i caricamenti. Oppure puoi guardare il codice di ripristino ed escogitare di fare a mano le cose che fa per rimappare le immagini nella nuova posizione. Sebbene pensi che Richard abbia le competenze e gli strumenti per farlo, non penso che tu voglia farlo in quel modo.

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [4 Luglio 2023, 7:28am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/10 "2023-07-04T07:28:02Z")

</div>

> [@pfaffman](#):
>
> Non riesco a immaginare come sia potuto succedere.

Abbiamo fatto un test un paio di mesi fa e tutto è andato bene. Penso che abbiano lasciato attiva quell’impostazione nascosta, poiché questa volta sono stato in grado di attivare un backup, inclusi i caricamenti dal backend, anche se dopo circa 12 ore abbiamo ricevuto una notifica che era fallito. Ho quindi contattato Discourse e mi hanno detto che avrebbero creato il backup dalla loro parte. Un paio d’ore dopo, il backup che avevo avviato sembrava essere completato, anche se abbiamo scartato il file come consigliato da Discourse. Hanno poi riscontrato una serie di problemi con i backup che andavano in timeout e restituivano errori, prima di comunicarci infine che c’era un file completo. Ma quando ho provato a ripristinare il file, dopo diverse ore per estrarre l’archivio, si è lamentato che il dump era mancante. Ispezionando il file usando tar -tf ho confermato che non c’era nessun dump al suo interno (guardando altri backup completi, di solito è il primo file nell’archivio). Dato che era domenica non ho potuto mettermi in contatto con Discourse, e avevamo promesso di completare la migrazione entro lunedì mattina, quindi ho effettuato solo un backup del database (circa 7 GB) e l’ho usato per migrare.

Discourse sta cercando di aiutare, ma c’è solo così tanto che possono fare ora, poiché abbiamo completato la migrazione e siamo nel nostro ambiente self-hosted da domenica pomeriggio. La soluzione più semplice sarebbe che mantenessero attivi il nostro bucket S3 e CDN (a pagamento), ma hanno detto che non è possibile. Penso che dovremo semplicemente perdere le immagini storiche, onestamente.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 Luglio 2023, 8:29am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/11 "2023-07-04T08:29:30Z")

</div>

> [@megalithicrock](#):
>
> Penso che dovremo semplicemente rinunciare alle immagini storiche, onestamente.

Questo è risolvibile. Basta scaricare il contenuto del bucket S3 nella directory di caricamento locale ed eseguire un `remap` sul database, riscrivendo gli URL del CDN e del bucket all’URL della tua istanza.

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [4 Luglio 2023, 8:53am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/12 "2023-07-04T08:53:47Z")

</div>

Un paio di problemi: la dimensione delle immagini caricate saturerebbe l’SSD del nostro nuovo VPS e non abbiamo la possibilità di collegare un disco aggiuntivo. Forse potremmo semplicemente prenderne un sottoinsieme, anche se non sono sicuro di come funzionerebbe guardando la struttura delle directory. Inoltre, abbiamo già configurato il sito per utilizzare S3 per i caricamenti invece dello storage locale.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [4 Luglio 2023, 8:56am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/13 "2023-07-04T08:56:04Z")

</div>

Ok, quindi copiare il loro S3 (o il backup da S3) nel tuo S3 e rimappare?

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [4 Luglio 2023, 8:57am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/14 "2023-07-04T08:57:10Z")

</div>

Sì, spero sia possibile!

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [4 Luglio 2023, 9:03am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/15 "2023-07-04T09:03:18Z")

</div>

Ah. Capisco. Sì, una volta che sei andato in diretta sei impegnato. È ancora del tutto possibile spostare i file su S3 prima che vengano eliminati.

> [@megalithicrock](#):
>
> Un paio di problemi: la dimensione delle immagini caricate saturerebbe l’SSD del nostro nuovo VPS

Hai sempre avuto bisogno di spazio sufficiente per contenere tutte le immagini per eseguire il ripristino. Potresti copiare le immagini una alla volta. Ci sono anche strumenti che copiano i file direttamente, credo.

---

<div class="post-metadata">

### Author: ![megalithicrock](https://avatars.discourse-cdn.com/v4/letter/m/f17d59/32.png) [@megalithicrock](https://meta.discourse.org/u/megalithicrock)
#### Post date: [4 Luglio 2023, 9:08am UTC](https://meta.discourse.org/t/restore-failure-extracting-dump-file-no-such-file-or-directory/270239/16 "2023-07-04T09:08:55Z")

</div>

Il piano originale prevedeva l’utilizzo di una VM Azure temporanea per il ripristino, con un disco di grandi dimensioni collegato, quindi la reinvio su S3, l’esecuzione di un altro backup una volta completato e infine lo spostamento sul nostro VPS (cercando di mantenere bassi i costi).

Quindi ho un tar.gz contenente tutti gli upload e posso inserirli direttamente nel nostro bucket S3 mantenendo la struttura delle directory (penso che l’uploader AWS standard possa farlo al giorno d’oggi, altrimenti c’è la CLI). Potrebbe esserci qualche considerazione sulla proprietà / permessi, anche se forse no.

Dopo di che ci sarebbe il remap - non sono sicuro della differenza tra discourse.remap e dbhelper.remap. Vorrei testare tutto questo su un’installazione fittizia con un paio di file prima.
