» Forum » Kummerkasten » Software » Gib mir mein digitales Leben zurück!

Gib mir mein digitales Leben zurück!

Salzi - 29.5.2011 - 14:20

Ich möchte hier meine Leidensgeschichte erzählen um mein "digitales Leben" wieder in die eigenen Hände zu kriegen - hoffentlich mit Happy End.

Die Vorgeschichte

Angefangen hat alles schon vor Jahren. Wer ein Notebook/Rechner und ein Smartphone besitzt kennt das Problem des synchronisieren. Klar könnte man regelmässig beides zusammen verbinden und syncen lassen, wer aber ähnlich faul wie ich bin weiss, dass sowas auf Dauer nicht gut geht. Spätestens nachdem ich den zweiten Termin wegen vergessener Synchronisation vergessen hatte, sah ich mich nach einer Alternative um. Da ich früher nur ein Macbook Pro und ein iPhone 3G besass, bot sich natürlich MobileMe von Apple an. Dies funktionierte zwar wunderbar, hinterliess aber wegen mangelnder Verschlüsselung doch einen sehr faden Beigeschmack. Zudem hatte und habe ich heute noch ein grosses Problem damit, meine Daten einem so grossen Konzern anzuvertrauen. Darum war auch GMail von Google keine wirkliche Alternative. Ich hatte aber auch immer mehr Mühe damit, mir von Apple vorzuschreiben lassen was ich darf und was nicht und zudem missfiel mir der Erfolg von Apple etwas. Nicht, dass ich es den Herren in Cupertino nicht gönnen würde, aber mit dem Erfolg, wurden die Dinge, die ich an Apple so schätze, immer mehr unter den Teppich gekehrt. Apple steht und stand immer mehr unter Erfolgsdruck und so kam es halt auch zu Fehler. So wollte ich mich doch wieder etwas von Apple entfernen. Darum stieg ich auf ein Android Handy um - ich bin mir bis heute nicht sicher, ob dieser Schritt richtig war, darum lassen wir ihn einfach mal so stehen. Zudem kam ein zweites Notebook ins Haus - mit Linux.
Die Lage spitzte sich aber noch weiter zu. Ich war inzwischen mit meinem Studium fertig und habe von meinem Arbeitgeber ein weiteres Notebook erhalten. Nur um nochmals vor Augen zu führen, dass ein einfacher sync nicht mehr so einfach war, hier eine kleine Liste meines Equitments.
- Mein Hauptrecher ist ein Notebook mit einem Linux (noch mit Ubuntu 10.10).
- Für Photoshop (meine Lizenz ist leider nur auf dem Mac gültig), meinen Zahlungsverkehr und einige andere kleinere Sachen verwende ich mein in die Jahre gekommenes Macbook Pro
- Von meinem Arbeitgeber habe ich ein weiteres Notebook mit Dual Boot (Windows 7 & Ubuntu 10.10). Wenn ich mal über das Wochenende zu meinen Eltern fahre und noch etwas Arbeit mitnehme, müsste ich eigentlich noch mein Hauptnotebook mitnehmen um auch privat zu arbeiten. Da ich dafür aber auch zu faul bin, habe ich auch ein paar private Daten auf dem Ding.
- Mein Android Handy muss meine privaten und geschäftlichen Termine organisieren.
- Das iPhone brauche ich zwar nur noch selten aber kommt schon noch ab und zu einem Kurzeinsatz.

Ich habe also 5 Geräte welche Daten austauschen müssen. Zudem will ich meine Daten nicht einer Firma anvertrauen. Und ohne Synchronisation, fehlt mir garantiert die Datei, welche ich gerade brauche.
Schritt für Schritt habe ich mich einer für mich akzeptablen Lösung genähert. Das hier soll keine Anleitung zum Nachbau sein, sondern soll vielleicht den einen oder anderen inspirieren. Natürlich kann dieser Thread auch als Diskussionsgrundlage für ähnliche Probleme dienen. Da sich die ganze Geschichte über Monate und gar Jahre hingezogen hat, werde ich hier nach und nach meine persönlichen Lösungen posten.

Salzi - 29.5.2011 - 14:28

Die Hardware

Grundlage für meinen Kampf, ist ein NAS. Das QNAP TS-219P schien mir damals ein idealer Partner zu sein. Mit 2x 2Tb HDDs sollte ich vorerst einmal Platz genug haben für meine Daten.
Weils wichtig ist für die nächsten Schritte: Das TS-219P verfügt über einen Marvell 6282 1.6GHz Prozessor und 512MB DDR3 RAM. Darauf läuft wohl irgend ein selber gestricktes Linux von QNAP. Da in den letzten Jahren immer mehr ARM Prozessoren auf den Mark geschmissen würden, sollte es wohl kein Problem sein, dass man keine normalen x86 Pakete installieren kann und alles Cross kompilieren müsste, falls es kein fertiges Paket gibt.

Ich habe mich auch wegen der grossen Community für ein QNAP Gerät entschieden. Es gibt auch viele QPKG (das sind Software Pakete für das NAS), welche man einfach nach installieren kann.

Die Erstinbetriebnahme war denkbar einfach. Einstecken und der MAC-Adresse eine fixe IP zuweisen. So hatte ich schon mal Zugriff auf das Gerät.

Salzi - 29.5.2011 - 14:48

Musik und Fotos

Als Musikfan und Hobby Fotograf, besteht der grösste Teil meiner Daten aus Fotos und Musik. Da in meinem Hauptrechner eine SSD besitzt und der Speicherplatz darauf doch arg begrenzt ist, möchte ich diese Daten nicht lokal haben. Diese Daten sollen einzig und allein auf dem NAS liegen und als Laufwerk gemouted werden.
Zunächst versuchte ich mit einem simplen NFS. NFS steht für Network File System und ist ein relativ altes Protokoll um auf Daten übers Netzwerk zuzugreifen. Dabei werden die Dateien nicht wie z. B. bei FTP übertragen, sondern die Benutzer können auf auf Dateien so zugreifen, als ob sie auf der lokalen Festplatte abgespeichert wären. Soweit so gut. Hat auch wunderbar innerhalb meines Heimnetzwerks funktioniert. Problem ist aber die Sicherheit. Als NFS entwickelt wurde, war es nicht gang und gäbe wie heute, Daten über das Internet auszutauschen. Es gibt zwar die Möglichkeit eine Verschlüsselung anzuwenden indem man RPC durch Secure-RPC ersetzt aber darum wollte ich mich nun wirklich nicht kümmern. Dank NFS4 ist aber auch die Verschlüsselung nun ein Bestandteil der Verschlüsselung. Da mein QNAP aber noch NFS3 verwendet, viel das alles flach.
Nach etwas suchen wurde ich auf SSHFS aufmerksam. SSHFS ist ein Programm, welches über SSH (Secure Shell) ein Filesystem mounten kann. So hat man eine sichere verschlüsselte Verbindung und der Rest ist vom Look&Feel wie beim NFS. Dank Google (ein Mitarbeiter von denen hat in den 20% die ein Google Mitarbeiter für private Projekte verwenden darf einen Port für FUSE - was SSHFS braucht - geschrieben) funktioniert das auch auf dem Mac. Einen Windows Support will und brauche ich nicht.
SSHFS ist direkt über die Quellen auf Ubuntu installierbar und nach ein paar Tests im Terminal hat auch alles wunderbar funktioniert. Ich habe für Fotos und Musik je einen eigenen Eintrag in meinen fstab gemacht und im Router eine Port Weiterleitung eingerichtet für alle SSH Anfragen.

Der erste Schritt war gemacht. Ich kann nun von überall auf der Welt meine Musik/Fotos mounten - Internet vorausgesetzt. Für Unterwegs habe ich sowieso einen iPod.

Mephisto - 30.5.2011 - 5:21

ABBBOOOOO!

Da mich das ganze mehr oder weniger auch betrifft werde ich hier mal aufmerksam lauschen. Wir hatte ja schon kurz geplaudert, bin mir noch nicht sicher ob das für mich das richtige ist, da meine FritzBox 7270 - die ich nutze - nur 100 Base-T kann. Daher mal gleich gefragt: An was für einem Router hängt das QNAP?

Salzi - 30.5.2011 - 11:02

Bei mir hängt ein Sch*** Modem vom Anbieter zunächst am Hauptanschluss. Daran hängt dann eine Apple Time Capsule (jaja schon wieder Apple) und daran dann das QNAP. Das ganze Port Forwarding mache ich über die Time Capsule.

Wie ich dir bereits gesagt habe, ist der Speed bei mir nicht so entscheidend. Lokal bin ich über WLAN (802.11n) damit verbunden und von extern ist sowieso der Provider der Flaschenhals. Das reicht aber alles problemlos aus um Musik zu streamen.

Salzi - 31.5.2011 - 11:22

Daten

Zugegeben wirklich viel Daten ausser Fotos und Musik habe ich nicht. Meine Daten beschränken sich eigentlich auf Code bzw. Codefragmenten oder irgendwelche Briefe welche mit LaTeX erstelle. Einige möchten jetzt sicher schreieb: "Warum machst du das nicht gleich wie mit den Fotos und der Musik?". Diese Methode hat leider einen entscheidenden Nachteil: Man braucht eine Internet-/Netzwerkverbindung oder man hat keinen Zugang auf die Daten. Da ich aber auch ab und zu unterwegs im Zug oder so arbeite, hätte ich die Daten gerne offline verfügbar. Da ich für meine Arbeiten regelmässig mit einem Subversion Server (SVN) arbeite, bot sich das für mich natürlich an. Zum einen habe ich keine propriätere File Formate und zum anderen habe ich dabei direkt eine integrierte Versionskontrolle. Sollte ich mal ein Sync vergessen kann man im nachinein alles wunderbar mergen. Soweit so gut. Nur leider gibt es kein QPKG für einen SVN Server von QNAP. Nach kurzer Recherche fand ich aber eine Anleitung im QNAP Wiki, welche Schritt für Schritt durch die Installation führt.

Die Konfiguration ist dann wieder ganz normal über das Terminal. Alles eingerichtet und getestet.
Da es für alle Betriebsysteme Clients gibt, ist auch der Checkout usw. absolut kein Problem.

So nun sind meine Daten gut aufgeboben. Trotzdem fehlt noch einiges zu meinem digitalen Glück. Demnächst gehts hier weiter.

Salzi - 11.6.2011 - 11:52

Backup

Das QNAP T219 verfügt ja zwar über ein RAID aber jeder sollte wissen, dass ein RAID KEIN Backup ist. Darum musste ich mir eine geeignete Backup Strategie überlegen. Eine Möglichkeit wäre sicher gewesen, dass ich ein automatisches Backup auf der Time Capsule anlegen lassen. Problem dabei ist aber, dass diese beiden Geräte sich im selben Raum befinden und sogar noch an der selben Steckerleiste hängen. So richtig sicher schien mir diese Lösung nicht. Schliesslich entschloss ich mich für die Variante: Wenn ein Backup dann richtig. Ich habe mir ein zweites QNAP bestellt. Nur ein kleines natürlich. Das TS-110 sollte es werden. Darin wieder eine 2 TB Platte. Darauf habe ich dann einfach per QNAP GUI ein Backupserver (rsync) eingerichtet. Das ging kinderleicht und schnell. Also ab zu meinen Eltern, welche rund 120 km von mir weg wohnen. Noch deren Router konfiguriert (Port Forwarding) und ein dyndns Konto eingerichtet und fertig. Als Gegenleistung dürfen meine Eltern ihre paar Daten ebenfalls auf den beiden QNAPs sichern.

Jetzt mache ich täglich in der Nacht ein ortsunabhängiges Backup. Diese Lösung läuft jetzt erst seit ein paar Tagen, aber bisher läuft alles einwandfrei :)

Salzi - 11.6.2011 - 18:10

syncML Server - eine weitere Leidensgeschichte

Wie eingangs schon erwähnt, will ich auch meine Kontakte und Kalender nicht einem grossen Anbieter anvertrauen. Darum muss ein eigener syncML Server für mich her. Nach einigem suchen, habe ich mich für Funambol entscheiden. Dieser basiert zwar auf Java (ich bin kein Java Fan), scheint aber zumindes auf QNAPs mit einem x86 Prozessor irgendwie zu laufen. Natürlich gibt es hierfür überhaupt kein Paket von QNAP und alles ist Handarbeit. Eigentlich muss für Funambol nur ein Binary heruntergeladen werden und dieses leitet einen dann intuitiv durch die Installation. Nur eben Funambol braucht Java. Ich konnte mir nicht vorstellen, dass es echt so schwer sein kann, Java auf einem QNAP zu installieren. Für die x86er gibt es direkt ein Paket und für ARM... pffff was für ein scheiss. Unzählige Stunden und einige Turorials später habe ich endlich etwas funktionierendes für mich gefunden.

Damit aber nicht genug. Die Standard Tomcat Version vom QNAP ist zu alt für Funambol. Es ist wohl überflüssig zu erwähnen, dass man die Version nicht so einfach mal so updaten konnte. Wieder unzählige Stunden stöbern in Webforen, habe ich aber auch hierfür eine Lösung gefunden.

Funabol selber war schnell installiert. Abgesehen, dass dies auf einmal auf dem selben Port wie die QNAP Administration laufen wollte, lief es dann auch endlich mal an. Schnell einen Client für Thunderbird (auch das war gar nicht mal so einfach, dass ich eine 64-bit Version des Addons brauchte) installiert -> funktionierte. Also auf dem Android Handy einen Client installiert -> funktioniert. Juhu!

Am nächsten Morgen dann ein Dämpfer. Der Service lief nicht mehr. Es scheint mir, dass das QNAP regelmässig einfach mal neustartet oder einfach nur mal alle "unbekannten" Prozesse killt... Wie auch immer -> Funambol lief am Morgen nie. Nun gut, den SVN Server für die Daten musste ich ja auch dem autostart von QNAP hinzufügen. Kein Problem also. Die beiden Variablen, welche ich zum Starten des Services brauchte, habe ich einfach über die profiles Datei exportieren lassen und dann habe ich alles über die autostart.sh starten lassen wollen. Aber irgendwie scheint das Startup Script vom Funambol eh je nach Lust und Laune mal zu funktionieren oder - was viel häufiger vorkam - eben nicht. Warum es manchmal ging liess sich für mich bis heute nie reproduzieren.

Es gibt aber noch ein weiterer sehr grosser Nachteil für mich. Da ich alle 10 min synchronisieren lasse (weniger macht für mich kein Sinn, da ich auch mal gerne Termine für in 20 min oder so eintrage und die will ich ja auch nicht unbedingt verpassen ...) ging das QNAP nie mehr schlafen. Das ist nicht gerade super für die HDDs und auch für meine Stromrechnung ist das sicher nicht so vorteilhaft. Könnte man bei den Clients einen Zeitplan einstellen, dass nur Tagsüber alle 10 min Synchronisiert wird und in der Nacht nicht, wäre das sicher auch eine Lösung. Aber das geht leider nicht.

Darum ist für mich der syncML Server für das QNAP erstmal gestorben - allerdings arbeite ich gerade an einer alternativen Lösung. Sobald die läuft, erfahrt ihr es sicher hier :D

Salzi - 2.7.2011 - 17:08

syncML - einmal mehr

So es ist etwas Zeit vergangen. Ich habe die Funambol Lösung für das QNAP inzwischen aufgegeben. Es ist einfach zu mühsam, täglich den Service von Hand zu starten und selbst damit habe ich manchmal Probleme. Aber nun gut. Es war sicher ein Versuch wert. Auch das ständige rattern der Festplatten, war einfach zu störend und auch nicht besonders Enegerie Effizient. Also habe ich mich nach einer anderen Lösung umschauen müssen, weil Google und Co. kommen für mich natürlich auch weiterhin nicht in Frage.

Auf der Arbeit lag bei uns noch ein Gumstix Overo Fire COM mit einem Tobi Erweiterungsboard herum. Dabei handelt es sich um einen kleinen Rechner mit nur einer Platine in der Grösse eines Kaugummis. Darauf befindet sich ein 1.6 Ghz starker ARM Cortex A8 und 256 MB RAM. Ebenfalls direkt auf der Platine integriert ist WLAN, Bluetooth und es hat einen Micro SD Slot. Dank dem Erweiterungsboard gibt es darauf auch die Standardschnittstellen wie USB, Ethernet usw. mit den Standard Steckern. Im Betrieb liegt der Verbrauch im niedrigen einstelligen Wattbereich. Eigentlich ideal für ein Gerät, welches durchlaufen muss - zumal es obendrein noch kein einziges bewegliches Teil hat (weder HDD noch Lüfter).


(Ist kein Bild von mir. Links ist das COM und rechts das Tobi doch kein Tobi. Auf dem COM fehlt das Bluetooth und WLAN Modul)

Soviel zur Hardware, kommen wir zur Software:

Ich habe als erstes ein Ubuntu 9.04 Minimal installiert. Dank einer guten Anleitung war das auch gar nicht mal so schwer. Anschliessend waren mir viele Wege offen wie ich zu meinem SyncML Server komme. Nach einigem Testen und viel recherchieren, entschloss ich mich für eGroupware also Software. eGroupware ist sehr weit verbreitet und kann eigentlich viel zu viel für meine Bedürfnisse. Aufgrund der doch beschränkten Hardware Ressourcen habe ich aber einiges deaktiviert und alles möglichst Resourcen schonend eingestellt - statt auf maximale Performance. Die Installation auf einem Ubuntu System ist kinderleicht und lässt sich einfach über aptitude installieren. Damit man das neuste Paket hat, sollte man aber nicht die offiziellen Ubuntu Quellen verwenden sondern direkt die von eGroupware selber. Ist erstmal das Konto eingerichtet auf dem neuen Server, muss man für dieses Konto nur noch syncML aktivieren.
Das schöne an dieser Lösung ist zudem, dass ich auf den Endgeräten (Handy, Notebook usw.) nichts ändern muss. Die Funambol Clienten funktionieren auch wunderbar mit eGroupware.

eGroupware basiert bei mir auf einer MySQL Datenbank. Es gibt bereits eine Integrierte Backupfunktion in eGroupware und so lasse ich täglich ein Datenbank Update erstellen und schiebe dieses dann automatisch per Cronjob auf das QNAP. Dieses wiederum macht die Ortsunabhängigen Backups und ich kann ruhig schlafen :)