keule

Forschung / Container-Live-Migration

Ein System zieht um. Was läuft weiter?

Laufende Linux-Container zwischen Hosts verschieben – mit erhaltenem Prozesszustand und möglichst geringer Unterbrechung. Untersucht werden CRIU, Netzwerkübergänge und die Verfügbarkeit aus Sicht externer Clients.

Quelle, Ziel und Beobachter: Migration als verteiltes System.

01 / TOPOLOGY

Drei Rollen. Eine beobachtbare Migration.

Der Versuchsaufbau trennt Quellhost, Zielhost und Monitoring. So wird der Übergang unabhängig vom migrierten Dienst erfasst.

Netzwerk- und Steuerungsebene

DatenpfadSteuerung
Monitor / Client HTTP · TCP · Ereignisse Service-VIP Quellhost KVM · runc · CRIU Zielhost KVM · runc · CRIU Shared Storage Zustand / Speicherseiten SSH SSH
Monitor / ClientHTTP · TCP · SSH
Service-VIP
Quellhostrunc · CRIU
Zielhostrunc · CRIU
Shared Storage

Der Monitor steuert beide Hosts über SSH. Quelle und Ziel greifen auf den gemeinsamen Checkpoint-Speicher zu.

Versuchstopologie mit KVM, runc und CRIU. Die virtuelle Service-IP wird beim Übergang umgeschaltet; Quelle und Ziel stellen hier keine gleichzeitig aktiven Replikate dar.

Der Quellhost erzeugt Checkpoints, der Zielhost stellt den Zustand wieder her. Gemeinsamer Speicher hält Checkpoint-Dateien und Laufartefakte. Der Monitor orchestriert über SSH und misst TCP- sowie HTTP-Erreichbarkeit.

CRIU-Zustand, virtuelle IP, ARP-Aktualisierung und Weiterleitung müssen zusammenpassen. Ein erfolgreicher Restore allein belegt deshalb noch keinen nahtlosen Dienstübergang.

Versuchsumgebung & Messdaten

02 / METHODS

Wann wandert der Speicher?

Pre-Copy und Post-Copy verschieben den Zeitpunkt des Speichertransfers. Damit ändern sich Pause, Nachladeverhalten und Fehlerabhängigkeiten.

Pre-Copy

  1. Speicher kopieren
  2. Änderungen übertragen
  3. Freeze & Restore

Speicherseiten werden vor dem finalen Stopp übertragen. Neue Änderungen erzeugen weitere Runden. Eine hohe Dirty-Rate kann den Fortschritt begrenzen.

Post-Copy

  1. Zustand übertragen
  2. Am Ziel fortsetzen
  3. Seiten nachladen

Nach einem minimalen Zustandstransfer läuft der Prozess am Ziel weiter. Fehlende Seiten werden bei Bedarf nachgeladen. Page Faults und die Verbindung zum Quellhost beeinflussen die Antwortzeit.

03 / MODEL

Kopieren gegen Veränderung.

Während eine Speichermenge übertragen wird, verändert die Anwendung weitere Seiten. Das Verhältnis von Dirty-Rate zu Bandbreite entscheidet im Modell über die Konvergenz.

Ri+1min(M,Ri·rB)(1)
Rᵢ: noch zu übertragende Speichermenge · M: Arbeitsspeicher · r: Dirty-Rate · B: effektive Transferbandbreite. Alle Raten in MiB/s.

Pre-Copy im vereinfachten Modell

Speicher: 1.024 MiB. Stopp bei höchstens 16 MiB Restmenge oder nach sechs Kopierrunden.

64 MiB/s
512 MiB/s

Gedankenexperiment mit konstanten Raten. Kein Benchmark und keine Vorhersage der tatsächlichen Ausfallzeit.

Restmenge je Kopierrunde

1.024
0
128
1
16
2

MiB

r/B = 0,125. Nach 2 Runden: 16 MiB Restmenge. Finaler Speichertransfer: etwa 31,3 ms.

Prozesszustand, Netzwerkumschaltung, Protokolloverhead und Restore kommen in einem realen System hinzu.

04 / MEASUREMENT

Erreichbarkeit ist mehr als ein offener Port.

Prozesspause, TCP-Verbindung und HTTP-Antwort sind unterschiedliche Beobachtungen. Die Auswertung hält diese Ebenen getrennt.

Zwei Messpunkte. Unterschiedliche Aussagen.

02
TCP
Verbindungsaufbau möglich
HTTP
Antwort unterbrochen
Schematisches Beispiel: Ein erfolgreicher TCP-Verbindungsaufbau bedeutet nicht, dass die Anwendung bereits auf HTTP-Anfragen antwortet. Die Balken stellen keine Messdaten dar.
Tpause=tunfreezetfreeze(2)
Freeze und Unfreeze werden aus passenden CRIU-Ereignissen bestimmt. HTTP-Ausfälle werden unabhängig aus Client-Probes abgeleitet.

Last variieren

Leerlauf, CPU-Last, parallele HTTP-Anfragen sowie Uploads, Downloads und Streams setzen unterschiedliche Schwerpunkte.

Wiederholt messen

Wiederholungen und Verteilungen zeigen Streuung und seltene Ausreißer. Median, Quantile und Rohdaten ergänzen sich.

Grenzen benennen

Probe-Intervalle und Timeouts begrenzen die zeitliche Auflösung. Ein gemessener Nullwert beweist keine durchgehend unterbrechungsfreie Anwendung.

Werkzeug & Forschung

Experimente reproduzierbar machen.

Die Forschungsumgebung enthält Migrationsskripte, Lastszenarien, Monitoring und Auswertung. CLM wird separat als Werkzeug zur Orchestrierung von Migrationen weiterentwickelt.