Michael Koflers Blog
Lion Time-Machine-Backups unter Ubuntu 11.10 [2. Update]
Apple wäre es am liebsten, wenn Sie für Netzwerk-Backups die sündhaft teure Time Capsule verwenden, oder einen zweiten Mac, auf dem OS X Server installiert ist. Wesentlich kostengünstiger ist ein Linux-Server -- aber es bedarf einiger Überredungskunst, um Ubuntu und Lion zur Zusammenarbeit zu bewegen.
[2. Update 19.10.2011: Dieser Beitrag behandelt jetzt Ubuntu 11.10 und nicht mehr Ubuntu 11.04!]
[3. Update 3.11.2011: netatalk-Bug umgehen]
Offizielle Backup-Medien für die Time Machine sind:
- Externe Festplatten
- Die Time Capsule (das ist ein WLAN-Router von Apple mit eingebauter Festplatte)
- Ein Mac mit OS X Server
Network Attached Storage Devices (also NAS-Geräte) werden zwar nicht offiziell unterstützt, eignen sich aber ebenfalls wunderbar für Time-Machine-Backups. Zu achten ist aber darauf, dass das NAS-Gerät das Apple Filing Protocol AFP in der neuesten Version unterstützt, d.h. inklusive der DHX2-Authentifizierung. Die meisten NAS-Hersteller sind gerade dabei, entsprechende Updates für Ihre Geräte zusammenzustellen. Eine Anleitung, wie Sie NAS-Festplatten zur Not auch ohne DHX2-Authentifizierung von Lion aus ansprechen können, finden Sie z.B. hier.
Ubuntu 11.10 als Backup-Server für Lion
Was ein NAS-Gerät kann, kann Linux schon längst -- zumal in den meisten NAS ohnedies eine Linux- oder BSD-Distribution läuft. Der Schlüssel zur Zusammenarbeit zwischen OS X und Lion ist der Open-Source-AFP-Server netatalk. Mit Ubuntu 11.10 wird bereits die Lion-kompatible Version 2.2 von netatalk mitgeliefert. (Alle im Folgenden angegebenen Kommandos sind mit root-Rechten bzw. mit sudo auszuführen.)
apt-get install netatalk
Die mitgelieferten Konfigurationsdateien können im Wesentlichen bleiben, wie sie sind. An das Ende von /etc/netatalk/afpd.conf fügen Sie die folgende Zeile hinzu (alles in einer Zeile!):
- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2_passwd.so -nosavepassword
Der rot markierte Zusatz _passwd wählt anstelle von uams_dhx2 ein anderes Authentifizierungsmodul aus, weil das Modul uams_dhx2 in der von Ubuntu ausgelieferten Version fehlerhaft ist und Abstürze verursachen kann.
Am Ende der Datei /etc/netatalk/AppleVolumes.default geben Sie an, welches Verzeichnis für die Time-Machine-Backups verwendet werden soll. In meinem Fall muss sich die Time Machine als kofler beim Netatalk-Server identifizieren (mit meinem Passwort). Ihr Mac soll das Time-Machine-Medium unter dem Namen tm_on_ubuntu sehen. Diese Angaben müssen Sie durch Ihre eigenen Daten ersetzen. Das gesamte folgende Listing ist in eine Zeile zu schreiben!
/backup/tm tm_on_ubuntu allow:kofler cnidscheme:dbd options:usedots,upriv,tm
Als Backup-Verzeichnis verwende ich /backup/tm. Dieses Verzeichnis müssen Sie einrichten und dem Benutzer zuordnen, der sich beim AFP-Server anmelden wird:
mkdir -p /backup/tm
chown -R kofler.kofler /backup/tm
Zuletzt müssen Sie netatalk neu starten:
service netatalk restart
Avahi-Konfiguration
Anders als in der ersten Version dieses Blog-Beitrags beschrieben, ist darüber hinaus keine Avahi-Konfiguration erforderlich! Netatalk macht sich jetzt selbst via Bonjour/Avahi bemerkbar. Eine zusätzliche Avahi-Konfiguration führt zu Namenskonflikten und dazu, dass Netatalk nicht funktioniert!
Wenn Sie entsprechend der ursprünglichen Anleitung die Datei /etc/avahi/services/afpd.service eingerichtet haben, löschen Sie diese Datei wieder und starten den Avahi-Dämon dann neu!
service avahi-daemon restart
Verwendung des Backup-Speichers in der Time Machine
Der Time-Machine-Dialog zur Auswahl des Backup-Mediums sollte nun tm_on_ubuntu anzeigen:
Quelle: awain-Blog
Die ebenfalls in der ursprünglichen Version des Artikels beschriebene Änderung in /etc/nsswitch.conf ist ebenfalls überflüssig, sie schadet aber auch nicht.
PS: Mit dem Update des Artikels sind leider alle bisherigen Kommentare verloren gegangen. Sorry -- das war nicht beabsichtigt. (Ich verstehe selbst nicht ganz, warum. Die Blog-ID des Artikels ist ja gleich geblieben.)
Zum Einloggen verwenden Sie den Login-Namen und das Passwort eines Ubuntu-Accounts (im Blog-Beispiel also 'kofler' und das Passwort von kofler auf dem Ubuntu-Rechner).
ich hatte das gleiche Problem wie Herr Schulz; jetzt habe ich folgendes gefunden was mir (endlich die Lösung) brachte:
Hier stehts: https://bugs.launchpad.net/ubuntu/+source/netatalk/+bug/810732
=================== BEGIN WORKAROUND =================== # cd /usr/lib/netatalk # mv uams_dhx2.so uams_dhx2.so.broken # ln -s uams_dhx2_passwd.so uams_dhx2.so =================== END WORKAROUND ===================Gruß, Mark P.S.: Danke für die klasse Anleitung!!
Oct 22 15:20:59 obelix2 afpd[7451]: =============================================================== Oct 22 15:20:59 obelix2 afpd[7451]: INTERNAL ERROR: Signal 11 in pid 7451 (2.2-beta4) Oct 22 15:20:59 obelix2 afpd[7451]: =============================================================== Oct 22 15:20:59 obelix2 afpd[7451]: BACKTRACE: 3 stack frames: Oct 22 15:20:59 obelix2 afpd[7451]: #0 /usr/sbin/afpd(netatalk_panic+0x1c) [0x7f5290b4649c] Oct 22 15:20:59 obelix2 afpd[7451]: #1 /usr/sbin/afpd(+0x4d59c) [0x7f5290b4659c] Oct 22 15:20:59 obelix2 afpd[7451]: #2 /lib/x86_64-linux-gnu/libc.so.6(+0x36420) [0x7f528fb22420]
Ubuntu ist 10.11 Ich bin froh für jede Hilfe. Gruss Henk
Hab ich was übersehen muss ich noch Einstellungen machen die so banal für LinuxNutzer sind das ein Anfänger nicht daruf kommt?
Hab mir überlegt ob es an der Firewall liegt evtl. Ports auf machen zumindestens 548 und 427 bzw. die /etc/netatalk/afpd.conf ist ja sozusagen bis auf die oben beschriebene Zeile komplett leer oder alles mit # ist ja sozusagen nicht da. Ich hoffe ihr könnt mir helfen
Ach ja in der /var/log/syslog steht nichts drin was auf ein Fehler schließen lässt.
Oct 29 13:11:44 HTPC afpd[1117]: AFP/TCP started, advertising 0.0.0.0:548 (2.2-beta4)
startet und dann irgendwann wieder so ein Absatz aber damit kann ich nicts anfangen
Oct 29 14:49:54 HTPC afpd[1065]: AFP Server shutting down on SIGTERM Oct 29 14:49:56 HTPC cnid_metad[2277]: Set syslog logging to level: LOG_NOTE Oct 29 14:49:56 HTPC [2279]: Set syslog logging to level: LOG_NOTE Oct 29 14:49:56 HTPC afpd[2280]: AFP/TCP started, advertising 192.168.1.101:548 (2.2-beta4)
Besteht überhaupt eine Netzwerkverbindung zwischen den beiden Rechner? Der Ubuntu-Rechner hat die IP-Adresse 192.168.1.101, welche hat OS X?
die Verbindung scheint zu funktionieren. Ich bekomme den htpc mit ubuntu im Finder unter Freigaben angezeigt. wenn ich aber darauf zugreifen will steht oben Verbindung fehlgeschlagen. Wenn ich dann über Verbinden als... die Verbindung aufbauen will sagt er mir "Beim Verbinden mit dem Server "HTPC" ist ein Fehler aufgetreten" ja ansonsten weißich jetzt nicht was ich dir noch sagen kann um eine bessere Ferndiagnose zu stellen.
PS.: ich hab backup/tm auf die Systemplatte im Dateisystem neben home, lib, ... und so das war doch richtig? Stört sich die Time-Maschine evtl am Dateisystem hab Ext4. Ich bin echt ratlos
Wie schon Mark vor einigen Tagen erwähnt hat, gibt es aktuell einen Bug in der uams_dhx2_pam.so (auf die uams_dhx2.so nur ein Symlink ist), vgl.: link1, link2 und link3
Sobald die uams_dhx2.so mit Lion verwendet wird, kommt es zu einem Segfault - hier getestet mit frisch (from scratch, d.h. kein Upgrade) installiertem Lion & Ubuntu.
Symptom: Bei dem Versuch, sich an dem in Finder auftauchenden Server anzumelden, kommt die schöne Fehlermeldung: 'There was a problem connecting to the server "servername".'
Warum es bei Ihnen klappt, Michael, ist mir unklar. Haben Sie vielleicht früher einmal auf Ihrem Mac irgendwelche Einstellungen geändert, damit die Verbindung mit älteren Versionen von netatalk möglich ist (z.B. unsichere Verbindung für die alte uams_dhx.so, da gab es einmal etwas, an die Details erinnere ich mich nicht mehr)?
Einen möglichen Workaround hat Mark ja schon beschrieben (Symlink uams_dhx2.so in /usr/lib/netatalk/ auf uams_dhx2_passwd.so zeigen lassen, statt auf uams_dhx2_pam.so).
Statt an von der Paketverwaltung angelegten Dateien herumzuspielen, ist es in meinen Augen sinnvoller, in der afpd.conf einfach die entsprechende UAM einzubinden:
# (alt) #- -tcp -noddp -uamlist uams_dhx.so,uams_dhx2.so -nosavepassword # Fix: - -tcp -noddp -uamlist uams_dhx.so,uams_dhx2_passwd.so -nosavepassword
So klappt es auch mit Lion. Gruß Roman
danke erst einmal für den Artikel. Bei mir klappt es jedoch nicht so richtig, vielleicht kann mir ja jemand helfen? Die Logdatei zeigt
.... Nov 11 01:34:11 server afpd[16533]: ASIP session:548(5) from 192.168.0.105:55548(7) Nov 11 01:34:11 server afpd[16533]: DHX2 login: **user** Nov 10 23:52:23 server afpd[27584]: login **user** (uid 1003, gid 1004) AFP3.1 Nov 10 23:52:23 server afpd[27584]: getfd: connect localhost: Verbindungsaufbau abgelehnt Nov 10 23:53:08 server afpd[27584]: last message repeated 8 times Nov 10 23:53:08 server afpd[27584]: afp_openvol(/home/**user**/TM-Backup): Fatal error: Unable to get stamp value from CNID backend Nov 10 23:53:25 server afpd[27584]: logout **user** Nov 10 23:53:25 server afpd[27584]: 0,66KB read, 0,50KB written Nov 10 23:53:25 server afpd[27573]: server_child[1] 27584 done ....
Hat jemand eine Idee? Besten Dank schonmal.
Auf dem Server hatte ich das Musik Verzeichnis gelöscht und durch einen symbolischen Link auf eine separate Platte ersetzt, in Ubuntu verhält sich das wie ein normales Verzeichnis, vom Mac hingegen sehe ich nur den Alias, und kann nicht auf die Daten zugreifen "Das Alias Musik kann nicht geöffnet werden". Habe jetzt als Workaround ein paar Musikordner auf dem Server ins Verzeichnis Downloads geschoben, auf dem Server dann mit Thunar die Daten ins Verzeichnis Musik verschoben, hat funktioniert. Kann netatalk nicht mit symbolischen Links umgehen, oder muss man das extra konfigurieren?
und zunächst besten Dank für die tolle Anleitung! Ich nutze hier ein aktuelles frisches Ubuntu 11.10 mit allen Aktualisierungen und im Netz gibt es mehrere Mac's mit OSX 10.6.8.
Ich habe wie im Artikel beschrieben lediglich Netatalk installiert und die Freigaben eingerichtet. TM sieht die Freigabe und beginnt auch mit dem Backup. Dieses hat bei einem MacMini auch wunderbar geklappt. Bei einem anderer iMac kommt es aber regelmäßig zu einem Komplettabsturz des Ubunturechners. Ich muß diesen dann resetten oder am besten komplett ausschalten.
Ist Ihnen dieses Problem bekannt? Woran kann das liegen? Ich kann im Finder problemlos hunderte GB auf den Server kopieren ohne einen Absturz provozieren zu können. Nur wenn TM aktiv ist gibt es hier dieses Problem.
Ich wäre Ihnen für weitere Hilfe sehr dankbar. H. Radke
Na mal sehen wie es morgen frueh aussieht.... Gruss!
Ein Unterschied im log-File ist mir aufgefallen. Vielleicht hilft das bei der Fehlersuche weiter. Auf dem Problemrechner erscheint beim Einloggen von TM folgende Ausgabe im log:
AFP3.3 Login bei XXXX
Volume "TimeMachine" does not support.......
AFP logout by XXXX
dsi_stream_read: len:0, unexpected EOF
Es geht mir natürlich um die letzte Zeile. Was hat das zu bedeuten? Auf dem "guten" Rechner erscheint die 4. Zeile nicht. Gruß!
Nachdem ich mehrere Karten ausprobiert habe, hat erst eine Intel 1000GT Pro die Probleme beseitigt. Ich kann nicht sagen was es genau war, aber nun wird ein anderer Treiber vom System benutzt und ich habe keinerlei Fehlermeldungen oder sonstige Probleme. TM sichert so wie gewuenscht und endlich kann mein Ubuntu-Server auch diese Aufgabe im Netz uebernehmen.
Nachmals besten Dank fuer die tolle Anleitung und vielleicht hilft mein "Leidensweg" ja mal anderen Lesern. Gruss!
Ich habe das gleiche Problem wie in dem Post:
Wo ist der Fehler? Alles nach Deiner Anleitung eingerichtet. Danke.
