Snow Leopard: backup su condivisione di rete samba/afp/…
UPDATE:
Il protocollo Samba non è più sopportato nella versione di Time Machine distribuita con Lion. Funziona solo AFP!!!
Intro
La versione di Time Machine distribuita con Snow Leopard (MacOSX 10.6.x) non funziona più con il vecchio arcinoto hack che permetteva di effettuare il backup su comuni cartelle condivise in rete da altri PC/server/NAS.
Non disperate! Fortunatamente è stato già scoperto come ovviare al problema.
Lo script tuttofare
[UPDATE del 14-Maggio-2010] per chi non crede nelle leggi di Murphy, ho preparato uno script che effettua tutta la procedura in modo automatico: universal_tm.sh
La procedura manuale
Per chi invece preferisce le cose manualmente, ecco la procedura passo-passo:
Supponiamo che:
- il PC di cui volete effettuare il backup con Time Machine si chiami pippo: per scoprire il nome del vostro PC è sufficiente aprire un terminale e osservare cosa appare prima del prompt, oppure usare il comando: uname -n|sed -e ‘s/\..*$//’
- lo spazio che volete dedicare al backup sia al massimo 100GB.
Prima di creare il volume per il backup con Time Machine dovete recuperare il mac address della scheda Ethernet. Potete ottenerlo semplicemente eseguendo il comando:
$ ifconfig en0|grep ether|cut -d ' ' -f 2|sed -e 's/://g'
Notate che dovrete utilizzare il mac address della scheda di rete LAN, non WLAN. Questo anche nel caso intendiate effettuare il backup via wifi.
Supponiamo che il comando di cui sopra ritorni la stringa 001122334455.
Entrate in una directory temporanea sul disco locale e preparate il volume su cui Time Machine salverà i dati:
# cd /tmp # hdiutil create -size 100G -fs HFS+J -volname 'Time Machine Backups' -type SPARSEBUNDLE pippo_001122334455.sparsebundle
Sostituite la stringa pippo_001122334455 con una stringa opportuna che rispecchi il nome del vostro PC e il relativo mac address della scheda Ethernet.
Non vi preoccupate se in /tmp non avete 100GB di spazio a disposizione! hdiutil creerà il volume vuoto e pertanto saranno necessari solo poche decine di MB.
Sul PC pippo, fate click sulla mela in alto a sinistra, entrate in “Informazioni su questo Mac”/”Più informazioni” e segnatevi l’Hardware UUID del PC pippo.
All’interno della directory “pippo_001122334455.sparsebundle” generata dal programma hdiutil, create il file di testo com.apple.TimeMachine.MachineID.plist con il seguente contenuto:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.backupd.HostUUID</key>
<string>ILVOSTROUUID</string>
</dict>
</plist>
Sostituite la stringa ILVOSTROUUID con la stringa che vi eravate trascritti precedentemente.
Il volume per i backup è pronto, non resta che spostarlo sulla condivisione di rete.
A tale scopo aprite il Finder, cliccate sul menu “Vai” e scegliete “Connessione al server”.
Digitate l’indirizzo del server che ospita la condivisione samba, es.: smb://192.168.0.10
Cliccate su “Connetti”, inserite le credenziali per l’accesso, se richieste, e assicuratevi di marcare: “Memorizza la password”.
A questo punto aprite un terminale, diventate root con “sudo -s” ed eseguite i seguenti comandi:
# touch /Volumes/samba-server/.com.apple.timemachine.supported # mv /tmp/pippo_001122334455.sparsebundle /Volumes/samba-server # defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
Notate che la directory pippo_001122334455.sparsebundle deve trovarsi nella root del volume condiviso via rete, non in una sottodirectory!
A questo punto non vi resta che lanciare Time Machine su pippo, selezionare come volume di destinazione per il backup la cartella condivisa e attendere pazientemente.
Thumbs up!
Caveat
In caso di problemi, potete controllare i log con il comando:
sudo grep backupd /var/log/system.log
Due problemi molto comuni sono:
- il computer viene messo in modalità sleep e quando viene riacceso non riesce a montare il volume TimeMachine (ERROR DIHLDiskImageAttach returned: 35)
- il nome del computer contiene caratteri non alfanumerici o spazi
Per risolvere il problema DIHLDiskImageAttach returned: 35 è sufficiente espellere il disco condiviso dal Finder e attendere che venga rimontato automaticamente da Time Machine.
Credits
Ultimo aggiornamento: 19 May 2010
Credits: thanks to Sunkid

October 15th, 2009 at 2:21
ciao,
la procedura descritta pare funzionare benone (il backup sta procedendo ormai da mezz’ora :-)).
Unica nota: Nel mio caso la creazione dell’immagine sparsebundle sul disco di rete mi fallisce con un errore del tipo “operazione non supportata” (ma non sono l’unico, a giudicare da quel che ho trovato in giro per i forum).
Il motivo del problema mi e’ oscuro, ma si puo’ aggirare facilmente creando l’immagine prima sul disco interno del Mac, e poi spostandola (drag&drop o mv) dentro la cartella condivisa.
Quindi il comando sopra diventa:
hdiutil create -size 100G -fs HFS+J -volname ‘Time Machine Backups’ -type SPARSEBUNDLE ~/Desktop/pippo.sparsebundle
seguito da:
mv ~/Desktop/pippo.sparsebundle ./
Tutto il resto e’ perfetto ;-)
Spero possa tornare utile a qualcuno :-)
Grazie mille!!
Marco
[Translate]
May 13th, 2010 at 15:31
Grazie per l’info, in effetti ho notato lo stesso problema di recente, probabilmente è stato causato da uno degli ultimi aggiornamenti di Snow Leopard. Ho provveduto ad aggiornare il post tenendo conto del cambiamento.
[Translate]