Mac Mini als Time Machine Server

Als Apple 2008 die Airport Time Capsule heraus brachte, war ich sofort vom Konzept überzeugt, habe ein Jahr später zugegriffen und war sehr zufrieden mit der transparenten komfortablen Datensicherung, die ich auch ein paar mal in Anspruch nehmen musste. Nach 11 Jahren Einsatz und 2018 abgekündeten Support von Apple war eine Aktualisierung dringend notwendig. Ich habe mich für einen Mac Mini mit einer externen RAID-Festplatte entschieden. Inzwischen läuft die Kombination bei mir gut, der Weg dorthin war allerdings holpriger als gedacht.

Warum überhaupt einen Mac Mini?

Die erste offensichtliche Alternative für eine lokale Datensicherung ist die Archivierung in der iCloud, die von Apple auch sehr gedrückt wird. Wenn ich mir meine HW-Kosten und den investierten Zeitaufwand anschaue, dann erscheint der Einsatz der iCloud auch bei großen Datenmengen immer noch kostengünstig. Allerdings möchte ich selber Kontrolle über meine Daten haben. Auf meinen Platten sind viele persönliche Informationen, die ich über Jahrzehnte angesammelt habe. Auch wenn ich Apple aufgrund ihres Geschäftsmodells relativ viel Vertrauen entgegen bringe, ist es dennoch eine auf Gewinn ausgelegte Firma außerhalb des europäischen Rechtsraums. Sie kann ihre Cloud-Strategie ändern, Preise dynamisch erhöhen und Inhalte dann doch an amerikanische Institutionen weiter geben.

Wenn es also nicht die Cloud sein soll, dann könnte es ja einfach eine externe Platte sein, die direkt an den Rechner per Time Machine angeschlossen ist. Diesen Ansatz benutze ich in der Firma und er funktioniert ganz gut. Zu Hause habe wir aber inzwischen vier Mac-Rechner, die ich nicht alle mit einer eigenen lokalen Platte versorgen möchte. Außerdem habe ich mich durch die Time-Capsule an den Luxus gewöhnt, dass Backups automatisch erstellt werden, sobald ein Rechner im WLAN-Netzwerk ist.

Es muss also eine zentralisierte lokale Speicherlösung sein. Hierfür gibt es Network Attached Storage (NAS) Lösungen, von denen einige auch Time-Machine unterstützen. Das wäre eigentlich die vernünftige Lösung gewesen. Ich habe mich aus zwei Gründen dagegen entschieden. Erstens habe ich aus einigen schmerzhaften Erfahrungen gelernt, dass Apple Produkte am besten mit anderen Apple Produkten zusammen spielen. Zweitens ist mein Spieltrieb erwacht, der in einem eigenen lokalen Mac-Mini Server schnell viele weitere Potenziale entdeckt hat, um die lokale IT-Infrastruktur zu Hause mit neuen Möglichkeiten zu versehen.

Also wurde es ein Mac-Mini mit einer 8TB RAID-Festplatte von LaCie. Die Konfiguration wurde unter Mac OS Catalina (10.15.x) durchgeführt.

Die Konfiguration der RAID-Platte

Die LaCie-Platte (2big RAID) ist mit ihrem großen blauen Auge ganz schön stylish. Sie lässt sich über USB-C anschließen und war mit HSF+ vorformatiert. Bevor sie eingesetzt wird, muss man sich zwischen Platz und Geschwindigkeit per RAID 0 oder Sicherheit bei halber Kapazität per RAID 1 entscheiden. Dieses lässt sich nachträglich nicht mehr ändern.

Das Konfigurationswerkzeug von LaCie ist etwas kompliziert in der Nutzung:

  1. Die RAID-Festplatte muß vom Rechner entfernt werden.
  2. Der LaCie RAID Manager wird gestartet.
  3. Dann wird die Platte gesehen und kann auf RAID 0 oder 1 konfiguriert werden.

Nach der obigen Entscheidung und anschließender Konfiguration kann die Platte mit dem neuen Apple File System (APFS) formatiert werden. Ich selber habe dies erst rausgefunden, als ich schon alle Rechner angeschlossen hatte und habe mich dann entschieden, mit der vordefinierten RAID 0 Konfiguration zu leben.

Das Partitionieren der Platten

Time-Machine speichert ein Backup in einem Backup-Bundle, einer Datei, die mit jedem neuen Backup immer größer wird, bis kein Platz mehr auf der Platte ist oder das konfigurierte Maximum erreicht wird. In dem Fall werden in meiner Konfiguration die ältesten archivierten Dateien gelöscht. Daher ist es wichtig, dass jedes Backup-Bundle auf einem Laufwerk liegt, dass mindestens so groß ist wie der aktuell zu sichernde Datenstand. Die Wahl der maximalen Größe hängt von der eigenen Nutzung und dem Wunsch an gesicherter Datenhistorie ab. Ich würde mindestens einen dreifachen Wert der Minimalgröße empfehlen.

Mein erster Impuls war nun, für jeden Rechner eine eigene Partition zu erstellen. Mit dem (recht) neuen Apple File System (APFS) gibt es aber eine etwas bessere Alternative mit APFS-Volumes. Diese erstellen keine harten Partitionen, sondern nutzen den Speicherplatz der Platte besser durch eine dynamische Verwaltung. Sie werden über das Festplattendienstprogramm angelegt:

  • Wahl der Platte in der Liste der Laufwerke
  • Rechtsklick: APFS-Volume hinzufügen
  • Namen: z.B. Name des Rechners, der zu sichern ist
  • Format: APFS
  • Größenoptionen: Hier die minimale Größe als Reservegröße und die maximale als Kontingentgröße angeben.

Diese Lösung funktioniert für mich ganz gut. Alternativ können auch alle Backup-Bundles auf einer Partition liegen mit einer Maximalgröße, die für alle Macs gleich ist. Dies kann bei der Konfiguration des Laufwerks eingestellt werden (s.u.).

Konfiguration eines Externen Benutzers

Damit andere Macs auf die Laufwerke zugreifen können, müssen sie sich anmelden. Hier gilt es zunächst zu entscheiden, ob dem aktuellen Netzwerk vertraut wird oder nicht. Im ersten Fall kann man jedem im Netzwerk Zugriff erlauben. Vielleicht bin ich etwas paranoid, aber selbst für ein Ethernet-basiertes Netzwerk zu Hause wäre mir das zu unsicher. Bei einem WLAN-basierten Netzwerk empfinde ich offene Laufwerke als offenherziges und törichtes Einfallstor für Hacker-Angriffe.

Also wird ein Benutzer benötigt, der für eine Authentifizierung eingesetzt wird. Mein erster Ansatz war jeder Partition einen Mac zuzuordnen und jedem Mac einen Nutzer. Dieser Nutzer wird auf dem Mac-Mini als lokaler Nutzer angelegt und für das Laufwerk konfiguriert. Dieser Ansatz funktioniert, ist aber recht aufwändig in der Verwaltung aufgrund der zusätzlichen Nutzerkennungen und Passwörter. Zusätzlich reduziert er die Sicherheit etwas, weil nun jeder Nutzer sich auch auf den Mac-Mini anmelden kann.

Daher wechselte ich den Ansatz zu nur einem technischen Nutzer, der nur für Freigaben benutzt wird. Dieser lässt sich in der Systemeinstellung “Benutzer und Gruppen” anlegen, indem bei der Art des Kontos statt “Standard” die Variante “Nur Freigabe” gewählt wird. Jetzt gibt es nur einen Nutzer mit einem Passwort, der von jedem Mac benutzt wird, der ein Laufwerk als Time-Machine-Backup benutzen möchte.

Da mindestens zwei Macs sensible berufliche Daten speichern, sind die einzelnen Backups zusätzlich mit einem Passwort versehen, das nur der entsprechende Anwender kennt und sich im lokalen Schlüsselbund ablegt.

Bereitstellen eines Time-Machine-Laufwerks

Nun sind alle Vorbereitungen getroffen, um endlich das Time-Machine-Laufwerk bereit zu stellen. Früher benötigte man hierfür die Mac OS X Server Variante. Inzwischen kann jeder Mac auch als Time-Machine-Server fungieren. Hierfür ist die Systemeinstellung “Freigaben” auszuwählen.

  • Der Dienst “Dateifreigabe” ist zu starten.
  • Über “+” bei “Geteilte Ordner” ist die jeweilige Partition hinzuzufügen.
  • Über Rechtsklick auf die neu hinzugefügte Partition: “Erweiterte Optionen…”
  • Abwählen von “Gastbenutzer zulassen”
  • Anwählen von “Als Ziel eines Time-Machine-Backups teilen”
    Hier kann man auch die maximale Größe des Backups konfigurieren. So können auf einer Partition mehrere Time-Machine-Backups koexistieren.
  • Mit “OK” die Konfiguration abschließen. Das geteilte Laufwerk wird dann blau angezeigt.
  • Unter Benutzer den oben erstellten technischen Benutzer mit Lese- und Schreibrechten hinzufügen.

Jetzt ist das Laufwerk von außen sichtbar. Alle Macs können nun über die Systemeinstellung “Time Machine” ihr jeweiliges Laufwerk auswählen.

  • “Volume auswählen”
  • Passendes Laufwerk auswählen
  • Time-Machine-Backup erstellen und ggflls. verschlüsseln, das Passwort gut aufheben.
    (Ein Speichern im lokalen Schlüsselbund ist nicht hilfreich, wenn die Platte des Rechner nicht mehr verfügbar ist und aus dem Backup neu aufgesetzt werden muss…)

Hier könnte dieser Artikel enden, wenn es nicht doch noch ein paar Probleme gegeben hätte…

Eine Eindeutige Adresse im Netzwerk

Zunächst liefen alle Backups durch. Die Geschwindigkeit war deutlich besser als bei meiner alten Lösung, die aus einer Time-Capsule mit angeschlossenen USB-2 Festplatten bestand. Schon am nächsten Tag gab es aber immer wieder Fehlermeldungen, dass der Time-Machine-Server nicht auffindbar ist. Nach einiger Analyse hatte ich den Eindruck, dass sich der Client die IP-Adresse hält, die aber in meinem DHCP-basierten Netzwerk mit einer Kombination aus WLAN, Ethernet, Powerline anscheinend nicht stabil war. Mit einigen Konfigurationsänderungen habe ich jetzt einen Zustand erreicht, der stabil ist.

Nur ein Interface

Mein Mac Mini war sowohl per WLAN als auch über Ethernet direkt mit meinem DSL-Router (FRITZ!Box) im Netzwerk erreichbar. Dadurch konnten die Macs, je nachdem wie sie selber gerade im Netz verbunden waren, unterschiedliche IP-Adressen bekommen. Als Lösung habe ich das WLAN im Mac-Mini abgeschaltet.

Stabile IP-Adresse

Meine FRITZ!Box hat den Mac-Mini wie ein normales Gerät behandelt und ihm immer wieder per DHCP neue IP-Adressen zugeteilt. Dies lässt sich über die Administrationsoberfläche ändern, so dass die IP-Adresse konstant bleibt.

Aufräumen alter DNS-Einträge

Ich habe den Eindruck, dass die Mac-Klienten auch über die lokalen DNS-Einträge auf den Server zugreifen. Diese werden von der FRITZ!Box über längere Zeit gehalten. In der Administrationsoberfläche lassen sich alle Einträge löschen.

Ausschalten über Nacht

Mit dieser Konfiguration läuft jetzt alles über mehrere Wochen stabil. Das einzige Problem, das sich dann ergeben hat, war, dass unsere FRITZ!Box im Wohnzimmer beim Kabelanschluss steht. Damit steht auch der Mac-Mini und das RAID-Laufwerk dort, wo man abends gerne seine Ruhe haben möchte. Die verbauten Enterprise-Platten sind aber deutlich zu hören. Es gab also schnell den Entschluss, dass der Server abends runter gefahren werden soll, dies natürlich automatisch.

Über die Systemeinstellung “Energie sparen” und dort unter “Zeitplan…” lässt sich bei einem Mac ein automatischen An- und Ausschalten komfortabel konfigurieren. Leider wird die Aktivierung des Ruhestands abgebrochen, wenn externe Klienten auf Laufwerke zugreifen. Dies ist bei einem Time-Machine-Server aber fast immer der Fall.

Also war eine systemnähere Lösung gefragt. Als alter Unix’ler dachte ich sofort an Crontab, habe dann aber schnell gelernt, dass zumindest auf dem Mac Crontab out ist und statt dessen Launchd benutzt wird. Es hat etwas gedauert, bis ich die Trennung zwischen Daemons und Agents und den unterschiedlichen Ausführungskontexten ausreichend verstanden habe.

Diese Konfigurationsdatei spezifiziert, dass täglich um 21:05 das Kommando “shutdown -h now” ausgeführt wird:

<plist version="1.0">
<dict>
    <key>Label</key>
    <string>de.tofimusrom.timer.shutdown</string>
    <key>ProgramArguments</key>
    <array>
        <string>/sbin/shutdown</string>
        <string>-h</string>
        <string>now</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Minute</key>
        <integer>5</integer>
        <key>Hour</key>
        <integer>21</integer>
    </dict>
    <key>StandardErrorPath</key>                                                                                                                                                          
    <string>/tmp/de.tofi.musrom.shutdown.err</string>
    <key>StandardOutPath</key> 
    <string>/tmp/de.tofi.musrom.shutdown.out</string> 
</dict>
</plist>

Sie wird unter diesem Pfad gespeichert:
/Library/LaunchDaemons/de.tofimusrom.timer.shutdown.plist

Um diesen Dienst zu registrieren und zu aktivieren, ist im Terminal folgendes einzugeben:

sudo launchctl load /Library/LaunchDaemons/de.tofimusrom.timer.shutdown.plist 

Die Man-Pages von launchd enthält viele weitere Informationen.

Zusammenfassung

In Summe war der Einsatz des Mac-Mini viel komplizierter, als ich es nach meinen guten Erfahrungen mit der Time-Capsule erwartet hatte. Mein Eindruck ist auch, dass ein gutes informatisches Grundwissen über Unix-Systeme und Netzwerke notwendig ist, um den Mac-Mini als Server zu Hause zu betreiben. Die von Apple bereit gestellte Dokumentation und die Hilfen im Web sind aber alle von guter Qualität und hilfreich.

Inzwischen benutze ich den Mac-Mini auch als Multimedia-Server, der sich in meinem Apple-dominierten Haushalt komfortabel und einfach nutzen lässt. Ideen für weitere Nutzungsmöglichkeiten sind vorhanden.

Ich bin jedenfalls jetzt mit der Lösung zufrieden. 🙂