"Können wir unsere vorhandenen Produktions-EL5-Server auf EL6 aufrüsten?"
Eine einfach klingende Anfrage von zwei Kunden mit völlig unterschiedlichen Umgebungen veranlasste mich zu meiner üblichen Best-Practice-Antwort: "Ja, aber es wird ein koordinierter Neuaufbau aller Ihrer Systeme erforderlich sein " ...
Beide Kunden sind der Meinung, dass ein vollständiger Neuaufbau ihrer Systeme aus Gründen der Ausfallzeit und der Ressourcen nicht akzeptabel ist ... Als ich gefragt wurde, warum die Systeme vollständig neu installiert werden mussten, hatte ich darüber hinaus keine gute Antwort: "So ist das nun mal ... "
Ich versuche nicht, Antworten zum Konfigurationsmanagement ("Puppetize everything " trifft nicht immer zu ) oder zur besseren Planung der Clients zu erhalten. Dies ist ein Beispiel aus der Praxis für Umgebungen, deren Produktionskapazität gewachsen und gediehen ist, die jedoch keinen sauberen Weg für die Umstellung auf die nächste Version ihres Betriebssystems finden.
Umgebung A:
Non-Profit-Organisation mit 40 Web-, Datenbank- und Mailservern von Red Hat Enterprise Linux 5.4 und 5.5 , einem Java-Webanwendungsstapel, Software-Load-Balancern und Postgres-Datenbanken. Alle Systeme werden auf zwei VMWare vSphere-Clustern an verschiedenen Standorten mit jeweils HA, DRS usw. virtualisiert.
Umfeld B:
Hochfrequenz-Finanzhandelsunternehmen mit 200 CentOS 5.x- Systemen in mehreren Co-Location-Einrichtungen, die den Produktionshandel betreiben und die interne Entwicklung und Back-Office-Funktionen unterstützen. Die Handelsserver laufen auf Bare-Metal-Commodity-Server-Hardware. Sie haben zahlreiche sysctl.conf
, rtctl
, Interrupt - Bindung und Treiber zwickt anstelle Messaging - Latenz zu senken. Einige haben benutzerdefinierte und / oder Echtzeit-Kernel. Auf den Entwicklerarbeitsplätzen werden ähnliche Versionen von CentOS ausgeführt.
In beiden Fällen laufen die Umgebungen so, wie sie sind. Der Wunsch nach einem Upgrade ergibt sich aus der Notwendigkeit einer neueren Anwendung oder Funktion, die in EL6 verfügbar ist.
- Für die gemeinnützige Firma ist es an Apache, den Kernel und einige Dinge gebunden, die die Entwickler glücklich machen werden.
- In der Handelsfirma geht es um einige Verbesserungen im Kernel, Networking Stack und GLIBC, die die Entwickler glücklich machen werden.
Beides ist nicht einfach zu packen oder zu aktualisieren, ohne das Betriebssystem drastisch zu verändern .
Als Systemingenieur weiß ich zu schätzen, dass Red Hat beim Wechsel zwischen Hauptversionen vollständige Neuerungen empfiehlt. Ein sauberer Start zwingt Sie dazu, die Konfiguration zu überarbeiten und auf diese zu achten.
Ich bin sensibel für die geschäftlichen Bedürfnisse der Kunden und frage mich, warum dies eine so beschwerliche Aufgabe sein muss . Das RPM-Paketierungssystem ist mehr als in der Lage, direkte Upgrades durchzuführen, aber es sind die kleinen Details, die Sie /boot
benötigen : mehr Speicherplatz, neue Standarddateisysteme, RPM, das möglicherweise während des Upgrades unterbrochen wird, veraltete und nicht mehr funktionierende Pakete ...
Was ist die Antwort hier? Andere Distributionen (.deb-basiert, Arch und Gentoo) scheinen diese Fähigkeit oder einen besseren Pfad zu haben. Nehmen wir an, wir finden die Ausfallzeit, um diese Aufgabe richtig auszuführen:
- Was sollten diese Clients tun, um das gleiche Problem zu vermeiden, wenn EL7 freigegeben und stabilisiert wird?
- Oder ist dies ein Fall, in dem sich die Menschen alle paar Jahre mit einem vollständigen Umbau abfinden müssen?
- Dies scheint schlimmer geworden zu sein, als sich Enterprise Linux weiterentwickelt hat ... Oder bilde ich mir das nur ein?
- Hat dies jemanden davon abgehalten, Red Hat und abgeleitete Betriebssysteme zu verwenden?
Ich nehme an, es gibt den Konfigurationsverwaltungsaspekt, aber die meisten Puppet-Installationen, die ich sehe, lassen sich nicht gut in Umgebungen mit stark angepassten Anwendungsservern übersetzen ( Umgebung B könnte einen einzelnen Server haben, dessen ifconfig
Ausgabe so aussieht ). Ich wäre jedoch an Vorschlägen interessiert, wie das Konfigurationsmanagement Unternehmen dabei helfen kann, die Probleme der RHEL-Hauptversion zu überwinden.
upgradeany
Boot-Time-Parameters funktioniert , ja? Ich habe es zweimal getestet, einmal auf einer sauberen C5-Installation, wo es gut funktioniert hat. einmal auf einer (Testkopie einer) crufty alten "C4 und wurde aktualisiert" -Installation, wo es dramatisch fehlschlug.
*-release files
und aller) erzwungen . Aber die Fragen von Kunden in dieser Woche haben mich mehr darüber nachdenken lassen, wie tief eine Umgebung mit einer bestimmten Version verwurzelt werden kann und wie weit ich gehen kann.
yum
, was die meiste Zeit bei mir funktionierte. Meine einzige Hoffnung ist, dass RH seinen zahlenden Kunden einen Riesenerfolg abverlangt hat, weil sie entschieden haben, keinen unterstützten Upgrade-Pfad 5-> 6 zu haben, und dies für 6-> 7 überdenken wird.