mit Time Machine auf SMB-Freigaben sichern

07.07.2010

Ich habe mich auf Arbeit mit der Problematik “Wie sichere ich mehrere MACs mit Time Machine auf eine Samba Freigabe?” bechäftigt. Dafür habe ich so einiges im Internet nachgelesen, viel Müll entdeckt und eine funktionierende Lösung konzipiert und realisiert.

Was ist Time Machine
Time Machine (engl. Zeitmaschine) ist eine Datensicherungssoftware von Apple, die ab Mac OS X 10.5 (Leopard) in das Betriebssystem integriert ist. Das Programm kann für die automatische Sicherung aller Computerdaten und Einstellungen benutzt werden.

FileVault?
Eine gleichzeitige Verwendung von Time Machine und FileVault ist nicht ohne weiteres möglich, denn eine Datensicherung kann nur mit ausgeloggten Benutzern durchgeführt werden. Auf diese Weise kommt man in den Konflikt, nur Time Machine oder nur FileVault zu verwenden.

Contra
Time Machine kann über SMB nicht die Integrität bzw. Privatheit des Backups prüfen. Es kann nicht festgestellt werden, ob zum Beispiel nach einem unterbrochenen Backup noch Dateien offen sind. Verwenden mehrere Personen eine SMB Freigabe für Time Machine, so können sie mangels Rechtesystem ungehindert in die Backups der Kollegen schauen (dazu später mehr). Time Machine kann nicht problemlos für ein Disaster Recovery (siehe Restore mit Installations DVD) verwendet werden.

Vorarbeiten
Backup Server
Sinnvollerweise sollte man eine freue Linuxdistribution für den Backupserver nehmen - meine Empfehlung Debian oder Ubuntu. Wer das Geld hat, kann dies auch auf einen Windows Server 2008 R2 betreiben. Ich gehe aber von einem Sambaserver auf Ubuntu aus … anbei meine Konfig der /etc/samba/smb.conf:

[TIMEMACHINE]
comment = Time Machine Backup
browsable = no
guest ok = no
writable = yes
patch = /TimeMachine/Daten/
create mask = 0770
valid users = backup

In diesem Beispiel ist “/TimeMachine/Daten” eine 2 TeraByte Lun auf einem HP EVA 6400 Speichersystem … aber zu Hause sollte es auch mind. 250% der HDD Kapazität aller zu sichernder MACs entsprechen.

Durch “browsable = no” umgeht man etwas den Punkt, dass andere Nutzer dank unzureichendem Rechtemanagement, andere Backups sehen und Zugriff darauf haben. Sowieso sollte man das nur machen, wenn sich alle Nutzer untereinander vertrauen, alle das gleiche Sicherheitslevel haben und es sowieso egal ist :-D

Nicht unterstützte Volumes freischalten
Standardmäßig unterstützt Time Machine das Backup auf Netzlaufwerke nicht. Um dennoch darauf zu speichern, müssen über einen Terminalbefehl die unsupporteten Laufwerke aktiviert werden:

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Damit ist der Zugriff auf Netzwerkvolumes hergestellt.

Netzlaufwerk für Time Machine vorbereiten
Für das Abspeichern des Time Machine-Backups wird ein sogenanntes Sparsebundle-Image benötigt. Um ein Image zu erzeugen, muss man folgenden Befehl im Terminal eingeben:

sudo hdiutil create library SPUD -size 10m -fs HFS+J -type SPARSEBUNDLE -nospotlight -volname “BACKUP” %COMPUTERNAME_MACADRESSE%.sparsebundle

Statt %COMPUTERNAME_MACADRESSE% muss im o.g. Befehl der Computername (z.B MeinMAC) und als MAC-Adresse die MAC-Adresse des ersten Ethernetanschlusses genommen werden. Also muss statt %COMPUTERNAME_MACADRESSE% z.B. MeinMAC_8000600FE800 stehen.

Dieses sparsebundle kopiert man dann in den entsprechenden Netzwerkordner des Netzwerklaufwerks. Danach sollte sich der Ordner auch in den Time Machine-Optionen finden lassen.

Backup
Time Machine starten
Haben alle Schritte funktioniert, sollte nun Time Machine das “Backup” überprüfen (er überprüft dabei das Sparsebundle-Image). Danach erstellt er das initiale Backup. Alle anderen Backups laufen nun automatisch ab.

Time Machine Editor
Ich empfehle dringend den Time Machine Editor, um die Serverlast durch den 1h-Backup-Rythmus zu begrenzen. Sinnvollerweise sollte ein Backup ein Mal pro Tag laufen. Damit Time Machine Editor den Backuprythmus übernehmen kann, muss Time Machine ausgeschaltet werden!

Backup über Nacht
Durch die Möglichkeit den MAC zeitgesteuert Ein- und Auszuschalten, ist es auch denkbar das Backup 02.00 Uhr früh anfertigen zu lassen und ihn anschließend auszuschalten. Der “Backupserver” sollte dabei einen 24×7 Betrieb haben und immer online sein :-)

Wartung
Time Machine Backup verkleinern
Man kann aus einem bestehenden Time Machine Backup jeder Zeit gesicherte Daten aus dem Backup entfernen, zum Beispiel wenn Videos nicht mehr gebraucht werden. Wenn man alle unbenötigten Elemente entfertn hat, schließt man Time Machine und verkleinert das Backup-Image.

hdiutil compact /Volumes/%Time-Machine-Freigabe%/Sparse-Image-Datei

HDItuil meldet dann nacheinander “Komprimierung beginnen”, “unbenötigte Bereiche freigebe”n, “Komprimieren fertigstellen” und am Ende den gewonnenen Platz (z.B. 5,2GB von 146,7GB gewonnen). Danach ist die Image Datei um den angezeigten Betrag kleiner.

Restore
ohne Installations DVD
Ein normaler Restore erfolgt über den Time Machine Button. Nun wählt man über die Zeitleiste die Stand der Datei, der wiederhergestellt werden soll.

mit Installations DVD (experimentell)
Da bei einem Restore von der Installations-DVD gebootet wird, kennt der MAC in diesem Zustand weder das Netzlaufwerk, noch sind die nicht unterstützen Netzlaufwerke für Time Machine aktiviert.

Vor dem Start der Wiederherstellung öffnet man das Terminalfenster (Menü -> Dienstprogramme) und bindet das betreffende Netzlaufwerk per Hand ein:

1. kextload /System/Library/Extensions/smbfs.kext
2. mkdir /Volumes/TimeMachineBackup
3. mount -t smb smb://user:password@%server%/Freigabe /Volumes
/TimeMachineBackup

- kextload wird die SMB Kernel Extension geladen, die für den Zugriff notwendig ist
- mit user und password authentifiziert man sich
-%server% bezeichnet den Namen oder die IP-Adresse des Servers, auf dem sich die Time Machine Backups befinden

Nach erfolgter Wiederherstellung startet der Mac wie üblich und kann wieder verwendet werden.

ODER

Eine weitere Möglichkeit besteht darin, das TimeMachine Backup von einem anderen MAC oder direkt vom Server auf ein externes Medium (USB-Stick oder USB-HDD) zu kopieren und dieses während der Neuinstallation an den betreffenden Mac zu stecken. In diesem Fall erkennt er das Backup und nutzt es. Nach erfolgter Wiederherstellung startet der Mac wie üblich und kann wieder verwendet werden.