Datum
Kommentare Keine

Die Vorgeschichte: ZFS hat mich schon immer fasziniert, aber leider hatte ich nie die Zeit mich damit zu beschäftigen. Vor kurzem habe ich mir dann ein Testsystem gebaut: Solaris 11.3, ein paar Festplatten und als Dateisystem ZFS. Natürlich mit allem drin, was man so haben will: L2ARC-Cache und ZIL auf separaten (alten) SSDs die so rumlagen usw.

Irgendwann kam dann der Tag, an dem mich Solaris genervt hat. Irgendwie findet man bei Linux-Herausforderungen doch schneller Hilfe im Internet. Wenn man kompliziertere Probleme hat, benötigt man den My Oracle Support, und wie man an den rankommt, ohne dass man Firmenkunde ist, habe ich bis heute noch nicht herausgefunden. Es sei denn man kauft natürlich ein Jahresabo für >800 Euro. Das hat die ganze Hardware für den Server nicht gekostet. Zum Glück unterstützt ja das aktuelle Ubuntu ZFS. Und ja, dass das eine andere Version ist, als das Solaris ZFS, das war mir sogar noch klar :-D

Also muss ich die Daten vom Solaris-ZFS auf mein Ubuntu-ZFS umkopieren. Da ich mir sicher bin, in naher Zukunft nicht wieder auf Solaris zurück zu wollen, kann ich gleich den Server komplett umbauen. Also heruntergefahren, alle Festplatten ausgebaut, die zwei SSDs auf denen Solaris gemirrored lief drin gelassen und erst mal angefangen Ubuntu zu installieren. Als das sauber lief (soll ja auch ein RAID1 sein, wenn eine SSD ausfällt, soll mir der Server ja weiterhin booten … natürlich mit UEFI und allem Schnick-Schnack wenn alles neu sein soll), habe ich mir von nem Freund Festplatten ausgeliehen und unter Ubuntu damit ein ZFS angelegt. Yay, der erste Schritt war erfolgreich. Aber dann begannen die Probleme:

Wie bringe ich meine Daten vom Solaris-ZFS auf’s Linux-ZFS? Nichts leichter als das, dachte ich mir. Solaris USB Stick als Live-System booten, das Solaris-ZFS Mounten und über Gigabit-Ethernet kopieren, das geht ja ausreichend schnell. DACHTE ICH. Ich gebe zu, schuld war meine Unwissenheit über ZFS. Also irgendwelche Hardware gesucht, Live System gebootet, festgestellt, dass die Hardware nicht Solaris kompatibel ist. Andere Hardware gesucht. Irgendwann an dem Punkt angekommen, an dem Solaris gebootet und meine 5× 1TB Festplatten erkannt wurden. So weit so gut. Wie mountet man jetzt das Dateisystem?

root@solaris:/jack# zpool import meinpool
cannot import pool 'meinpool': pool may be in use from other system,
...

Etwas recherchiert, ah ja, ok, ich hätte den vorher erst exportieren müssen. Hm, verdammt, hat mir natürlich niemand gesagt ;-) Aber was macht jemand, dessen Mainboard defekt ist und er somit die Festplatten ohne zu exportieren in ein anderes System packen muss? Wieder etwas im Internet gesucht, und herausgefunden, dass man mit der Option -f den import erzwingen kann. Das sollte man aber auf keinen Fall tun, wenn der Pool wirklich noch von einem anderen System benutzt wird. Also auf ein Neues:

root@solaris:/jack# zpool import -f meinpool
cannot import 'meinpool': one or more devices is currently unavailable

Also wieder etwas im Internet recherchiert (ja, ich weiß, das hätte ich mal vorher machen sollen … aber dann hätte alles perfekt geklappt und ich wüsste nicht, was ich im Notfall tun kann oder wo die Grenzen im worst case sind). Hier der Hintergrund: ja, ich habe natürlich meine fünf Festplatten aus dem RAIDZ2 vdev mit ins neue System herübergenommen. Und der Pool bestand EIGENTLICH auch nur aus diesen 5 Festplatten.

Ein beliebter Fehler ist z.B. den ZFS Pool mit einer einzigen Festplatte zu erweitern. Keine gute Idee, dann hat man nämlich einen Pool, der aus einem vdev mit RAIDZ2 aus fünf Festplatten und aus einem vdev mit einer einzelnen Festplatte besteht. Ein Pool besteht aus einem oder mehreren vdevs, aber wenn eines dieser vdevs ausfällt, ist der ganze Pool kaputt. D.h. in diesem Fall hätte man seine Datensicherheit zunichte gemacht. Also in dem Fall, wenn man den Pool um etwas speicher erweitern will, könnte man ein vdev aus zwei Festplatten als mirror machen und das dem Pool hinzufügen. Dann dürfen vom RAIDZ2 bis zu zwei Festplatten ausfallen und vom Mirror eine Festplatte, ohne dass die Daten des Pools weg sind. Soweit hatte ich ZFS vor meinen Experimenten schon verstanden, diesen Fehler hatte ich also nicht gemacht. Ich hatte wirklich einen Pool mit einem vdev bestehend aus fünf 1TB Festplatten im RAIDZ2. UND einen L2ARC und ein ZIL.

Das ZIL-Device ist ein separates Device für das Dateisystem-Log und muss redundant ausgelegt sein (z.B. ein Mirror aus zwei Festplatten), denn fällt das in einem ungünstigen Moment aus, gehen Transaktionen und somit Daten verloren. Der L2ARC ist quasi nur ein Lesecache um die häufigsten Daten zwischenzulagern. Naiverweise bin ich davon ausgegangen, dass wenn ich mein System herunterfahre, dass dann sowohl ZIL als auch L2ARC leer sind und somit eigentlich keine wichtigen Teile des ZFS Pools darstellen. Jetzt stellt sich heraus, dass dem wohl nicht so ist und die Fehlermeldung, dass eines oder mehrere Geräte momentan nicht verfügbar sind, sich wohl auf eines oder beide dieser Elemente bezieht.

Und das ist mein aktueller Stand. Im Internet gibt es zwar hier und da ein paar Tips, aber alle hängen an zfs import oder (noch schlimmer) zdb (das ZFS Debug Tool) irgendwelche Schalter und Optionen an, die nirgends erklärt oder dokumentiert sind (außer vermutlich im My Oracle Support Portal, zu dem ich keinen Zugriff habe). Da ich ja lernen und später wissen will, was ich tue, und nicht wild irgendwelche Kommandos auf das Dateisystem werfen will, bis es funktioniert oder ganz kaputt ist, und ich dannach nicht einmal weiß warum, hänge ich jetzt vorerst an dieser Stelle. Aber eine Fortsetzung wird folgen …

Autor

Datum
Kommentare 1

Ich glaube ich habe mein CMS System gefunden. Einfach, übersichtlich und trotzdem alles da, was man braucht.

Lange habe ich gesucht, immer wieder mal etwas ausprobiert, aber nie ganz glücklich gewesen. Als Erstes sind die ganzen Hosting-Lösung rausgefallen. Ich will selbst hosten. Wenn meine Daten gestohlen werden, bin ich selbst schuld. Und ich lerne etwas dabei. Und einen Root-Server habe ich ja sowieso.

Irgendwie bin ich auch schon immer ein Mensch, der nicht das will, was alle haben. Wordpress z.B. :-)

Joomla kann alles, würde auch sicher nicht schlecht sein, wenn man da Ahnung davon hat. Aber gerade die Menge an Funktionen zu administrieren ist bestimmt sehr Zeitaufwendig.
Typo3 gibt’s auch noch, aber irgendwie habe ich das nie ganz verstanden, muss ich zu meiner Schande gestehen.

Auf anderen Webseiten setzen wir Koken ein. Aber das ist sehr auf Design und Fotografie und ähnliches ausgelegt. Und nicht wirklich als performantes, einfaches Blog. Außerdem ist das ja nur noch grenzwertig als self-hosted Lösung zu bezeichnen. Es wird zwar auf dem eigenen Server installiert und betrieben, aber die Lizensierung und so weiter läuft über den Anbieterserver. Was passiert also, wenn es den Anbieter nicht mehr gibt (Insolvenz, oder aufgekauft durch die Konkurrenz und dann dicht gemacht)?

Irgendwann in einem Artikel irgendwo bin ich dann über Textpattern gefallen. Alleine der Name hat mich neugierig gemacht, dann gesehen, dass es Open Source ist, also gleich mal ausprobiert. Das Standard-Design ist schick, kann ich also direkt so verwenden. Es ist einfach. Ok, nicht responsive, aber da die Mobilgeräte sowieso immer hochauflösender werden und das keine kommerzielle Seite wird, ist das nicht unbedingt auf meiner Prioritätenliste aufgetaucht. Und (für mich) extrem intuitiv zu bedienen. Ohne weitere Dokumentation gefunden wo und wie ich Templates anlege, am Design herumpfusche und Artikel anlege. Ich bin echt begeistert.

Mal sehen wie lange das anhält, oder ob ich diese Webseite doch nochmal umstelle …

Autor
Kategorien ,

← Älter Neuer →