Archiv für Februar, 2008

Time Machine backups on network shares in Leopard

This is a slightly shortened version of an article I already wrote in German which is my native language so please forgive me possible mistakes.

Mac OS X features in its newest release Leopard (Mac OS X 10.5.2 while I am writing this) an automatic backup solution called Time Machine. It automatically creates backups, takes care of everything and even incorporates a very stylish interface to find and recover old files.

Unfortunately Time Machine has some limitations. So far it only works with external hard disks that are connected directly to the Mac. Apple now provides a solution for network backups called Time Capsule. However, using already existing drives for backup would be desirable.

You can find guides to make Time Machine at least accept network shares as backup drives in the web. Using the command (all in one line)

defaults write com.apple.systempreferences
                      TMShowUnsupportedNetworkVolumes 1

in Terminal is sufficient. But this only results in accepting the share. At least in my case creating the first backup failed with the error:

Time Machine Error - The backup disk image could not be created.

Pretty dissatisfactory. We gonna need new solutions. In my investigation I often found the statement that Time Machine simply would accept self made disk images on the network share. It doesn’t.

It rather helps to investigate the failed backup attempt more precisely. You will notice that Time Machine tries to create a sparse bundle disk image on the share. It remains Time Machine’s mystery why that fails.

On Apple’s support forums you’ll find further advice. It is proposed to copy the bundle image while creation and to copy it back after this fails. Did not work for me. Anyway, the solution is much simpler. During the backup attempt Time Machine creates the bundle image on the share. This is called <computer’s name>_<string>.sparsebundle (Update: by the way, string is the MAC address of the local en0 device without colons). You should keep the exact name in mind (e.g. by copy & paste or by looking in Console or by constructing it yourself from computer’s name and MAC address).

Afterwards you start Disk Utility and create another “sparse bundle disk image” on your local drive. Volume Size should be the designated maximum size (see update 2) of the Time Machine backup (don’t be afraid, only by using the image it will increase in size). Further parameters: Volume Format - Mac OS Extended (Journaled); Partitions - No partition map.

After this use the exact name Time Machine assigned to its bundle image to rename your newly created image (if not already done while creating your own image). Finally you copy the image on the share and manually start a backup via menu bar.

Voilà. Afterwards Time Machine should start the tedious initial backup.

Update: Giving it a try I am positively surprised. After the successful initial backup Time Machine tries to create new backups every hour. And doing so it behaves very ideally. If the network share is not accessible (e.g. host is turned off) the backup simply will not be performed (and the user won’t be bugged with error messages). Nevertheless Time Machine continues to try to access it hourly. If the host comes online again new backups will be created. The needed share and disk image will be mounted automatically.

If you want to access Time Machine to recover files the automatic mounting will work as well. At first (in my case) the Spotlight index was broken. I don’t know why this happened, but I have created an article how to repair this index (currently only available in German).

On the network host which provides the share I have created a special backup user whose home directory contains the image. Fortunately, Time Machine has no problem if a user connects to shares on the host with his own user data.

Let’s face the drawbacks. Once a backup is created or Time Machine is launched the image will indeed be mounted but will not always be unmounted afterwards. Thus, users will have the image on their desktops. The connection to the share itself will also be kept established (but it is only visible by entering mount in Terminal).

Both isn’t necessarily bad if the share keeps being available. However, this does not have to be the case. If you want to disconnect image and share correctly from your Mac you’ll first have to unmount the image itself. Sometimes the system requires an admin password to do so. The share can only be unmounted by calling umount in Terminal. Supposably it will become problematic if the host is shut down while a connection is established or even a backup is in progress.

And of course bandwidth is a major drawback. If (as in my case) the Mac is a MacBook primarily using 802.11g WLAN and accessing the share on a Windows machine via SMB you surely should not expect too much from this solution.

Update 2: Things you should know about the maximum size of the image and the free space on the network share.

Vetraulichkeit und Integrität

“Wer die Überprüfung von Daten auf Rechnern potenzieller Terroristen für einen Einbruch in den grundgesetzlich geschützten Wohnraum hält, hat das Wesen des Internets nicht verstanden”, betonte Wolf. Der Nutzer befinde sich weltweit online und verlasse damit bewusst und zielgerichtet die geschützte häusliche Sphäre. “Der Standort des Computers ist dabei völlig unerheblich. Es findet zudem keinerlei Überwachung der Vorgänge in der Wohnung selbst statt”, erläuterte der Innenminister.

Das sagte NRW-Innenminister Ingo Wolf im Oktober 2006 über die sogenannten Online-Durchsuchungen im NRW-Verfassungsschutzgesetz. Wolf ist Mitglied der FDP. Der Partei, die sich Bürgerrechte und Liberalität auf die Fahnen geschrieben hat und Freiheit im Namen trägt.

Gleichzeitig ist die FDP aber auch die Partei von Leuten wie Gerhart Baum (selber einst Bundesinnenminister), Sabine Leutheusser-Schnarrenberger (Bundesjustizministerin a.D.) oder Burkhard Hirsch (ehem. NRW-Innenminister). Letztere haben teilweise bereits mehrfach erfolgreich gegen Sicherheitsgesetze Verfassungsbeschwerden eingereicht.

So ist es auch nicht verwunderlich, dass Gerhart Baum auch zu jenen gehört, die gegen eben diese Online-Durchsuchungen in Karlsruhe Verfassungsbeschwerde einlegten. Und Recht bekamen. Das Gesetz ist in seiner derzeitigen Form verfassungswidrig.

Aber mehr noch. So haben die Verfassungsrichter sogar aus dem Grundgesetz ein neues „Grundrecht auf Gewährleistung der Vertraulichkeit und Integrität informationstechnischer Systeme“ abgeleitet. Welche Auswirkungen das haben wird, kann man jetzt kaum absehen. Ein Erfolg für die Freiheit ist es allemal. So viel zum Wesen des Internet, Herr Wolf.

Absurd wird es aber, wenn man sich die Reaktion der FDP-Bundestagsfraktion zum gestrigen Urteil ansieht:

„Das Modell Schily-Schäuble, das die Freiheit der Bürger zu schützen vorgibt, indem es die Bürgerfreiheit aufgibt, ist höchstrichterlich beendet worden“, kommentiert FDP-Partei- und Fraktionschef Guido Westerwelle zur Entscheidung der obersten Richter. Das Gericht stoppe die Aushöhlung der Privatsphäre, wie sie unter Rot-Grün mit Otto Schily begann und wie sie unter Schwarz-Rot mit Wolfgang Schäuble fortgesetzt werden soll.

Ja, ist klar. Dumm nur, dass das betreffende Gesetz von einem FDP-Politiker auf den Weg gebracht und mehr als einmal verteidigt wurde. Wieder einmal bestätigt sich die FDP als populistisch-opportunistische Partei.

Zurück zu Wolf und dem Wesen des Internets. Nur weil ich mit dem Computer ins Internet gehe, auf dem auch meine privatesten und intimsten Daten liegen, heißt das nicht, dass ich diese Daten auch im Internet zur Verfügung stelle. Ja, meine Festplatte gehört für mich zum geschützten sog. Kernbereich privater Lebensgestaltung. Und nur weil es (für den Staat) Möglichkeiten geben mag, sich Zugriff auf diese Daten zu verschaffen, heißt das noch viel weniger, dass dieser Zugriff rechtens ist.

Schön, dass das Bundesverfassungsgericht das auch so anerkannt hat.

R.I.P. WAP

Der Mobilfunkanbieter O2 stellt seine WAP-Flatrate ein. Und wieder einmal kann man einer Technologie der Mobilfunkindustrie beim Sterben zuschauen, die nie wirklich gelebt hat. Weil sie völlig an den Bedürfnissen der Kunden vorbei entwickelt wurde und mit Tarifen auf dem Markt gedrückt wurde, die um einige Größenordnungen von dem entfernt lagen, was man als verhältnismäßig hätte beschreiben können.

Apfelgrün

2003 hieß sie noch Universität Dortmund. Im letzten November hat sie sich dann umbenannt in Technische Universität Dortmund. Meine Uni will sich verstärkt auf ingenieurs- und naturwissenschaftliche Fächer konzentrieren, um damit ihr Profil zu schärfen.

Im Zuge dessen wurde auch ein neues Corporate Design geschaffen. Ich muss zugeben, das neue Logo und auch die Hausschrift Akkurat gefallen mir sehr gut. Auch wenn die Begründung der Farbwahl bei mir nur ein Stirnrunzeln hinterlässt.

Die neue Homepage der TU hat man allerdings, wie ich finde, mehr schlecht als recht an das neue Design angepasst (aber immerhin ist die Seite benutzbar, was auf die alte Seite gar nicht zu traf). Peinlich ist es jedoch, dass man direkt das neue und sicher teure Logo direkt verhunzt hat. Auf der Website hat man es am unteren Rand abgeschnitten, so dass ein paar Pixel fehlen.

Das ist sicher kein Beinbruch. Und ja, es gibt wichtigere Probleme. Aber wenn man sich erst PR-wirksam ein neues Design durch eine sicher nicht günstige Agentur schaffen lässt und man tatsächlich Hoffnungen hegt, durch dieses eine bessere Positionierung im Vergleich mit anderen Universitäten zu erreichen, dann sollte man doch wohl auch in der Lage sein, das Logo unverstümmelt auf die eigene Website zu stellen. Finde ich.

Nachtrag: Man hat es inzwischen korrigiert.

Critical error in central area of reason

Gutartige Bakterien wurden am dritten Tag erschaffen, Krankheitserreger nach dem Sündenfall.

Ich würde gerne über so etwas lachen. Laut und heftig. Kann ich aber leider nicht, weil ich sehen muss, dass Menschen, die so argumentieren, immer mehr Anhänger finden und im zur Zeit mächtigsten Land dieser Welt mehr und mehr als Wissenschaftler akzeptiert werden.

Nun fragen Kreationisten oft danach, warum die Wissenschaft der Evolutionstheorie besser sei als ihre Vorstellung. Die Antwort ist einfach: Weil sie scheitert.

Fakt ist, die Evolutionstheorie kann zwar untermauert werden und es können viele stichhaltige Hinweise auf ihre Korrektheit gefunden werden. Ihre endgültige Korrektheit kann jedoch niemand beweisen. Noch schlimmer sieht es in dem Bereich aus, mit dem ich täglich zu tun habe. In der Physik der kleinsten Teilchen existieren nur noch abstrakte Modelle, die versuchen, experimentelle Beobachtungen zu erklären. Das Standardmodell der Teilchenphysik ist fehlerhaft, auch das ist Fakt. Was danach kommt, weiß noch keiner genau.

Aber wenn ich die Wahl habe zwischen einem Konzept, das fehlbar ist und in Frage gestellt werden kann und möchte, das Scheitern und die daraus folgende Weiterentwicklung fördert, und einer Anschauung, die dogmatisch die Infragestellung verbietet, die ihre Lehren auf ein Buch stützt, welches von fehlbaren Menschen geschrieben und mehrfach (falsch) übersetzt wurde, was sollte ich dann wie jeder halbwegs vernunftbegabte Mensch nach der Zeit der Aufklärung wählen?

Eben.

Spotlight-Index unter Mac OS X wirklich zurücksetzen

Schon wieder ein Technikartikel. Irgendwie habe ich es gestern geschafft, den Spotlight-Index sowohl auf meiner eigenen Time-Machine-Backup-Platte, sowie auf dem im vorigen Artikel beschriebenen Netzwerk-Backup-Image zu zerschießen. Das machte sich dann u. A. darin bemerkbar, dass Spotlight in den Backups keine Dateiinhalte mehr fand, die definitiv vorhanden waren.

Ärgerlich, dass sowas überhaupt passiert. Aber noch ärgerlicher, dass übliche Problembeseitigungsvorschläge bei mir nichts brachten. Diese sehen z. B. vor, per mdutil den Index neu zu erstellen. Dazu gibt man mit root-Rechten oder per vorangestelltem sudo im Terminal ein:

mdutil -E /Volumes/<Volumename>

Dies führte zwar in meinem Fall dazu, dass Spotlight begann, den Index neu zu erstellen. Allerdings war dieser Vorgang nach Sekunden (im Fall des mit 19 GB belegten Images) bis wenigen Minuten (im Fall meiner externen Platte, die immerhin 164 GB an Backups enthält) beendet, was definitiv zu schnell ist, um eine so große Datenmenge zu indizieren.

Was dagegen half: Über das Terminal auf dem betreffenden Volume den Ordner .Spotlight-V100 löschen:

rm -r /Volumes/<Volumename>/.Spotlight-V100

Anschließend ließ sich dann mit obigem Befehl der Index wirklich neu erstellen. Das dauerte im Fall der externen Platte einige Stunden. Beim Backup-Image, das noch sehr frisch ist, ging es wesentlich schneller.

Jetzt funktioniert die praktische Suche auch in Time Machine wieder. Und ich hoffe, dass so ein kaputter Index nicht so schnell wieder vorkommt.

Time-Machine-Backups auf Netzwerkfreigaben unter Leopard

(Note to English speaking readers: Also available in English.)

Vielleicht hilft das hier ja Jemandem. Immerhin hat es mich heute den halben Nachmittag gekostet. Worum es geht: Mac OS X hat in seiner neuesten Version Leopard (Mac OS X 10.5.2 während ich dies schreibe) eine automatische Datensicherungslösung eingebaut, genannt Time Machine.

Diese erstellt äußerst praktisch automatische Backups, kümmert sich um alles und bietet sogar ein sehr stylisches Interface, um alte Daten zu finden und wieder herzustellen.

Leider ist Time Machine mit ein paar Einschränkungen verbunden. Bisher funktioniert sie ohne Weiteres lediglich auf externen Festplatten, die man direkt an den Mac anschließt. Ein Produkt für Netzwerk-Backups hat Apple angekündigt, wünschenswert wären aber auch Backups auf bestehende Laufwerke im Heimnetzwerk.

Bei macnews findet sich eine Anleitung, wie man immerhin Time Machine dazu überreden kann, Netzwerkfreigaben als Laufwerk zu akzeptieren. Dazu reicht die Eingabe von (alles in einer Zeile)

defaults write com.apple.systempreferences
                   TMShowUnsupportedNetworkVolumes 1

im Terminal. Das führt aber nur dazu, dass Time Machine zwar eine Netzwerkfreigabe akzeptiert, dann aber (zumindest bei mir) beim Erstellen des ersten Backups scheitert:

Fehler bei Time Machine - Das Image des Backups konnte nicht erstellt werden.

Ziemlich unbefriedigend also. Es müssen weitere Lösungen her. Keinesfalls sollte man den Vorschlag berherzigen, der bei macnews in den Kommentaren geäußert wurde, wo es heißt, dass Time Machine einfach ein selbst erstelltes Disk Image auf dem Netzlaufwerk akzeptiere. Nach stundenlangem Image-Erstellen ließ sich Time Machine nicht überzeugen, dieses zu verwenden.

Stattdessen hilft es, sich den gescheitereten Backup-Versuch mal genauer anzusehen. Dabei fällt auf, dass Time Machine auf der Freigabe versucht, ein Bundle-Image zu erstellen. Warum das scheitert, bleibt ein Geheimnis von Time Machine.

In Apples Supportforen findet man weitere Lösungshinweise. Dort wird vorgeschlagen, dass Bundle-Image während der Erstellung zu kopieren und nach dem Scheitern zurück zu kopieren. Hat bei mir nicht funktioniert.

Es geht aber sowieso viel einfacher. Während des Backupversuchs erstellt Time Machine auf der Freigabe das Bundle-Image. Dieses heißt dann <rechnername>_<zeichenkette>.sparsebundle (Nachtrag: zeichenkette ist die MAC-Adresse des lokalen en0-Devices ohne Doppelpunkte). Diesen Namen sollte man sich merken (z. B. per Copy & Paste oder durch Nachschauen in der Konsole).

Anschließend erstellt man mit dem Festplatten-Dienstprogramm einfach auf dem lokalen Rechner ein “Mitwachsendes Bundle-Image” in der gewünschten Maximalgröße (s. Nachtrag 3) des Time-Machine-Backups (keine Angst, das Image wird erst durch Benutzung groß). Weitere Parameter: Format - Mac OS Extended (Journaled); Partitionen - Keine Partitionstabelle.

Danach benennt man dieses Image (falls nicht schon bei der Erstellung geschehen) genau so wie vorher Time Machine sein Bundle-Image genannt hat. Das Image kopiert man dann noch auf die Freigabe und startet manuell ein Backup über die Menüleiste.

Voilà. Anschließend sollte Time Machine beginnen, das langwierige erste Backup zu erstellen. Weitere Details folgen, sobald ich diese Lösung ausgiebiger getestet habe.

Nachtrag: Nach einigem Herumprobieren bin ich positiv überrascht. Nach dem ersten erfolgreichen Backup versucht Time Machine stündlich neue Backups anzulegen. Und dabei verhält es sich sehr vorbildlich. Ist der Netzwerkrechner, auf dem das Backup-Image liegt, nicht erreichbar (z. B. abgeschaltet) wird das Backup einfach nicht durchgeführt und der Benutzer mit Fehlermeldungen verschont. Trotzdem versucht Time Machine weiterhin stündlich auf diesen zuzugreifen. Ist der Rechner dann wieder online, werden neue Backups erstellt. Dabei wird die benötigte Netzwerkfreigabe und das darauf liegende Image automatisch gemountet.

Will man auf die Time Machine zugreifen, um Dateien wiederherzustellen, so funktioniert auch hier das automatische Mounten des Images. Anfangs war jedoch der Spotlight-Index für das Image kaputt. Warum das passierte, kann ich mir nicht erklären. Einen Artikel zur Reparatur dieses Index habe ich bereit gestellt.

Auf dem Rechner im Netz, der die Freigabe für das Image zur Verfügung stellt, habe ich extra einen Backup-Nutzer angelegt, in dessen Benutzerverzeichnis das Image liegt. Erfreulicherweise kommt Time Machine damit klar, wenn ein Benutzer sich für andere Freigaben mit seinen eigenen Benutzerdaten am Netzwerkrechner anmeldet.

Kommen wir zu den Nachteilen. Sobald ein Backup erstellt wird oder aber Time Machine aufgerufen wird, wird das Image zwar gemountet, danach aber nicht immer wieder vom System getrennt. Folglich haben Benutzer auf dem Mac das Image dann auf dem Desktop liegen. Auch die Verbindung zur eigentlichen Netzwerkfreigabe (auf der ja das Backup-Image als Datei/Ordner liegt) bleibt hergestellt. Diese ist aber nur durch Eingabe von mount im Terminal sichtbar.

Beides ist prizipiell nicht schlimm, solange die Freigabe ständig verfügbar ist. Das ist aber nicht unbedingt der Fall. Will man das Image und die Freigabe sauber vom System trennen, muss man zunächst das Image auswerfen. Das klappt aber nur manchmal ohne Weiteres. Teilweise verlangt das System die Eingabe eines Administratorpassworts, wann genau konnte ich nicht feststellen. Die Netzwerkfreigabe lässt sich nur über umount trennen. Kritisch wird es vermutlich, wenn der Freigaberechner heruntergefahren wird, während eine Verbindung besteht oder gerade gar ein Backup erstellt wird.

Und natürlich ist auch die Geschwindigkeit ein großer Nachteil. Wenn (wie hier) der Mac ein Notebook ist, vorrangig mit altem 802.11g-WLAN unterwegs ist und die Freigabe noch dazu über einen Windowsrechner per SMB verbunden ist, darf man sicher nicht zu viel erwarten.

Nachtrag 2: Ich habe Time Machine noch einmal ordentlich gequält. Dabei verhält es sich weiterhin erstaunlich robust. Es kommt vergleichsweise gut damit klar, wenn während des Backups der Freigabenhost vom Netz getrennt wird. Das Backup versagt dann natürlich, wird aber beim nächsten Mal einfach nachgeholt.

Auch kommt Time Machine bzw. Mac OS damit klar, wenn auf der Freigabe weniger Platz frei ist als im Bundle-Image theoretisch frei wäre. Hier orientiert sich Mac OS an der Freigabe, so dass das Image dann entsprechend eher voll erscheint.

Anschließend habe ich dann noch das Image von der Windowsfreigabe auf die externe Festplatte am anderen MacBook kopiert (das hatte einfach parktische Gründe; der Windowsrechner ist fast nie gleichzitig mit dem MacBook in Betrieb, so dass man ihn extra für Backups anschalten müsste; das andere MacBook ist jedoch wesentlich häufiger eingeschaltet). Time Machine verkraftet diesen Wechsel problemlos.

Allerdings habe ich dabei eine interessante Feststellung gemacht. Ließ ich Time Machine vorher ein komplett neues Backup auf der Freigabe des anderen MacBooks (die per AFP und nicht per SMB eingebunden ist) erstellen, klappte das Imageerstellen hier problemlos. Nun habe ich die Vermutung, dass im SMB-Subsystem von Leopard einfach etwas kaputt ist.

Darauf deutet auch hin, dass es mir nicht gelang, auf einer SMB-Freigabe ein Image von Hand zu erstellen. Ein Versuch per hdiutil liefert nur:

DIHLDiskImageCreate() returned 45
hdiutil: create: returning 45
hdiutil: create failed - Der Vorgang wird nicht unterstützt

Wahrscheinlich der gleiche Fehler, der auch Time Machine aus dem Konzept bringt. Wenn dem so ist, bleibt zu hoffen, dass dieser Fehler in kommenden Versionen von Mac OS X behoben werden könnte.

Nachtrag 3: Was es beim freien Speicher auf der Freigabe und der Maximalgröße des Images zu beachten gilt.

Tourette für Spießer

Die Gänsereiter ziehen gerade mit ihrem Umzug an unserem Haus vorbei. Dazu dröhnend lauter Mallorca-Apres-Ski-Schlagertechno. Musik für Tourettespießer. Da kommen dann so originelle Zeilen wie „Du Luder… Du Drecksau.“ oder „Finger in’ Po — Mexiko; Paris, Athen — Auf Wiederseh’n.“

Immerhin regnet es.