Time Machine ist die universelle Backuplösung für macOS und Vorbild für Linux-Lösungen wie Back In Time oder Deja-Dup. Mit Time Machine lassen sich Systemeinstellungen, installierte Programme und Benutzerdaten auf externe Speichermedien sichern. Hierfür eignet sich von der externen Festplatte bis zum Netzwerkspeicher jedes mögliche Speichermedium. Auch ein Linux-Server kann mit geringem Konfigurationsaufwand für Time Machine eingerichtet werden.
Ähnlich wie bei der intelligenten Backupverwaltung von Back In Time werden die einzelnen Schnappschüsse nicht nur einfach gesammelt, sondern nach definierten Regeln aufbewahrt. Ist die automatische Datensicherung aktiviert legt Time Machine stündlich Sicherungen des Systems an. Diese Schnappschüsse werden für die letzten 24 Stunden aufbewahrt, anschließend räumt das System auf und behält lediglich einen Schnappschuss pro Tag, sowie einen pro Woche. Ist das Sicherungsmedium voll werden die ältesten Backups gelöscht.
Die automatische Datensicherung setzt voraus, dass permanent ein Sicherungsmedium angeschlossen ist. Eine Sicherung lässt sich aber auch per Netzwerk auf einen Datenspeicher durchführen. Apple hat hierfür noch die AirPort Time Capsule im Angebot (Gerüchteweise soll diese aber aus dem Programm genommen werden). Mit geringem Konfigurationsaufwand lässt sich jedoch auch jeder Linux (Heim-)Server zu einem Speichermedium für Time Machine einrichten.
Voraussetzung hierfür ist Netatalk, eine freie Implementierung des AppleShare File Server (AFP). Netatalk ist leider nur bei openSUSE Leap und Fedora in den Paketquellen enthalten. Debian und Ubuntu haben nur die veraltete Version 2 in den Paketquellen, die wesentlich komplizierter einzurichten ist, als die aktuelle Version 3. Anwender mit einem Ubuntu-Heimserver müssen also entweder selbst kompilieren oder aus einer Fremdquelle (PPA) eine aktuelle Version ziehen. Aus Sicherheitsgründen empfiehlt sich selbstverständlich erstere Variante.
Netatalk wird konfiguriert über eine zentrale Konfigurationsdatei unter /etc/netatalk/afp.conf. Eine Beispielkonfiguration sieht wie folgt aus:
<samp>[Global]</samp>
<samp>hostname = Datengrab</samp>
<samp>[Homes]</samp>
<samp>basedir regex = /home</samp>
<samp>[TimeM]</samp>
<samp>path = /data/tmb</samp>
<samp>time machine = yes</samp>
<samp>valid users = tmb</samp>
<samp>vol size limit = 500000</samp>
Code-Sprache: HTML, XML (xml)
Time Machine sichert die Daten gemäß dieser Konfigurationsdatei unter /data/tmb und hat einen separaten Nutzer tmb. Das Verzeichnis kann natürlich frei gewählt und theoretisch kann auch der Standard-Systembenutzer genutzt werden. Die maximale Verzeichnisgröße sollte so limitiert werden, dass sich einige Sicherungen des Hauptsystems angelegen lassen, jedoch noch genug Platz für die restlichen Einsatzzwecke des Servers bleibt. Mit der Zeit wird Time Machine diese Maximalgröße nämlich ausreizen.
Da mein Homeserver Btrfs als Dateisystem nutzt wurde hier für /tmb ein eigener Subvolume angelegt:
<code>sudo btrfs subvolume create /data/tmb</code>
Code-Sprache: HTML, XML (xml)
Der Benutzer muss nun noch der Eigentümer dieses Verzeichnisses (unabhängig von Btrfs) werden:
<code>sudo chown tmb /data/tmb # tmb ersetzen durch gewünschten Benutzer</code>
Code-Sprache: HTML, XML (xml)
Wichtig ist, dass der Server den Dienst avahi-daemon installiert hat. Bei Ubuntu ist dies standardmäßig nicht der Fall:
<code>sudo apt-get install avahi-daemon</code>
Code-Sprache: HTML, XML (xml)
Anschließend werden der Avahi- und Netatalk-Dienst aktiviert und gestartet
<code>sudo systemctl enable avahi-daemon</code>
<code>sudo systemctl start avahi-daemon</code>
<code>sudo systemctl enable netatalk</code>
<code>sudo systemctl start netatalk</code>
Code-Sprache: HTML, XML (xml)
In den macOS Systemeinstellungen unter Time Machine lässt sich nun unter Volume auswählen der Linux Server auswählen. Bei der Abfrage von Benutzername und -passwort sind die Daten des, in der Konfigurationsdatei gewählten, Benutzers einzugeben. Im konkreten Beispiel also von tmb.
Je nach Sicherung des Servers sollte man noch in Erwägung ziehen das Time Machine Backup zu verschlüsseln. Es macht beispielsweise recht wenig Sinn den Mac mit FileVault zu sichern, wenn zwei Zimmer weiter der unverschlüsselte Sicherungsserver steht.
Eine Homeserver ist natürlich kein ordentliches Backupmedium. Ein mit dem Rechner verbundenes Medium (auch via Netzwerk) ist kein ideales Sicherungsmedium, da es bei vielen Problem mit betroffen sein kann (nicht zuletzt durch die Doofheit des Anwenders). Zudem kann auch der Homeserver ausfallen, insbesondere bei Geräten im 24/7-Betrieb ist das nur eine Frage der Zeit. Der Server sollte also selbst ebenfalls gesichert werden. Die Sicherung über den Zwischenschritt Server (letztlich landet alles auf zwei normalen HDD’s, die getrennt aufbewahrt werden) dient vor allem der stündlichen Sicherungsfunktion von Time Machine.