Skip to content

Umstellung auf Gentoo - ein Erfahrungsbericht

Wie versprochen kommt heute ein kleiner Erfahrungsbericht zur Umstellung unserer Webhosting-Plattform auf Gentoo.

Um es vorweg zu nehmen: Es war wohl nach der Entscheidung zu einem eigenen Rechenzentrum im Jahr 2002 die beste Entscheidung in unserer Firmengeschichte.

Letztendlich haben wir uns mit Hilfe von Gentoo und unserem eigenen Build-System - bezogen auf das darunterliegende Betriebssystem - eine maßgeschneiderte Webhosting-Plattform zusammengestellt. Wir sind unglaublich flexibel, dank Gentoo. Und dank unseres Build-Systems arbeiten wir quasi genauso "binär" wie nicht-Source-basierende Distributionen.

Diese Flexibilität hat sich in den letzten Wochen schon mehrfach bewährt: Neue OS-Features (nennen wir es jetzt einfach mal Pakete) auszurollen, dauert nur wenige Minuten. Und dabei beziehe ich mich weniger auf die pure Installation als das gesamte Design und Management der Webhosting-Plattform.

Zur Umstellung, und um 'mal aus dem Nähkästchen zu plaudern: Wir haben die Umstellung auf den "alten" Servern vorgenommen. Mit Hilfe einer 3. Platte und einem zweiten, temporären RAID. Dazu haben wir ein eigenes Migrations-Skript entwickelt ("nur" 1.664 Zeilen), das - einmal angestoßen - alles automatisch durchführt: Temporäres RAID anlegen, Basis-Image aufspielen, konfigurieren, reine Daten mehrfach lokal synchronisieren, Dienste runterfahre, finale Synchronisation durchführen, Server rebooten und Abschlussarbeiten durchführen. Bei den meisten Servern war die Downtime, also die Zeit zwischen Beginn der finalen Synchronisation und nach dem Reboot weniger als 10 Minuten, bei vielen Servern sogar nur 3-5 Minuten.

Durch die Optimierung des zugrundeliegenden Gentoo-Systems haben wir auf denselben Maschinen (das konnten wir ja wunderbar vergleichen) einen Geschwindigkeitszuwachs auf das 3-fache bekommen - nur durch ein anderes OS!

Software-seitig haben wir unsere Verwaltungs-Oberfläche natürlich angepasst, zeitweise haben wir parallel gepflegt. Summa summarum haben wir binnen 12 Monaten über 300.000 Zeilen Code geschrieben, geändert etc.

Wir haben für dieses Jahr bzgl. unserer Verwaltungs-Oberfläche noch viel vor - seid gespannt!

Wir bekommen wahnsinnig viel gutes Feeedback zum neuen Gesamt-System - das bestätigt uns in dem, was wir tun.

Wenn Ihr Fragen habt, gerne in den Kommentaren!

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

TM

Wie handhabt ihr Updates? Ich hab auch fast überall Gentoo (Dedicated Server in einem RZ, Homeserver bei meinen Eltern, Homeserver bei mir, Zweit-PC (auch server-artig) im Büro), aber selbst bei 4 Systemen können Updates schonmal etwas nervig sein wenn man auf einer anderen Distribution einfach mal `apt update && apt full-upgrade` tun könnte (evtl sogar via Cronjob) ohne erst schauen zu müssen welche Configs jetzt aktualisiert werden müssen... Vor allem wenn irgendein Gentooentwickler der Meinung war, die Configdatei umformatieren zu müssen und damit den diff von dispatch-conf/etc-update unbrauchbar machen.

Manuel Schmitt

Wir pflegen die Configs einfach "hart" selbst - entweder mittels include-Configs (sofern vom Autor vorgesehen), oder eben hart "absolut"

Andreas

Ich bin vor etwa 12 Jahren weg von Gentoo weil mir die Zeiten ein Update einzuspielen zu lange waren, da man alles selbst kompilieren musste und das mehrfach bei mehreren identischen Systemen.

Wie habt ihr das gelöst? Nutzt ihr vorkompilierte Pakete?

Was mich damals auch gestört hat das man auf dem System ein komplettes Build System installiert haben musste, auch wenn es für den Anwendungsfall / Kunden nicht nötig war - ein potentieller Einbrecher hat dann wieder mehr Tools lokal liegen um seinen Exploit selber zu kompilieren.

hilti

Bei den FreeBSD-Ports, dem Vorbild für portage ist es mit Bordmitteln möglich mit 'make package' zentral Pakete für alle Rechner zu bauen. Poudriere https://www.freebsd.org/doc/handbook/ports-poudriere.html bietet noch weitere Möglichkeiten. Auch das Basissystem kann von einem Rechner auf weitere verteilt werden. Wenn auch nciht so komfortabel wie bei den Ports.

Würde mich wundern, wenn es bei Gentoo die Möglichkeit eines "Compile-Servers" nicht gäbe.

Hoschi

Hilti hat recht, Manitu hat hier ja eine Serverfarm mit identischen Setup. Es wird also nur einmal kompiliert, also fällt der erhebliche Faktor Zeit mit jedem weiteren Server zusammen.

Zumal jeder größer Betreiber einer Flotte von Linuxsystemen hat sicher eigene Repositories, egal ob Server, Desktop oder Laptop.

Ansonsten:
WebKit oder Firefox? Etwa vier Stunden. Kernel frisch aus dem Ofen gibt es meist in fünf Minuten.

Ansonsten:
Archlinux gibt einem, ein quasi reines GNU/Linux mit der Freiheit von Gentoo, ohne den Zeitaufwand. Bei Gentoo darf man sich dafür zum Teil noch eine mehrerer aktueller Version aussuchen, ein etwas ähnliches kommt so langsam bei Fedora.
Bei Archlinux ist man natürlich auch frei, Updates und Downgrades sind manuell - offiziellen Support hat man nur mit komplett aktuellen System.

Ich habe bei mir Wireshark auch auf die letzte Version mit Gtk3 festgenagelt, weil ich GNOME nutze. Und NetBeans wird die Version 8 wohl nicht mehr verlassen - Der Inkubator von Apache ist ein Hospiz für alles was Orcale dem Tode geweiht hat. Bitter Sarkasmus oder nüchterne Realität?

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
BBCode-Formatierung erlaubt
Formular-Optionen