Johannes Truschnigg - SRE & DevOps


Zur Suche ▼Zum Archiv ▼

Eintrag von 2008-04-30

Welches OS für den Server?


Kleinere und mittlere Unternehmen stehen bei der Wahl eines UNIXoiden bzw. GNU/Linux-basierten Betriebssystems vor einer Mannigfaltigkeit an Möglichkeiten, die den Verantwortlichen leicht überfordern mögen. Ich stehe als Systemadministrator im täglichen Kontakt mit diversen UNIX-artigen Betriebssystemen, eingebettet in verschiedensten IT-Landschaften und mit unterschiedlichsten Voraussetzungen bzw. Aufgabenbereichen - wenngleich ich persönlich neben Troubleshooting - wenn mal wieder was schiefgeht - vor allem Webserverbelange zu betreuen habe. Deshalb will ich durch einen subjektiven Vergleich der häufigst im Einsatz befindlichen Systeme meine Erfahrungen jenen zunutze machen, die sich demnächst für ein Produkt zum Betrieb eines Servers entscheiden müssen.


Mac OS X (Server)

Die mich beschäftigende Firma hat Kunden meist aus der Werbebranche, wo traditionsbedingt Systeme des Herstellers Apple weite Verbreitung finden. Wird ein IT-Verantwortlicher mit der Anschaffung eines Systems beauftragt, so wird meist auch für Serverzwecke ein Rechner angeschafft, auf dem Mac OS X läuft - ob es sich dabei um einen Quadcore-XServe mit Mac OS X Server, oder einen leicht zweckentfremdeten Mac Mini handelt, ist dabei eigentlich egal - die Software ist meiner Erfahrung nach weitestgehend die gleiche.
Ganz ehrlich kann ich in der Verwendung von OS X keine wie auch immer gearteten Vorteile auf dem Server erkennen: Es gibt kein Repository-gestütztes Paketmanagement out of the box (also muss man zur Installation von Software immer erst manuell ein entsprechendes Installer-Paket suchen, und dieses dann via `installer` (das Programm trägt wirklich diesen Namen) installieren - sehr nervig). Kombiniert mit der Tatsache, dass die mitgelieferte Software fast schon antik anmutet (Apache 1.3, MySQL 4.1, PHP 4.x unter OS X 10.4; 10.5 ist zur Zeit deutlich aktueller), macht das das Leben des mit der Zeit gehenden Admins nicht gerade einfacher - vor allem dann, wenn es mehrere Systeme an verschiedenen Orten zu managen gilt.
Das Darwin-Userland halte ich persönlich für schlichtweg mangelhaft; viele seitens der GNU-Utilities bekannten und liebgewonnenen Extras fehlen. `ls` kennt zum Beispiel weder "--color" noch "--sort", und manche Utilities wie bspw. `ps` beschneiden ihre Ausgabe immer auf die aktuelle Terminalbreite; ganz egal, ob man stdout eigentlich gerade in eine Pipe schickt, oder tatsächlich zu Gesicht bekommen will - zur Verarbeitung der Informationen in Shellscripts ist dieses Verhalten denkbar ungeeignet.
Die Abwesenheit von Programmen wie `pgrep` oder `strace`, die jede GNU/Linux-Distribution wie selbstverständlich mitbringt, vermisse ich mit schöner Regelmäßigkeit schmerzlich. Ebenfalls halte ich die `netstat`-Implementation für krude; wo bitte ist mein schönes `netstat -npl` geblieben?
Ein positiver Aspekt von OS X ist die kluge Wahl des MTAs (mit postfix sollte jeder glücklich werden können) - hier wird einem anderswo viel Schlimmeres zugemutet.
Auch die Dokumentation seitens Apple ist sehr gut gelungen - wer jedoch gerne den Anweisungen aus HowTos folgt wird bald feststellen, dass diese fast immer GUI-Verfügbarkeit oder direkten, physikalischen Zugriff auf den Rechner voraussetzen, was meiner Meinung nach keinesfalls von Vorteil ist.


Red Hat Enterprise Linux

Im "professionellen" Bereich setzt man gerne auf den amerikanischen Hersteller Red Hat, der sich mit seiner schon lange kommerziell erfolgreichen GNU/Linux-Distribution RHEL seit Jahren auf dem Markt bewährt - bei unseren Kunden ist es das am öftesten mit kommerziellem Support zum Einsatz kommende GNU/Linux, und wird von mir als solches nicht besonders geliebt.
Das Paketmanagement `up2date` arbeitet reichlich träge, hat dafür aber Rollback-Funktionalität (die ich zum Glück noch nie auf ihre Praxistauglichkeit hin ueberpruefen musste). Repositories, die meist leider schon ziemlich angestaubte Software enthalten, werden über das sogenannte Red Hat Network (RHN) freigeschaltet - und zwar über den Webbrowser, auf einer von Red Hat gehosteten Seite, wo auch die im RHN angemeldeten Maschinen verwalt- und auflistbar sind. Das mag für Admins, die vor Textdateien Angst haben, beruhigend sein - mich persönlich nervt es.
Das System an sich ist gut durchdacht und komfortabel in der Benutzung, die Paketwahl weitestgehend vernünftig und nachvollziehbar. Beim MTA hat man allerdings danebengegriffen, und zwar gleich wirklich schlimm: Sendmail muss im 21. Jahrhundert wirklich nicht mehr sein. Ueber diesen Daemon kann ich eigentlich gar nicht genug schimpfen, deswegen fange ich gar nicht erst damit an...
Den bezahlten Support seitens des Distributor habe ich selbst noch nie konsultiert, da ich Probleme selbst lösen kann und will - ob er sein recht teures Geld wert ist, vermag ich nicht zu sagen. Generell würde ich derart ausgelagerten Support wohl eher dann empfehlen, wenn man "Blameshifting-Sicherheiten" braucht - im Notfall also die Schuld auf jemand anderen schieben können möchte. Will man tatsächlich immer möglichst produktiv sein, geht nichts über den versierten Admin im eigenen Hause. Auch mit RHEL nicht.


Debian GNU/Linux

Debian, "the universal Operating System", ist eine GNU/Linux-Distribution, die vollständig durch eine Community, einen Zusammenschluss ehrenamtlicher Mitarbeiter, unter demokratisch gewählter Führung verwaltet wird. Support, für den man Geld auf den Tisch legen muss/darf, gibt es nur von externen Dienstleistern; das Projekt selbst bietet lediglich Mailinglisten und einige wirklich brauchbare Foren, wo in aller Regel kompetent - aber nicht garantiert und in absolut jedem noch so dummen Fall - geholfen wird. Das Softwareinstallationssystem apt mit den Frontends `aptitude` und `apt-get` ist über jeden Zweifel erhaben, und stellt meines Erachtens die Referenz für alle Aufwände der Konkurenz dar, an der man sich wohl noch länger wird lassen messen müssen. Die Pakete sind je nach der für Server in Frage kommenden Branch der Distribution "alt aber gut" bzw. "ziemlich frisch"; man kann auch mischen, wenn man möchte. Weiters gibt es eine Menge Fremdrepositories von Drittanbietern (zum Beispiel "dotdeb" fuer aktuelle MySQL-Pakete), die außergewöhnlichere Bedürfnisse gut befriedigen dürften.
Ein Standard-Debian-System bringt sehr wenig Software mit, der Administrator hat nicht mit starren Vorgaben zu kämpfen. Der Standard-MTA ist exim4 - nicht meine erste Wahl, aber es hätte klarerweise viel, viel schlimmer kommen können. Die anderen üblichen Verdächtigen wie postfix, qmail und sogar sendmail finden sich in den Paketquellen zur wirklich unkomplizierten Installation. Konfiguriert werden viele Dienste über ein wahlweise auch curses-basiertes System namens `debconf`, das meist wirklich nützliche Default-Konfigurationen zum Darauf-Aufbauen generiert.
Alles in allem ist Debian meine erste Wahl für "get-the-job-done"-Installationen. Wenn ich wirklich ohne Kopfzerbrechen ein System aufsetzen möchte, das genau das tut, was ich will und wie ich es will, und das über Jahre ohne Macken, dann wähle ich Debian. Der einzige spürbare Nachteil ist, dass man im Ernstfall - wenn also wirklich einmal etwas kaputtgeht, das nicht kaputtgehen hätte sollen - selbst schuld ist, Mit großer Macht kommt große Verantwortung - das wissen wir zumindest seit Spiderman.


Ubuntu Linux

Eigentlich ist mit der obigen Abhandlung über Debian schon alles gesagt - ein paar nennenswerte Unterschiede will ich trotzdem aufgezählt wissen: Der Default-MTA ist postfix, und das Datum, an dem der Support für ein Release ausläuft, lässt sich bei Ubuntu genauer als bei seinem Vatersystem vorhersagen (bei Debian ist es vom Releasedatum der Folgeversion abhängig; bei Ubuntu streng zeitbasiert). LTS-Releases bieten auf dem Server stattliche 5 Jahre lang Security-Patches und Versionsstabilität.

direkter Link ▲

© 2007-2019 Johannes Truschnigg | valid xhmtl & css