Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Titelthema<br />
www.linux-magazin.de Kernelupdates 09/2013<br />
42<br />
Techniken für reibungslose Kernel-Updates und -Upgrades<br />
Kern-Kompetenz<br />
Kernelupdates: Fluch oder Segen, Notwendigkeit oder einfach nur ein Ärgernis? Welche Fallstricke gibt es und<br />
wie kann der Systemadministrator Aufwand und Risiko minimieren? Das <strong>Linux</strong>-<strong>Magazin</strong> weiß Rat. Udo Seidel<br />
© serezniy, 123RF.com<br />
Der Austausch des <strong>Linux</strong>-Kernels ist wie<br />
ein Motorwechsel beim Auto. Er lässt sich<br />
nicht zwischen Tür und Angel erledigen<br />
und erfordert Vorbereitung. Dem Eingriff<br />
folgt häufig ein kompletter Reboot des<br />
Servers. <strong>Linux</strong>-Installationen mit Systemen<br />
von drei-, vier- oder gar fünfstelliger<br />
Anzahl sind keine Seltenheit mehr. Der<br />
operative Aufwand, ein Kernelupgrade<br />
in dieser Größenordnung durchzuführen,<br />
ist entsprechend groß und erfordert<br />
erheblichen Zusatzaufwand für das Gelingen.<br />
Aber sogar im kleinen Rahmen<br />
stellt sich die Frage, welche ungewollten<br />
oder unerwarteten Änderungen der neue<br />
Betriebssystemkern mitbringt.<br />
Touch a running System<br />
Gründe für einen Wechsel des Kernels<br />
gibt es gleich mehrere: Typische Szenarien<br />
sind Bugfixes oder das Stopfen<br />
von Sicherheitslöchern (Update), daneben<br />
aber auch externe Anforderungen,<br />
etwa durch Software, die nicht zum Lieferumfang<br />
der <strong>Linux</strong>-Distribution zählt<br />
und neuere Kernelfeatures verlangt (Upgrade).<br />
Die manchmal rasante Entwicklung<br />
der Hardware erfordert nicht selten<br />
ebenfalls einen neueren Betriebssystemkern.<br />
Nur in den seltensten Fällen kann<br />
ein Admin das Kernelupgrade aus seinem<br />
Aufgabenkatalog streichen, also sollte er<br />
es richtig machen. Der folgende grobe<br />
Vorgehensplan betrachtet drei Aspekte:<br />
Wie, Wann und Wo.<br />
Kernelupdates lassen sich in zwei Arten<br />
unterteilen: offline und online. Zur<br />
letzteren zählt der Austausch einzelner<br />
Kernelmodule oder sogar ganzer Funktionen,<br />
was das Tool Ksplice ermöglicht.<br />
Einfacher ist aber zunächst die Offline-<br />
Variante zu erklären. Hier wandert der<br />
neue Kernel auf das System und ein Reboot<br />
aktiviert ihn.<br />
Die Fragestellungen lauten dabei: Wie<br />
den neuen Kernel erzeugen? Wie wandert<br />
er auf den Server und wann? Wann<br />
findet der Reboot zur Aktivierung statt<br />
und auf welchen Systemen (wo)? Das<br />
Offline-Verfahren ist technisch die beste<br />
Variante, weil sich das System danach in<br />
einem sauberen und definierten Zustand<br />
befindet. Allerdings bedeutet der Reboot<br />
einen Ausfall der Dienste des neu zu<br />
startenden Servers.<br />
Lassen Dienstleistungsverträge und<br />
Wartungsfenster dies nicht zu, müssen<br />
Alternativen her. Ist ein Dienst wichtig,<br />
sichert man ihn meist ohnehin durch<br />
Hochverfügbarkeits-Setups. Im Fall des<br />
Kernelupdate kann der Admin auf diesen<br />
Mechanismus zurückgreifen. Bis zum<br />
fertigen Kernel-Rollout befindet sich der<br />
HA-Verbund dabei in einem Mischbetrieb:<br />
Systeme, die identische Aufgaben<br />
wahrnehmen, unterscheiden sich in der<br />
Schlüsselkomponente Kernel. Aus mehreren<br />
Gründen empfiehlt es sich, diesen<br />
Zustand möglichst kurz zu halten.<br />
Rückfahrkarte<br />
Das Testen eines neuen Kernels vor dem<br />
Rollout gehört für Sysadmins zum guten<br />
Ton. Neben dem eigentlichen Funktionstest<br />
gehört das Ausprobieren des<br />
Upgrade-Prozesses selbst dazu, ebenso<br />
ein Fallback. Sind Kernelmodule von<br />
Drittherstellern im Spiel, lohnt es sich,<br />
deren Kompatibilitätsmatrix zu prüfen.<br />
Die Theorie kann aber den Praxistest<br />
nicht ersetzen.<br />
Die Eleganz von <strong>Linux</strong> besteht darin,<br />
dass das System problemlos mehrere Betriebssystemkerne<br />
vorhält (Abbildung 1).<br />
So kann der Admin den Rechner bequem<br />
in den vorherigen Zustand zurückversetzen,<br />
falls nötig. Es empfiehlt sich, Kernelupdates<br />
vom Patchen der sonstigen Systemkomponenten<br />
so weit wie möglich zu<br />
trennen. Zum einen lässt sich der Userspace<br />
online patchen, was den Betrieb<br />
deutlich geringer stört als der Austausch