Corruzione strisciante in Time Machine
4 giugno 2010 in Mac
Nelle scorse settimane ho avuto più volte problemi legati al file sparsebundle che Time Machine crea quando lavora su un disco in rete. In pratica è una speciale immagine disco che viene creata sul supporto di backup e montata sul Mac ogni volta che si esegue la copia di sicurezza. Lo svantaggio è che se questa immagine si corrompe, tutti i dati sono persi, come se fosse rovinato il disco.
Il motivo della corruzione non mi è ancora ben chiaro, forse dipende dal fatto che ho iniziato a usare il disco di backup anche con un altro software per fare copie di sicurezza del PowerBook sul quale è montato Tiger, che non offre Time Machine. In ogni caso, ho provato più volte a riparare lo sparsebundle usando Utility Disco, ma senza successo.
Fortunatamente poi ho trovato questa guida, che voglio condividere con voi, e tradurre per i non anglofoni e i meno esperti.
Si tratta, in pratica, di usare il potente terminale di OSX per dare alcuni comandi direttamente, senza passare dall’interfaccia di Utility Disco che, a quanto sembra, non offre tutte le funzionalità necessarie.
Dopo esservi ricordati di disattivare Time Machine, aprite il terminale. Prima di tutto, per i più a digiuno di riga di comando, dovete andare nella directory nella quale OSX ospita i dischi esterni. Si tratta di digitare il comando
cd /Volumes/NOMEDISCO
dove NOMEDISCO è appunto il nome del volume di rete, in questo caso. Se ci fosse qualche errore, significa che OSX ha assegnato un nome leggermente diverso alla directory. Se succedesse, digitate semplicemente cd /Volumes e poi il comando ls, che vi fornirà un listato di tutti i files e directory presenti sotto Volumes. Potrete facilmente capire qual è la directory giusta che cercate.
A questo punto procedete con il primo comando del tutorial:
hdiutil attach -nomount -readwrite nomefile.sparsebundle
sostituendo naturalmente nomefile.sparsebundle con il vostro file di Time Machine corrotto.
Quindi, se tutto va bene, potrete digitare il secondo comando
fsck_hfs -rf /dev/disk1s2
che lancia la riparazione del disco. Il terminale vi informerà che sta compiendo diverse operazioni, e dovrete solo aspettare un tempo variabile a seconda della dimensione del file e della velocità della vostra rete. Nel mio caso, il file era grosso circa 50 GB e l’operazione ha impiegato tre quarti d’ora.
Il risultato dovrebbe essere più o meno così:
Questo ovviamente nel caso idilliaco perfettissimo descritto nel tutorial. Non avendo invece fortuna (come me ), potrete incontrare due ostacoli:
- dopo il comando hdiutil, o dopo fsck, il sistema vi informa che il file è in qualche modo bloccato, in uso, o non accessibile. Significa che OSX sta già lavorando sull’immagine corrotta a vostra insaputa, e quindi non potete fare nulla. In questo caso, provate ad aprire Utility Disco, espellendo l’immagine (la trovate nella barra a sinistra, sotto ai vostri hard disk), oppure fate partire una riparazione, che dovrebbe sbloccarla anche se si concluderà quasi sicuramente con un errore. Male che vada, riavviate il mac.
- la prima volta che tentate la riparazione con fsck, invece del messaggio simpatico di successo il terminale potrebbe dirvi che la riparazione non è riuscita. Anche dopo questa brutta notizia, non disperate: raccogliete l’energia del vostro qi, e riprovateci. Il mio Mac ha impiegato tre tentativi, ma alla fine ce l’ha fatta.
Buona lotta alla corruzione!
macteo ha detto 4 giugno 2010
Aggiungo all’ottimo tutorial, di *NON ESEGUIRE MAI* l’fsck_hfs in maniera forzata (opzione -f).
Questo perchè si andrebbe ad eseguire il check del filesystem anche se altri processi ci stanno accedendo, *BRASANDO DEFINITIVAMENTE IL FILE*.
Giusto un appuntino
Ottimo tip.
Ciao
Dany90 ha detto 4 giugno 2010
Utile articolo. Grazie
Anche se fortunatamente nn ho di questi problemi in questo momento…
Belinde ha detto 4 giugno 2010
…da linuxaro convinto, non posso che ghignare soddisfatto ogniqualvolta utenti di altri S.O. si trovano costretti ad usare uno strumento a loro completamente alieno: la shell!
pepo154 ha detto 4 giugno 2010
Ti ringrazio veramente tanto per la guida!
Anche io ho notato della corruzione dei volumi e secondo me è stato Spotlight.
Avevo aperto un volume su un altro Mac con Snow, che lo monta come DMG classico, Spotlight ha iniziato a elaborare mentre io prendevo qualche file che mi interessava.
Dopo qualche giorno puntualmente è arrivata la corruzione del volume.
Sinceramente essendo “solo” un volume di backup l’ho rifatto da zero. C’è da dire che ultimamente è anche uscito un “aggiornamento TimeMachine” su alcuni Mac che possiedo in Aggiornamento Software e da allora non c’è stato nessuna corruzione, booooh.
danosavi ha detto 4 giugno 2010
@Belinde: accetto naturalmente lo sfottò simpatico, ma da macaco-linuxaro ti assicuro che su OSX bash non è affatto completamente alieno, anzi Chiaramente la maggior parte degli utenti non la conosce, ma penso sia giusto così, un po’ come sul mio netbook con Ubuntu, dove la shell la uso quando è necessario
@pepo154: io non lo so, so solo che me lo ha fatto su tre mac diversi. Infatti pensavo che fosse il disco di backup rovinato, e l’ho sostituito con un altro che avevo in casa sicuramente funzionante, ma ieri mi ha ridato lo stesso problema.
E’ vero che essendo un backup basta rifarlo (anche se si perde un po’ di ore, essendo in rete), ma il problema è che me lo sta dando spesso, a distanza di pochi giorni. Ora comunque ho provato a disattivare tutti gli accessi a quel disco, tranne Time Machine, e vedrò. La cosa strana è che per parecchi mesi è andato avanti senza problemi…a meno che non sia un bachetto introdotto in qualche aggiornamento sballato
pepo154 ha detto 4 giugno 2010
A me invece a distanza di qualche mese si corrompeva, metti una volta ogni 6 mesi!
A distanza di pochi giorni è veramente fastidioso!
Alessandro ha detto 11 maggio 2011
Aiuto mi si è rotto hard disk, ho dovuto sostituirlo convinto di recuperare tutto da time machine ma non mi fa aprire il file, ho seguito le tue istruzioni ma mi succede questo:
Last login: Wed May 11 19:23:36 on ttys000
MacBook-di-Alessandro-Palazzolo:~ Alessandro$ cd /Volumes/MyShare
MacBook-di-Alessandro-Palazzolo:MyShare Alessandro$ hdiutil attach -nomount -readwrite MacBook di Alessandro Palazzolo .sparsebundle
hdiutil: attach: extra image argument “di” – “MacBook” already specified
Usage: hdiutil attach [options]
hdiutil attach -help
MacBook-di-Alessandro-Palazzolo:MyShare Alessandro$ fsck_hfs -rf /dev/disk1s2
/dev/disk1s2: No such file or directory
Can’t stat /dev/disk1s2
Can’t stat /dev/disk1s2: No such file or directory
MacBook-di-Alessandro-Palazzolo:MyShare Alessandro$
Aiuto sono disperato
danosavi ha detto 11 maggio 2011
CIao, il secondo comando non va a buon fine perché non puoi usare gli spazi nei nomi dei file nel terminale. Se il tuo volume di Time Machine ha degli spazi, devi metterlo all’interno delle virgolette.
hdiutil attach -nomount -readwrite “MacBook di Alessandro Palazzolo.sparsebundle”
A questo punto la procedura dovrebbe continuare, ma purtroppo non è garantita la riuscita, dipende da quanto si è rovinata l’immagine.
Alessandro ha detto 12 maggio 2011
Ho provato a mettere le virgolette ma niente mi dice questo
Last login: Thu May 12 20:47:30 on ttys000
MacBook-di-Alessandro-Palazzolo:~ Alessandro$ cd /Volumes/MyShare
MacBook-di-Alessandro-Palazzolo:MyShare Alessandro$ hdiutil attach -nomount -readwrite “MacBook di Alessandro Palazzolo.sparsebundle”
hdiutil: attach: extra image argument “di” – ““MacBook” already specified
Usage: hdiutil attach [options]
hdiutil attach -help
MacBook-di-Alessandro-Palazzolo:MyShare Alessandro$ fsck_hfs -rf /dev/disk1s2
/dev/disk1s2: No such file or directory
Can’t stat /dev/disk1s2
Can’t stat /dev/disk1s2: No such file or directory
MacBook-di-Alessandro-Palazzolo:MyShare Alessandro$
altri consigli?
grazie
Alex ha detto 24 agosto 2011
Ho un problema con questa procedura, all’ultimo commando mi esce questa dicitura:
Imac:Time Capsule di Alessandro alex$ fsck_hfs -rf /dev/disk1s2
** /dev/rdisk1s2 (NO WRITE)
BTree rebuild requested but writing disabled
Imac:Time Capsule di Alessandro alex$ fsck_hfs -rf /dev/disk1s2
** /dev/rdisk1s2 (NO WRITE)
BTree rebuild requested but writing disabled
cosa posso fare?????
Grazie
p.s. per l’ultimo post di Alessandro se ancora serve tra l’ultima lettera e lo spazio metti uno
Alex ha detto 24 agosto 2011
Per completezza time capsule non mi vede più nessun backup …