Schlagwort-Archive: Time Machine

Homeserver 31: Time Machine Funktionalität unter Debian 8 wiederherstellen

[Update] Im Script haben ein paar Backslashe gefehlt, das wurde gefixed.

Aus irgendwelchen Gründen scheint das netatalk-Paket aus Debian rausgeflogen zu sein. Ob das nur eine kurzfristige Sache ist, oder das Paket dauerhaft draußen bleibt, weiß ich nicht. Vielleicht finde ich später noch Informationen, die etwas Licht ins Dunkel bringen.

Das ändert aber nichts an der Tatsache, dass ich netatalk brauche. Es macht es nur wesentlich unbequemer, es zu installieren. Denn wenn es als Paket im Debian-Repository enthalten ist, könnte man ja einfach ein „apt-get install netatalk“ machen. Das geht nun nicht. Jetzt muss das Paket quasi selbst erstellt werden.

Vorbereitungen

In meinem Home-Verzeichnis habe ich ein Verzeichnis „Netatalk“ erstellt, in welches die heruntergeladene Datei für Netatalk kopiert wird. Hierin erstelle ich auch ein kleines Shellscript, welches die Installation durchführt. Da es doch eine Menge Befehle sind, die eingegeben werden müssen, und für den Fall, dass ich das mal wiederholen muss…

Die aktuelle Version von Netatalk bekommt man hier. Hier lade ich die aktuelle Version 3.1.7 als bz2-Datei herunter und kopiere es in das Home-Verzeichnis, dort unter Netatalk. Hier erstelle ich auch das Installationsscript.

nano netatalkinstall.sh

Dort schreibe ich jetzt alle Befehle rein, die nötig sind, das Paket zu erzeugen und zu installieren.

Installation

Der Installationsprozess ist recht umfangreich. Falls ihr euch das gerne selbst ansehen möchtet, findet ihr die Installationsanleitung für Netatalk 3.1.7 unter Debian Jessie im Netatalk-Wiki.

Der Einfachheit halber erkläre ich nur grob die Installationsschritte und füge unten am Post dann das Shellscript an, welches ihr bei Bedarf einfach kopieren und selbst in ein Shellscript einfügen könnt.

  • Benötigte Pakete installieren: Damit das Paket läuft, müssen Abhängigkeiten und diverse Entwicklungswerkzeuge installiert werden. Normal braucht man so was nicht, aber manchmal scheint es halt unumgänglich. Und falls später noch mal so ein Paket erzeugt werden soll, hat man die nötigen Pakete dann ja im System.
  • Konfiguration des Pakets: Hier werden mit ein paar kurzen Befehlen ein paar Einstellungen des Paketes gemacht. Das bezieht sich aber eher für die Erstellung, nicht für die Konfiguration des laufenden Dienstes.
  • Installation des Pakets: Damit wird das Paket in das System eingefügt und gestartet. Nun könnte man es konfigurieren und nutzen.

Als letzter Schritt kommt die Konfiguration des Dienstes. Schließlich muss die TimeMachine auch vom Mac aus gefunden werden.

Installations-Script

Kopiert das Script einfach, erstellt im Verzeichnis, wo die heruntergeladene Datei liegt ein leeres Script, meinetwegen nennt es install.sh und fügt den Inhalt dort ein. Wenn ihr das Script startet, werden alle benötigten Pakete installiert, Paketkonfigurationen erledigt und das Paket installiert.

#!/bin/bash

## Installation von Netatalk

# Benötigte Pakete installieren

sudo apt-get install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

# Paket entfernen, um Probleme zu vermeiden

sudo apt-get remove libavahi-compat-libdnssd-dev

# Paket erstellen (Build)

tar xvf netatalk-3.1.7.tar.bz2
cd netatalk-3.1.7

# Paket konfigurieren

./configure \
        --with-init-style=debian-systemd \
        --without-libevent \
        --without-tdb \
        --with-cracklib \
        --enable-krbV-uam \
        --with-pam-confdir=/etc/pam.d \
        --with-dbus-sysconf-dir=/etc/dbus-1/system.d \
        --with-tracker-pkgconfig-version=1.0

# Paket installieren

make
sudo make install

# Einrichten und Startreihenfolge einstellen

sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk
sudo systemctl start avahi-daemon
sudo systemctl start netatalk

Dann bleibt ja nur noch die Konfiguration, die hier jetzt etwas anders ist, als die Konfiguration, die wir im Debian 7 gemacht haben.

Konfiguration von Netatalk

Während ich die Konfiguration von Netatalk früher etwas verwirrend fand, weil sie einfach nicht so aussieht, wie viele andere Konfigurationsdateien, finde ich die neue Datei sogar noch übersichtlicher.

Für eine genaue Beschreibung der Parameter könnt ihr euch ja mal die Manpage zu afp.conf anschauen. Ich werde hier mal nur beispielhaft die Konfiguration meiner TimeMachine aufführen.

sudo nano /usr/local/etc/afp.conf

OK, der Ort der Datei ist ungewöhnlich, macht aber nichts. Der Abschnitt für meine TimeMachine-Konfiguration sieht so aus, der Rest der Datei ist unverändert:

[TimeMachine]
path = /raid1/timemachine
vol size limit = 512000
valid users = kamil
time machine = yes

Fertig! Aber da ich jetzt noch nicht so genau weiß, wie man unter Debian 8 Daemons neu startet, reboote ich den Server einfach mal.

Fazit

Was ich damit meine, dass das Starten und Stoppen von Diensten etwas anders ist unter Debian 8? Nun, hier wurde das Init-System, also der Dienst, der alle Dienste startet und verwaltet, geändert. jetzt ist es systemd, und wie der funktioniert, muss ich mir noch anlesen.

Übrigens musste ich unter Mac OS das alte Backup abmelden und das neue Backup einbinden. Das tut ihr unter den Systemeinstellungen und dort bei Time Machine, mit dem Schalter „Volume wechseln“.

Ich habe mir, bei meinen Experimenten gestern, wohl mein Backup zerschossen. Offenbar hat mein MacBook noch mit dem alten Netatalk ein Backup gemacht, und nun ist das Backup nicht mehr zugreifbar. Also musste ich einen neuen Backupverlauf erstellen. Das erste Backup läuft gerade und wird noch eine Weile laufen.

Zwar ist es jetzt wirklich etwas umständlicher geworden, aber nicht unmöglich, zum Glück. Immerhin läuft alles wieder. Aber langfristig kann man jetzt natürlich noch nichts konkretes sagen. Das bleibt abzuwarten.

Homeserver 16: Den Server als Time Machine Backupziel nutzen

Der Server hat eine riesengroße Festplatte, also warum nicht auch das TimeMachine-Backup darauf machen lassen? Zur Zeit wird mein TimeMachine-Backup auf meinem QNAP NAS gemacht. In diesem Artikel möchte ich also zwei Dinge tun, zum Einen TimeMachine auf dem Server installieren, zum Anderen meinen bisherigen Backupverlauf vom QNAP auf diesen Server übertragen. Das ist durchaus möglich. Ich habe Anleitungen im Netz gefunden, wie man Backups von einer TimeCapsule zu einer Anderen transferieren kann. Und auch wenn das Backup-Ziel QNAP oder Selbstbauserver heißt, es simuliert letztlich doch nur eine TimeCapsule. Vielleicht klappt es ja…

Vorbereitungen

Zunächst einmal muss auf dem RAID ein Verzeichnis angelegt werden, in dem das TimeMachine sein Backup speichert. Ich befinde mich bereits im Hauptverzeichnis /raid1.

sudo mkdir timemachine
sudo chown -c -R kamil:kamil timemachine

Somit wurde das Verzeichnis unter /raid1/timemachine erstellt und das Eigentum an mich übertragen.

Nun muss noch das Paket installiert werden, welches das AFP-Protokoll spricht, welches der Mac benötigt.

sudo apt-get install netatalk

Damit TimeMachine funktioniert, muss es noch konfiguriert werden. Dazu muss die Datei /etc/netatalk/AppleVolumes.default editiert werden.

sudo nano /etc/netatalk/AppleVolumes.default

Nun muss ganz unten an die Datei folgende Zeile hinzugefügt werden:

/raid1/timemachine "TimeMachine" allow:kamil options:usedots,upriv,tm cnidscheme:dbd volsizelimit:500000

Alle Optionen habe ich auch nicht verstanden. Nur das Erste ist der Pfad zu dem Verzeichnis, wo das Backup angelegt werden soll. Danach, in Anführungszeichen, der Name, wie es erscheinen soll. Der Parameter Allow bestimmt einen User, für den das TimeMachine angezeigt werden soll, hier solltet ihr einen User eintragen, der auch an eurem Mac eingerichtet ist. Der letzte Wert legt die Größe des TimeMachine-Backuplaufwerks fest. Ich habe zwar nur 500 Megabyte angegeben, aber für meinen Fall reicht das dicke. Die meisten Daten habe ich sowieso auf dem NAS und dem Mac gleichzeitig, da muss es nicht auch noch im TimeMachine-Backup vorhanden sein. Daher sind meine Backups immer recht klein.

Nun starten wir mal den Service neu.

sudo service netatalk restart

Unglaublich, aber auf der Server-Seite war es das schon! 🙂 Von jetzt geht es am Mac weiter.

TimeMachine auf dem Mac Konfigurieren

Das Laufwerk des Servers für die TimeMachine-Backups auszuwählen läuft auch nicht anders, als jede andere TimeCapsule oder QNAP NAS als Backup-Ziel auszuwählen.

Ich habe meine Anleitung übrigens von dieser Seite, wo noch beschrieben wird, dass im Terminal was eingegeben werden muss, damit Mac OS den Server sieht. Er hat das dort mit Mavericks gemacht, ich habe bereits Yosemite installiert. Es scheint hier nicht weiter nötig zu sein, im Terminal was einzugeben, der Server wird sofort gesehen.

Ich werde jetzt im nächsten Schritt nicht nur das TimeMachine-Backup auf dem Mac konfigurieren, sondern auch den bisherigen Backupverlauf auf den neuen Server zu ziehen versuchen.

Server als TimeMachine auswählen

Damit mein MacBook sein TimeMachine-Backup auf dem Server machen kann, müssen wir das Laufwerk dafür festlegen. Hierzu gehe ich mit der Tastenkombination VO+MM in den Statusbereich und wandere mit VO+Pfeil-rechts zu TimeMachine. Mit VO+Leertaste öffne ich das Menü und gehe auf „Systemeinstellung Time Machine öffnen“.

In diesem Dialog suche ich mir die Taste „Volume wechseln“ und aktiviere diese. Nun dauert es eine kleine Weile, bis die einzelnen, über das Netzwerk erreichbaren, TimeMachine-Laufwerke angezeigt werden. Ich wähle „TimeMachine auf Server01“ aus. Die Option, das Backup zu verschlüsseln, kann jeder so setzen, wie er mag. Anschließend gehe ich auf den Schalter „Volume verwenden“ und aktiviere diesen.

Es öffnet sich nun ein Fenster, wo ihr nach Benutzernamen und Passwort gefragt werdet. Ich gebe hier die Daten an, die ich auch zum Anmelden auf den Server benötige.

Wenn ihr einen komplett neuen Backupsatz anfangen wollt, und keinen älteren Backupsatz von einer TimeCapsule oder NAS kopieren wollt, war es das schon. Euer Mac wird in Zukunft seine Backups auf dem neuen Server durchführen.

Backupsatz vom QNAP NAS übernehmen

Nun beginnt ein Sekundenzähler zu zählen, nachdem das erste Backup erstellt wird. Ich warte ab, bis das Backup anfängt, und tatsächlich auch Daten übertragen werden. Das ist wichtig, damit auf dem Server die entsprechenden Strukturen erstellt werden.

Der Status ist im Fenster der TimeMachine-Einstellungen direkt über der Taste „Volume wechseln“ zu sehen. Zuerst steht da, „Backup Volume suchen“, anschließend „Backup vorbereiten“. Sobald der Status zu „Backup erstellen“ wechselt, und tatsächlich Daten kopiert werden, gehe ich auf die Schaltfläche „Stopp“ darüber und breche das Backup ab. Anschließend suche ich mir die Taste „Aus“, um die automatischen Backups abzuschalten.

Warum das alles?

Jetzt sind auf dem Server die Strukturen erstellt, damit die Freigabe „TimeMachine“ tatsächlich auch als TimeMachine fungieren kann. Die automatischen Backups habe ich ausgeschaltet, da während des Kopiervorganges des alten Backups vom QNAP-NAS auf gar keinen Fall ein weiteres Backup angelegt werden darf!

Backupverlauf vom QNAP übernehmen

Als ich die Anleitung gelesen hatte, erschien mir das ziemlich kompliziert. Jetzt, wo ich vor dem Mac sitze und das ausprobiere, wirkt das gar nicht mehr so komplex. Hier mal die Schritte:

Ich öffne irgendein Finder-Fenster, zum Beispiel das Home-Verzeichnis mit Befehl+Shift+H. Nun stoppe ich die Interaktion mit der Listenansicht und gehe mit VO+Pfeil-links zur Seitenleiste. Mit dieser interagiere ich.

Relativ weit unten befindet sich eine Freigabe, die sich „QNAP – Timemachine“ nennt. Je nach dem, wie ihr euer QNAP NAS benannt habt, könnte es auch etwas anders heißen. Jedenfalls navigiere ich mit VO+Pfeil-rechts dort hin, drücke VO+Leertaste und beende die Interaktion mit der Seitenleiste. Wenn ich jetzt mit VO+Pfeil-rechts wandere, komme ich auf eine Taste, die sich „Verbinden als“ nennt, die drücke ich mit VO+Leertaste.

Nun öffnet sich ein Fenster, in das ich Benutzernamen und Kennwort eingeben soll. Bei QNAP ist der Benutzer für die TimeMachine „timemachine“. In das Passwort-Feld tragt ihr das Kennwort ein, welches ihr auf der QNAP-Oberfläche für die TimeMachine festgelegt habt. Anschließend drückt ihr einfach Enter. Nun sollte in der Listenansicht „TMBackup“ erscheinen. Das ist ein Ordner, den wir mit Befehl+Pfeil-runter öffnen. Damit haben wir es gemounted, so dass er als Symbol auf dem Desktop zu sehen ist.

Das Gleiche müssen wir jetzt noch mit server01 machen, um uns auch mit dessen TimeMachine zu verbinden. Ich gehe also wieder in die Seitenleiste, interagiere damit, und suche „server01“. Hier drücke ich wieder VO+Leertaste, stoppe die Interaktion mit der Seitenleiste und gehe wieder zum Schalter „Verbinden als“. Das Kennwort und der Benutzername sind die gleichen Daten, mit denen ich mich auf dem Server anmelde. Hier befinden sich dann sogar zwei Ordner, wobei mich aber nur der Ordner „TimeMachine“ interessiert. Auch hier gehe ich mit Befehl+Pfeil-runter rein. Auch dieses Verzeichnis ist nun mit einem Symbol auf meinem Schreibtisch vertreten.

Laut eines englischen Support-Artikels von Apple sollte es also ausreichen, wenn ich das eine Volume auf das andere kopiere, also mache ich das doch mal…

Ich gehe also auf das Volume „TMBackup Volume“ und öffne es mit Befehl+O. Hierin befindet sich eine Sparsebundle-Datei, die je nach dem Namen eures MacBooks anders heißen kann. Diese copiere ich mit Befehl+C. Nun kann ich dieses Fenster mit Befehl+W wieder schließen.

Anschließend gehe ich auf das „TimeMachine Volume“ und öffne es mit Befehl+O. Hier setze ich das Sparsebundle mit Befehl+V ein.

Der Kopiervorgang startet. Je nach Größe des alten Backups kann es eine sehr lange Zeit dauern, bis die Daten kopiert sind.

Wenn das Kopieren beendet ist, schließe ich die Finder-Fenster, die noch offen sind, und werfe beide Volumes, TMBackup und TimeMachine mit Befehl+e aus.

Funktionalität überprüfen

Oh man, 8 Stunden, wieso habe ich das MacBook nicht mit einem Kabel ans Netz gehängt? Naja, nu is es passiert, und das Kopieren war erst mal erfolgreich. Aber funktioniert es denn nun auch? Das werden wir jetzt überprüfen.

Wiederherstellungsumgebung

Was nutzt uns das beste Backup, wenn wir unseren Mac nach einem Totalausfall nicht von der Recovery-Umgebung aus wiederherstellen können? Um sicherzugehen, dass unser Server das Backup auch über die Recovery-Umgebung wiederherstellen kann, gehen wir mal kurz da rein. Ich werde das Backup nicht wiederherstellen, ich will nur sehen, ob ich den Server ansprechen und die Liste der Backups angezeigt bekomme.

Um dies zu tun, müssen wir den Mac im Recovery-Modus starten. Geht mit VO+M in die Menüzeile, dort auf das Apple-Menü, hier weit unten auf Neustart. Der Mac fährt jetzt runter. Wenn er neu startet, ertönt der Mac-Einschaltton. Sobald ihr den hört, drückt ihr Befehl+r für eine ganze Weile, so um die 15 Sekunden sollten ausreichen. Da man nicht wirklich hören kann, wann die Recovery-Umgebung gestartet ist, warte ich immer so um die 1 Minute, dann drücke ich Befehl+F5, um VoiceOver zu starten.

Nun stehe ich in einer Tabelle, aus der ich eine ganze Reihe von Optionen auswählen kann. Die oberste Option ist „Aus Time Machine Backup wiederherstellen“. Das will ich ja gerade sehen, ob das geht. Also gehe ich mit VO+rechts auf „Fortfahren button“ und drücke VO+Leertaste. Das sich nun öffnende Informationsfenster übergehe ich, indem ich wieder auf „Fortfahren“ gehe und mit VO+Leertaste aktiviere.

Nun öffnet sich ein Fenster, in dem ich das Backup-Laufwerk auswählen kann. Angeboten werden mir die TimeMachine auf meinem server01 und TMBackup auf meinem QNAP NAS. Ich wähle TimeMachine auf server01. Anschließend gehe ich mit VO+rechts auf die Schaltfläche „Verbinden“ und aktiviere diese. Es öffnet sich ein Fenster, in dem ich Benutzername und Passwort meines Benutzers auf dem Server eingebe und Enter drücke.

Es kann nun in der Tat eine ganze Weile dauern, bis das Dienstprogramm den Server nach den Backups durchsucht. Bei mir hat es fast 2 Minuten gedauert, also nicht gleich ungeduldig werden. Jedenfalls hat sich dann ein Fenster geöffnet, aus dem ich das Backup auswählen soll. Bei mir ist es „Kamils MacBook Pro auf TimeMachine“. Dann gehe ich wieder auf die Schaltfläche „Fortfahren“.

Jetzt öffnet sich in der Tat eine Liste meiner Backups. Das neueste, von heute Morgen um 06:15 Uhr, steht dabei ganz oben.

Weiter werde ich hier nicht gehen. Es ist klar, dass mein Mac die Backups findet und auch wiederherstellen würde, wenn ich jetzt weiter auf „Fortfahren“ ginge. Das will ich ja nicht, ich wollte nur sehen, ob die Backups gefunden werden. Also schließe ich die Wiederherstellung mit Befehl+q. Auch die Recovery-Umgebung beende ich mit Befehl+q und bestätige die Abfrage zum Neustart.

Backup-Integrität prüfen

Nun will ich noch schnell prüfen, ob das Backup auch wirklich in Ordnung ist. Dass es da ist und auch angezeigt wird, heißt ja noch nicht, dass der Kopiervorgang auch wirklich sauber durchgelaufen ist. In regelmäßigen Abständen macht Mac OS X diese Prüfung automatisch, aber ich kann sie auch manuell anstoßen.

Mit VO+MM gehe ich in den Statusbereich und bewege mich mit VO+Rechts zu „Time Machine“. Mit VO+Leertaste öffne ich das Menü und gehe mit Pfeil runter auf „Backup jetzt erstellen“. Ich will ja kein Backup erstellen, daher drücke ich auch nicht Enter. Aber wenn ich jetzt die Wahltaste drücke, ändert sich der Befehl in „Backups überprüfen“. Genau das will ich, daher drücke ich Wahl+Enter. Die Überprüfung beginnt, und ich warte ab, ob es mir Fehler meldet. Dieser Vorgang kann auch eine ganze Weile dauern. Im Statusmenü für Time Machine kann man immer sehen, wie weit er schon ist.

Fazit

Die Überprüfung war erfolgreich, somit hat Einrichtung und Kopieren geklappt. Der Server ist nun mein TimeMachine-Backupziel. Daher stelle ich die automatische Sicherung in den Systemeinstellungen für Time Machine auch wieder auf ein.

Zuvor jedoch mache ich, nur um sicher zu gehen, ein manuelles Backup. Hierbei kann es passieren, dass ein Fenster aufgeht, welches euch darüber informiert, dass sich die Identität des Backup-Volumes geändert hat. Dies ist ja auch klar, wir haben es ja von einem anderen Server hier her kopiert. Daher ignoriere ich die Warnung und gehe auf die Schaltfläche „Dieses Volume verwenden“. Anschließend dauert es eine Weile, bis das Backup beginnt, da Time Machine es erst noch neu indizieren muss.

Eine Aufgabe weniger, die mein QNAP erledigen muss. Um genau zu sein, noch habe ich auf den Server nicht alle Daten kopiert. Wenn das aber passiert ist, wird das QNAP NAS nicht mehr gebraucht. Ich weiß noch nicht, was ich dann damit mache. Wahrscheinlich benutze ich es dann nur noch, um meine Daten zu sichern, wie ich schon sagte, ein Backup haben ist dreiviertel der Miete. 🙂

Podcast Nr. 57: Mac-Einstieg 11 – Backup und Wiederherstellung mit Time Machine

Wenn die Festplatte kaputt ist, freut man sich, wenn man ein Backup hat. Damit kann man sein MacBook oder anderen Mac leicht wiederherstellen. In dieser Episode zeige ich euch, wie man so ein Backup mit Time Machine anlegt und sein System daraus wiederherstellt.

Download