Wir sind Zombies geworden, sitzen daheim und starren auf Zahlen, auf Bilder. Geht es aufwärts? Geht es abwärts? Wann ist es vorbei?

Nehmen wir das Bild, das Bastian Stein regelmäßig aktualisiert:

WhatsApp Image 2020-03-29 at 19.40.56

Schon beim Betrachten des Bildes hat man ein gutes Gefühl. Der Zuwachs ist nicht mehr so steil! Wir schwanken nur noch um einstellige Zuwachsraten! Die Verfügungen der Stadt Jena zeigen nach knapp zwei Wochen tatsächlich Wirkung!

Oder etwa doch nicht?

Was heißt eigentlich, 3% Zuwachs jeden Tag?

Mathematisch gesehen ist der Zuwachs die Ableitung, d.h. f(x)' = 0.03 * f(x).
Und die Lösung dazu lautet f(x) = e0.03 x
Au, weh! Da ist ja die gefürchtete Exponentialfunktion!

Wenn wir schon mal hier sind, fragen wir nach der Verdopplungszeit. Dies ist die Zeit, in der sich die Fallzahlen verdoppeln, also f(x+d) = f(x) * f(d) = f(x) * 2. Also ist f(d) = ed*0.03 = 2.
Die Verdopplungszeit in Jena ist demzufolge d = log(2) / 0.03 = 23,1 d. Damit sind wir in Jena aktuell besser als Südkorea (14,8 d).

Woran erkennt man nun, ob es wirklich besser wird?

Zum einen fehlen komplett die Genesenen (oder Verstorbenen), denn die Krankheit dauert ja im Schnitt nur zwei Wochen. Die Anzahl der aktuell Infizierten ist also um die Anzahl niedriger, die schon vor 14 Tagen krank waren. Damit haben wir in Jena heute erstmals einen Rückgang in der Anzahl der Infizierten, denn die 10 vom 15.3. können als Genesen angesehen werden. Trotzdem ändert das allein nichts am exponentiellen Anstieg.

Diese Personen fallen aus der Menge der Infizierbaren heraus. Selbst wenn sie sich frei bewegen, denn sie sind immun und übertragen sie die Krankheit nicht mehr. Diejenigen, die noch infizierbar sind, müssen noch solange die Immunität simulieren, indem sie daheim bleiben. Das ist der Kern der Ausgangsbeschränkungen.

Je mehr Menschen Immunität erreichen, desto lockerer können die Beschränkungen sein. Einige Zeit (ein oder zwei Wochen) nach Überschreiten des Peaks kann man die Ausgangsbeschränkungen lockern. Man muss gegebenenfalls nachjustieren und immer mal wieder für einige Zeit immer lockere Ausgangsbeschränkungen verhängen, um die Belastung des Gesundheitssystems unter dem Limit zu halten. Die genaue Ausgestaltung ist das Exit-Szenario.

Anderseits gibt es nur endlich viele Menschen, die sich infizieren können. So verschiebt sich nach und nach das Verhältnis der Immunen zur Gesamtbevölkerung. Ab 60 bis 70% geht man von Herdenimmunität aus. Der benötigte Wert ergibt sich primär aus der Ansteckungsrate.

Wie sich die Zahlen für die Infizierten entwickeln, kann man mit dem SIR Modell prognostizieren. Wie das für verschiedene Länder und Bundesländer aussieht, kann man mit aktuellen Zahlen hier nachschauen.

Interessant ist die maximale Zahl der Infizieren. Für Deutschland rechnet das Modell für den 6. Mai 2020 mit einem Maximum von 5,2 Mio. Infizierten, also vielleicht 700.000 schweren Fällen. Die Kapazität in Deutschland liegt bei 28.000 Intensivbetten, davon sind 6000 aktuell nicht belegt. Hier liegt absehbar eine Überlastung des Gesundheitssystems vor.

Gibt man alle Werte in eine entsprechende Simulation ein, so bekommt man

  • ohne Ausgangsbeschränkung für Jena ein Bedarf an 7000 Intensivbetten Ende Mai.
  • mit aktueller Ausgangsbeschränkung in Jena ein Bedarf an 70 Intensivbetten Ende April.

Die 3% sind schön, aber nicht ausreichend. Der Wert muss fallen, die Neuinfektionen dürfen nur linear wachsen, besser konstant bleiben oder fallen.

Dieser Artikel ist eine Übersetzung eines sehr guten Artikels von Tomas Pueyo. Ich halte ihn für so wichtig, dass Sprachbarrieren nicht zum Hindernis werden sollten. Los gehts:

Bei all dem, was über das Coronavirus geschieht, könnte es sehr schwer sein, eine Entscheidung darüber zu treffen, was heute zu tun ist. Sollten Sie auf weitere Informationen warten? Heute etwas tun? Was denn?

In diesem Artikel werde ich mit vielen Diagrammen, Daten und Modelle aus vielen Quellen arbeiten:

  • Wie viele Fälle von Coronaviren wird es in Ihrer Region geben?
  • Was wird passieren, wenn diese Fälle auftreten?
  • Was sollten Sie tun?
  • Wann wird es passieren?

Wenn Sie den Artikel fertig gelesen haben, werden Sie das hier mitnehmen:

  • Das Coronavirus kommt zu Ihnen.
  • Es kommt mit exponentieller Schnelligkeit: langsam und dann ganz plötzlich.
  • Es ist eine Frage von Tagen. Ein oder zwei Wochen vielleicht.
  • Wenn das geschieht, wird das Gesundheitssystem überfordert sein.
  • Ihre Mitbürger werden in den Fluren versorgt werden.
  • Erschöpftes Pflegepersonal wird zusammenbrechen. Einige werden sterben.
  • Diese müssen entscheiden, welcher Patient mit Sauerstoff versorgt wird und welcher stirbt.
  • Die einzige Möglichkeit, dies zu verhindern, ist sofortige soziale Abgrenzung. Nicht morgen. Sondern heute.
  • Das bedeutet, so viele Menschen wie möglich zu Hause zu halten, und zwar ab sofort.

Als Politiker, Gemeindevertreter oder Unternehmer haben Sie die Macht und die Verantwortung, dies zu verhindern.

Vielleicht haben Sie jetzt Angst: Was ist, wenn ich überreagiere? Werden die Leute mich belächeln? Werden sie wütend auf mich sein? Werde ich dumm dastehen? Wird es nicht besser sein, darauf zu warten, dass andere zuerst handeln? Werde ich der Wirtschaft zu sehr schaden?

Aber in 2-4 Wochen, wenn die ganze Welt in der Quarantäne ist, wenn die wenigen kostbaren Tage der sozialen Abgrenzung, die Sie ermöglicht haben, Leben gerettet haben, wird man Sie nicht mehr kritisieren: Sie werden Ihnen dafür danken, dass Sie die richtige Entscheidung getroffen haben.

Ok, los geht's.

Wie viele Fälle von Coronavirus wird es in Ihrem Gebiet geben?

Länderüberblick

corona1

Die Gesamtzahl der Fälle stieg exponentiell an, bis China sie eindämmte. Aber dann ist sie nach außen gedrungen, und jetzt ist es eine Pandemie, die niemand mehr aufhalten kann.

corona2

Bis jetzt ist dies hauptsächlich Italien, Iran und Südkorea zuzuschreiben:

corona3

In Südkorea, Italien und China gibt es so viele Fälle, dass es kaum möglich ist, die anderen Länder zu sehen, aber lassen Sie uns die rechte untere Ecke näher betrachten.

corona4

Es gibt zahlreiche Länder mit exponentiellen Zuwächsen. Heute sind die meisten von ihnen westliche Länder.

corona5

Hält diese Art von Wachstum nur eine Woche an, dann bekommen Sie das hier:

corona6

Wenn man verstehen will, was passieren wird oder wie man es verhindern kann, muss man sich die bereits bekannten Beispiele anschauen: China, asiatische Länder mit SARS-Erfahrung und Italien.

China

Dies ist eines der wichtigsten Diagramme. Klicken Sie drauf, um die Details besser erkennen zu können.

In orangefarbenen Balken zeigt es die tägliche offizielle Zahl der Fälle in der Provinz Hubei: Wie viele Menschen an diesem Tag diagnostiziert wurden.

Die grauen Balken zeigen die tatsächlichen täglichen Coronavirus-Fälle. Die chinesische Gesundheitsbehörde CDC ermittelte diese, indem sie die Patienten während der Diagnose fragte, wann ihre Symptome begannen.

Entscheidend ist, dass diese tatsächlichen Fälle zu diesem Zeitpunkt noch nicht bekannt waren. Wir können sie nur rückblickend herausfinden: Die Behörden wissen nicht, wann jemand erste Symptome hatte. Sie wissen, wann jemand zum Arzt geht und die Diagnose gestellt wird.

Das heißt, die orangefarbenen Balken zeigen Ihnen, was die Behörden wussten, und die grauen, was in Wirklichkeit geschah.

Am 21. Januar explodierte die Zahl der neu diagnostizierten Fälle (orange): Es gibt etwa 100 neue Fälle. Tatsächlich gab es an diesem Tag 1.500 neue Fälle, die exponentiell anwachsen. Aber die Behörden wussten das nicht. Was sie wussten, war, dass es plötzlich 100 neue Fälle dieser neuen Krankheit gab.

Zwei Tage später sperrten die Behörden Wuhan. Zu diesem Zeitpunkt betrug die Zahl der täglich diagnostizierten neuen Fälle ~400. Beachten Sie diese Zahl: Sie beschlossen, die Stadt mit nur 400 neuen Fällen an einem Tag zu schließen. In Wirklichkeit gab es an diesem Tag 2.500 neue Fälle, aber das wussten sie nicht.

Einen Tag später wurden 15 weitere Städte in Hubei dicht gemacht.

Bis zur Schließung von Wuhan am 23. Januar zeigt das graue Diagramm, dass die Zahl der Fälle exponentiell zunimmt. Die tatsächlichen Fälle sind geradezu explodiert. Sobald Wuhan geschlossen wurde, wurden die Zahlen immer weniger. Als am 24. Januar weitere 15 Städte schließen, kommt die Zahl der tatsächlichen Fälle (wieder grau) zum Stillstand. Das Maximum an tatsächlichen Fällen wurde zwei Tage später erreicht, und seither ist die Zahl der tatsächlichen Fälle zurückgegangen.

Man beachte, dass die orangefarbenen (offiziellen) Fälle immer noch exponentiell anwachsen: Noch 12 Tage lang sah es so aus, als würde das ganze Ding immer noch explosionsartig anwachsen. Aber das war nicht der Fall. Es ist nur so, dass die Patienten immer stärkere Symptome bekamen und häufiger zum Arzt gingen, während gleichzeitig das systematische Erfassen der Patienten besser funktionierte.

Dieses Konzept der offiziellen und tatsächlichen Fälle ist wichtig. Behalten wir es für später im Gedächtnis.

In den übrigen Regionen Chinas koordinierte die Zentralregierung ihre Aktivitäten gut, sie ergriff sofortige und drastische Maßnahmen. Dies ist das Ergebnis:

corona8

Jede gerade Linie ist eine chinesische Region mit Coronavirus-Fällen. Jede einzelne hatte das Potential, sich exponentiell zu entwickeln, aber dank der Maßnahmen, die gerade Ende Januar durchgeführt wurden, konnte das Virus gestoppt werden, bevor es sich ausbreiten konnte.

In der Zwischenzeit hatten Südkorea, Italien und der Iran einen ganzen Monat Zeit, um sich zu informieren, taten es aber nicht. Es begann das gleiche exponentielle Wachstum wie in Hubei und überholte bis Ende Februar alle chinesischen Regionen.

Asiatische Länder

In Südkorea ist die Zahl der Fälle explodiert, doch haben Sie sich schon gefragt, was in Japan, Taiwan, Singapur, Thailand oder Hongkong anders ist?

corona9

Taiwan schaffte es nicht einmal in dieses Diagramm, weil es nicht die von mir gewählte Schwelle von 50 Fällen hatte.

Alle wurden 2003 von SARS heimgesucht, und alle haben daraus gelernt. Sie lernten, wie viral und tödlich die Krankheit sein kann, und wussten daher, dass sie das Problem ernst nehmen mussten. Daher sehen alle ihre Werte, obwohl sie schon viel früher begannen, immer noch nicht wie Exponentialkurven aus.

Bislang haben wir Berichte von Regierungen, die die Bedrohung der sich verbreitenden Coronaviren erkannten und sie eindämmten. In den übrigen Ländern gibt das allerdings eine komplett anders verlaufende Entwicklung.

Doch bevor wir dazu kommen, eine Anmerkung zu Südkorea: Das Land ist wahrscheinlich ein Ausreißer. Das Coronavirus war nach den ersten 30 Fällen eingedämmt. Patient 31 war ein Superüberträger, der es an Tausende andere Menschen weitergegeben hat. Da sich das Virus ausbreitet, bevor die Menschen Symptome zeigen, war das Virus zu dem Zeitpunkt, als die Behörden das Problem erkannten, längst da draußen. Nun tragen sie die Folgen dieses einen Falls. Ihre Eindämmungsbemühungen zeigen jedoch: Italien hat es in einer Reihe von Fällen bereits überschritten, und der Iran wird es schon morgen überschreiten (3/10/2020).

Washington State

Sie kennen bereits das Anwachsen in den westlichen Ländern und haben gesehen, wie schlecht die Prognosen von nur einer Woche aussehen. Nun stellen Sie sich vor, dass die Eindämmung nicht wie in Wuhan oder in anderen asiatischen Ländern geschieht, und Sie bekommen eine kolossale Epidemie.

Schauen wir uns einige Fälle an, wie z.B. den Bundesstaat Washington, die San Francisco Bay Area, Paris und Madrid.

corona10

Der Bundesstaat Washington ist das Wuhan der USA. Die Zahl der Fälle dort wächst exponentiell. Sie liegt derzeit bei 140.

Doch schon früh geschah etwas Interessantes. Die Todesrate ging durch die Decke. Es gab 3 Fälle und einen Todesfall.

Von anderen Orten wissen wir, dass die Sterblichkeitsrate des Coronavirus zwischen 0,5 und 5 % liegt (dazu später mehr). Wie konnte die Sterblichkeitsrate 33% erreichen?

Es stellte sich heraus, dass sich das Virus seit Wochen unbemerkt ausgebreitet hatte. Es ist nicht so, dass es nur 3 Fälle gab. Die Behörden wussten nur von 3, und einer von ihnen war tot, denn je ernster der Zustand, desto wahrscheinlicher ist es, dass jemand getestet wird.

Das ist ein bisschen wie bei den orangefarbenen und grauen Balken in China: Hier wussten sie nur von den orangefarbenen Balken (offizielle Fälle) und sie sahen gut aus: nur 3. Aber in Wirklichkeit gab es Hunderte, vielleicht Tausende von tatsächlichen Krankheitsfällen.

Das ist ein Problem: Sie kennen nur die offiziellen Fälle, nicht die tatsächlichen. Aber Sie müssen die tatsächlichen Fälle kennen. Wie können Sie die tatsächlichen Fälle abschätzen? Es gibt verschiedene Möglichkeiten. Ich hab für beide ein Modell, so dass Sie auch mit den Zahlen spielen können (direkter Link zum Kopieren des Modells).

Einmal durch Todesfälle. Wenn Sie Todesfälle in Ihrer Region haben, können Sie damit die Anzahl der tatsächlichen aktuellen Fälle schätzen. Wir wissen ungefähr, wie lange es im Durchschnitt (17,3 Tage) dauert, bis ein Mensch stirbt, der sich das Virus eingefangen hat. Die Person, die am 29.2. im Bundesstaat Washington starb, hat sich also wahrscheinlich am 12.2. infiziert.

Dann weiß man die Sterblichkeitsrate. Für dieses Szenario verwende ich 1% (die Einzelheiten besprechen wir später). Demzufolge gab es um den 12.2. herum bereits etwa 100 Fälle in der Gegend (von denen nur einer 17,3 Tage später zum Tode kam).

Nehmen wir nun die durchschnittliche Verdoppelungszeit für das Coronavirus (Zeit, die durchschnittlich für die Verdoppelung der Fälle benötigt wird). Sie liegt bei 6,2. In den 17 Tagen, die diese Person zum Sterben brauchte, haben sich die Erkrankungen also mit ~8 (=2^(17/6)) multipliziert. Anders ausgedrückt: Wenn man nicht alle Fälle diagnostizieren kann, bedeutet ein Todesfall heute 800 tatsächliche Fälle.

Im Bundesstaat Washington gibt es derzeit 22 Todesfälle. Mit dieser kurzen Hochrechnung erhält man heute ungefähr 16.000 tatsächliche Coronavirus-Fälle. So viele wie die offiziellen Fälle in Italien und im Iran zusammen.

Wenn wir ins Detail gehen, erkennen wir, dass 19 dieser Todesfälle auf eine Gruppe zurückzuführen sind, die das Virus möglicherweise nicht weit verbreitet hat. Betrachten wir also diese 19 Todesfälle als einen einzigen, ergibt sich eine Gesamtzahl von vier Todesfällen in diesem Bundesstaat. Wenn wir das Modell mit dieser Zahl aktualisieren, erhalten wir heute immer noch ~3.000 Fälle.

Trevor Bedford betrachtet in seinem Ansatz die Viren selbst und ihre Mutationen, um die aktuelle Fallzahl zu ermitteln. Er kommt zu dem Schluss, dass es derzeit wahrscheinlich ~1.100 Fälle im Bundesstaat Washington gibt.

Keiner dieser Ansätze ist perfekt, aber sie alle zielen auf die gleiche Kernaussage ab: Wir kennen die Zahl der tatsächlichen Fälle nicht, aber sie ist viel höher als die offizielle. Es sind nicht Hunderte. Es sind Tausende, vielleicht sogar mehr.

San Francisco Bay Area

Bis zum 8.3. gab es in der Bay Area keine Todesfälle. Daher ist es schwer zu sagen, wie viele tatsächliche Fälle es gab. Offiziell gab es 86 Fälle. In den USA ist die Zahl der Fälle jedoch sehr gering, weil es nicht genügend Testkits gibt. Das Land beschloss, ein eigenes Testkit zu erstellen, was sich allerdings als wirkungslos erwies.

Dies war die Anzahl der bis zum 3. März in verschiedenen Ländern durchgeführten Tests:

corona11

In der Türkei, wo es keine Fälle von Coronaviren gab, wurden pro Einwohner 10-mal mehr Tests durchgeführt als in den USA. Heute ist die Situation mit ~8.000 in den USA durchgeführten Tests nicht viel besser, wodurch ~4.000 Menschen getestet wurden.

corona12

An dieser Stelle kann man nur einen Teil der offiziellen Fälle zu tatsächlichen Fällen machen. Wie soll man sich entscheiden? Für die Bay Area testeten sie jeden, der eine Reise unternommen hatte oder mit einem Reisenden in Kontakt stand, d.h. sie kannten die meisten reisebezogenen Fälle, jedoch keinen der Fälle, die sich in der Bevölkerung ausbreiteten. Indem man ein Gefühl für die Ausbreitung in der Bevölkerung im Vergleich zur Ausbreitung auf Reisen hat, kann man wissen, wie viele echte Fälle es gibt.

Ich habe mir dieses Verhältnis für Südkorea angesehen, das über großartige Daten verfügt. Als sie 86 Fälle hatten, betrug der Prozentsatz der Fälle, die auf die Ausbreitung in der Bevölkerung zurückzuführen sind, 86% (86 und 86% sind ein Zufall).

Anhand dieser Angabe kann man die Anzahl der tatsächlichen Fälle berechnen. Wenn es heute in der Bay Area 86 Fälle gibt, ist es wahrscheinlich, dass die tatsächliche Zahl bei ~600 liegt.

Frankreich und Paris

Frankreich verzeichnet heute 1.400 Fälle und 30 Todesfälle. Mit den beiden oben genannten Methoden können Sie eine Spanne von Fallzahlen haben: zwischen 24.000 und 140.000.

Die tatsächliche Zahl der Coronavirus-Fälle in Frankreich dürfte heute zwischen 24.000 und 140.000 liegen.

Lassen Sie mich das wiederholen: Die Zahl der tatsächlichen Fälle in Frankreich wird wahrscheinlich um ein bis zwei Größenordnungen höher sein, als sie offiziell gemeldet wird.

Sie glauben mir nicht? Schauen wir uns noch einmal das Wuhan-Diagramm an. Wenn Sie die orangefarbenen Balken bis zum 22. Januar aufsammeln, erhalten Sie 444 Fälle. Addieren Sie nun alle grauen Balken. Das ergibt ~12.000 Fälle. Als Wuhan also dachte, er hätte 444 Fälle, waren es 27 Mal mehr. Wenn Frankreich glaubt, es habe 1.400 Fälle, dürften es durchaus Zehntausende sein.

Für Paris gilt die gleiche Rechnung. Mit ~30 Fällen innerhalb der Stadt liegt die tatsächliche Zahl der Erkrankungen wahrscheinlich bei Hunderten, vielleicht sogar Tausenden. Bei 300 Fällen in der Region Ile-de-France könnte die Gesamtanzahl der Fälle in der Region bereits Zehntausende übersteigen.

Madrid und Spanien

Spanien hat sehr ähnliche Zahlen wie Frankreich (1.200 Fälle gegenüber 1.400, und beide haben 30 Todesfälle). Das heißt, es gelten die gleichen Regeln: Spanien hat wahrscheinlich schon über 20.000 echte Fälle.

In der Region Madrid (Comunidad de Madrid) mit 600 offiziellen Fällen und 17 Todesfällen liegt die wahre Zahl der Fälle wahrscheinlich zwischen 10.000 und 60.000.

Wenn Sie diese Daten sehen und sich selbst sagen: "Unmöglich, das kann nicht wahr sein", dann bedenken Sie Folgendes: Bei dieser Zahl von Fällen war Wuhan bereits unter Quarantäne.

Bei der Zahl der Fälle, die wir heute in Ländern wie den USA, Spanien, Frankreich, Iran, Deutschland, Japan, den Niederlanden, Dänemark, Schweden oder der Schweiz sehen, befand sich Wuhan bereits in Quarantäne.

Und wenn Sie sich sagen: "Nun, Hubei ist nur eine Region", dann möchte ich Sie daran erinnern, dass dort fast 60 Millionen Menschen leben, mehr als in Spanien und etwa so viele wie in Frankreich.

Was passiert, wenn Coronavirus-Fälle auftreten?

Das Coronavirus ist schon hier. Es ist versteckt und wächst exponentiell.

Was wird in unseren Ländern passieren, wenn es zuschlägt? Das lässt sich leicht feststellen, denn wir haben bereits mehrere Orte, an denen es sich ausbreitet. Die besten Beispiele sind Hubei und Italien.

Die Sterblichkeitsraten

Die Weltgesundheitsorganisation (WHO) gibt 3,4 % als Sterblichkeitsrate an (% Menschen, die sich mit dem Coronavirus infizieren und dann sterben). Diese Zahl ist aus dem Kontext gerissen, lassen Sie mich das erklären.

corona13

Es hängt stark vom Land und vom Zeitpunkt ab: zwischen 0,6% in Südkorea und 4,4% im Iran. Und was heißt das? Mit einem Trick können wir es herausfinden.

Die beiden Möglichkeiten, wie man die Sterblichkeitsrate berechnen kann, sind Todesfälle/Gesamtfälle und Todesfälle/abgeschlossene Fälle. Die erste ist wohl eine zu niedrige Schätzung, denn viele offene Fälle können immer noch mit dem Tod enden. Die Zweite stellt eine Überschätzung dar, da Todesfälle wahrscheinlich schneller abgeschlossen werden als Heilungen.

Ich habe mir angesehen, wie sich beide im Laufe der Zeit entwickeln. Beide Zahlen werden zum gleichen Ergebnis führen, wenn alle Fälle erst einmal abgeschlossen sind. Projiziert man also die Entwicklung der Vergangenheit in die Zukunft, kann man eine Schätzung der endgültigen Sterblichkeitsrate vornehmen.

Dies ergibt sich aus den Daten. Chinas Sterblichkeitsrate liegt jetzt zwischen 3,6 % und 6,1 %. Wenn Sie das in die Zukunft projizieren, sieht es so aus, als würde sie sich in Richtung 3,8%-4% annähern. Das ist doppelt so hoch wie die aktuelle Schätzung und 30 x schlimmer als die Grippe.

Sie setzt sich jedoch aus zwei völlig unterschiedlichen Situationen zusammen: Hubei und das übrige China.

corona14

Die Sterblichkeitsrate von Hubei wird sich wahrscheinlich auf 4,8% zubewegen. Im übrigen China wird sie sich dagegen voraussichtlich auf ~0,9% einpendeln:

corona15

Für den Iran, Italien und Südkorea, die einzigen Länder mit genügend Todesfällen, habe ich ebenfalls die Zahlen aufgeführt, um dies einigermaßen verwertbar zu machen.

corona16
corona17
corona18

Die iranische und die italienische Sterblichkeitsrate nähern sich beide der 3- bis 4-Prozent-Marke an. Meine Vermutung ist, dass sich auch ihre entgültigen Raten um diese Zahl herum bewegen werden.

Am interessantesten ist Südkorea, denn diese beiden Zahlen stehen in keinem Zusammenhang: Die Zahl der Todesfälle/Gesamtzahl der Fälle beträgt nur 0,6%, aber die Zahl der Todesfälle/abgeschlossenen Fälle liegt bei satten 48%. Meiner Meinung nach ist das Land einfach extrem vorsichtig: Sie testen jeden (bei so vielen offenen Fällen scheint die Todesrate niedrig zu sein) und lassen die Fälle länger offen (so dass sie die Fälle schnell schließen, wenn der Patient tot ist). Relevant ist, dass sich die Sterblichkeitsrate von Anfang an um 0,5% bewegt hat, was darauf hindeutet, dass sie auch weiterhin bestehen bleiben wird.

Das letzte relevante Beispiel ist die Kreuzfahrt der Diamond Princess: bei 706 Fällen, 6 Todesfällen und 100 Genesungen dürfte die Sterblichkeitsrate bei 1 bis 6,5% liegen.

Die Altersverteilung in den einzelnen Ländern wird ebenfalls Auswirkungen haben: Da die Sterblichkeit bei älteren Menschen viel höher ist, werden Länder mit einer alternden Bevölkerung wie Japan im Durchschnitt stärker betroffen sein als jüngere Länder wie Nigeria. Es gibt auch Wetterfaktoren, insbesondere Feuchtigkeit und Temperatur, aber es ist noch unklar, wie sich dies auf die Übertragungs- und Sterblichkeitsraten auswirken wird.

Daraus kann man schließen:

  • Es gibt noch einige andere externe Faktoren, die die Sterblichkeitsrate beeinflussen werden.
  • Abgesehen davon werden die Länder, die darauf vorbereitet sind, eine Sterblichkeitsrate von ~0,5% (Südkorea) bis 0,9% (übriges China) aufweisen.
  • Überforderte Länder werden eine Sterblichkeitsrate zwischen ~3%-5% haben.

Anders ausgedrückt: Länder, die schnell handeln, können die Zahl der Todesfälle um den Faktor zehn reduzieren. Und das ist nur die Zahl der Todesfälle! Schnelles Handeln reduziert auch die Zahl der Krankheitsfälle drastisch, womit dies noch mehr zu einem Selbstläufer wird.

Was braucht ein Land also, um vorbereitet zu sein?

Wie groß ist die Belastung für das Gesundheitssytem?

corona19
corona20

Das Problem ist, dass Artikel wie Beatmungsgeräte und Herz-Lungen-Maschinen nicht einfach hergestellt oder gekauft werden können. Vor einigen Jahren gab es beispielsweise in den USA insgesamt 250 Herz-Lungen-Maschinen.

Wenn sich also plötzlich 100.000 Menschen infiziert haben, werden sich viele von ihnen testen lassen wollen. Etwa 20.000 müssen ins Krankenhaus eingeliefert werden, 5.000 auf die Intensivstation und 1.000 brauchen Geräte, von denen wir heute nicht genug haben. Und das bei nur 100.000 Fällen.

Dabei bleiben Fragen wie Masken unberücksichtigt. Ein Land wie die USA verfügt nur über 1% der Masken, die es benötigt, um den Bedarf seiner Mitarbeiter im Gesundheitswesen zu decken (12M N95, 30M chirurgischer Bedarf vs. 3,5B benötigt). Treten viele Fälle auf einmal auf, gibt es Masken nur für 2 Wochen.

Länder wie Japan, Südkorea, Hongkong oder Singapur sowie chinesische Regionen außerhalb von Hubei sind vorbereitet und bieten den Patienten die erforderliche Versorgung.

Die übrigen westlichen Länder bewegen sich jedoch eher in Richtung Hubei und Italien. Was geschieht dort also?

Wie ein überfordertes Gesundheitssystem aussieht

Die Geschichten, die in Hubei und die in Italien geschehen sind, beginnen sich auf unheimliche Weise zu ähneln. Hubei baute zwei Krankenhäuser in zehn Tagen, aber selbst dann war es völlig überfordert.

Beide klagten darüber, dass die Patienten ihre Krankenhäuser überfluteten. Sie mussten überall versorgt werden: in den Fluren, in den Wartezimmern …

Mitarbeiter des Gesundheitswesens verbringen Stunden mit einem einzigen Stück Schutzkleidung, weil es nicht genug davon gibt. Daher können sie die Infektionsgebiete stundenlang nicht verlassen. Danach bleiben sie liegen, sind dehydriert und erschöpft. Es gibt keine Schichten mehr. Die Menschen werden aus dem Ruhestand zurückgeholt, um den Bedarf zu decken. Menschen, die keine Ahnung von der Krankenpflege haben, werden über Nacht geschult, um kritische Aufgaben zu erfüllen. Jeder ist immer auf Abruf, immer.

Das heißt, bis sie krank werden. Das passiert oft, weil sie ohne ausreichende Schutzausrüstung ständig dem Virus ausgesetzt sind. Dann müssen sie 14 Tage lang in Quarantäne bleiben, in denen sie nicht helfen können. Im besten Fall gehen 2 Wochen verloren. Im schlimmsten Fall sind sie tot.

Am schlimmsten ist es auf den Intensivstationen, wenn die Patienten sich Beatmungsgeräte oder Herz-Lungen-Maschinen teilen müssen. Es ist eigentlich unmöglich, diese gemeinsam zu nutzen, also müssen die medizinischen Fachkräfte bestimmen, welcher Patient sie benutzen wird. Das heißt konkret, welcher Patient lebt und welcher stirbt.

"Nach einigen Tagen müssen wir uns entscheiden. [...] Nicht jeder kann intubiert werden. Wir entscheiden aufgrund von Alter und Gesundheitszustand." -Christian Salaroli, italienischer Arzt.

Dies alles führt dazu, dass ein solches System eine Sterblichkeitsrate von ~4% anstatt von ~0,5% aufweist. Wenn Sie wollen, dass Ihre Stadt oder Ihr Land Teil der 4% ist, tun Sie heute nichts.

Was sollten Sie tun?

Die Kurve flacher machen

Dies ist jetzt eine Pandemie. Sie kann nicht beseitigt werden. Was wir aber tun können, ist ihre Auswirkungen zu verringern.

Einige Länder waren in dieser Hinsicht vorbildlich. Am besten ist Taiwan, das extrem mit China verbunden ist und dennoch bis heute weniger als 50 Fälle hat. In diesem jüngsten Artikel werden alle Maßnahmen erläutert, die sie schon früh ergriffen haben und die auf Eindämmung ausgerichtet waren.

Taiwan konnte es unter Kontrolle bringen, aber die meisten Länder hatten diese Expertise nicht und haben sie nicht. Nun betreiben sie ein anderes Spiel: Eindämmung. Sie müssen dieses Virus so harmlos wie möglich machen.

Wenn wir die Infektionen so weit wie möglich eindämmen, wird unser Gesundheitssystem in der Lage sein, die Fälle viel besser zu bewältigen und die Zahl der Todesfälle zu senken. Und wenn wir es über einen längeren Zeitraum hinweg verzögern, werden wir einen Punkt erreichen, den Rest der Gesellschaft zu impfen, so dass das Risiko ganz eliminiert wird. Unser Ziel ist also nicht die Eliminierung von Coronavirus-Infektionen. Es ist, sie zu verschieben.

Je mehr wir Krankheitsfälle hinausschieben, desto besser kann das Gesundheitssystem funktionieren, desto niedriger ist die Sterblichkeitsrate und desto höher ist der Anteil der Bevölkerung, der geimpft wird, bevor er sich ansteckt.

Wie können wir die Kurve abflachen?

Soziale Isolierung

Es gibt eine ganz einfache Sache, die wir tun können und die funktioniert: soziale Isolierung.

Wenn Sie zum Wuhan-Diagramm zurückkehren, werden Sie sich daran erinnern, dass sobald es eine Quarantäne gab, die Fälle abgenommen haben. Das liegt daran, dass die Menschen nicht miteinander interagierten und der Virus sich nicht verbreitete.

Der derzeitige wissenschaftliche Konsens ist, dass dieses Virus im Umkreis von 2 Metern verbreitet werden kann, wenn jemand hustet. Andernfalls fallen die Tröpfchen zu Boden und infizieren Sie nicht.

Die größte Ansteckung erfolgt dann durch Oberflächen: Das Virus überlebt stunden- oder tagelang auf verschiedenen Oberflächen. Wenn es sich wie eine Grippe verhält, kann es wochenlang auf Metall, Keramik und Kunststoffen überleben. Das bedeutet, dass Dinge wie Türgriffe, Tische oder Fahrstuhlknöpfe schreckliche Infektionsherde sein können.

Nur mit sozialer Isolation lässt sich das wirklich reduzieren: Die Menschen so viel wie möglich zu Hause zu halten, so lange wie möglich, bis sich das Problem gelegt hat.

Dies wurde bereits in der Vergangenheit bewiesen. Nämlich bei der Grippepandemie von 1918.

Lehren aus der Grippeepidemie von 1918

corona21

Man sieht, dass Philadelphia nicht schnell genug handelte und einen massiven Höhepunkt bei den Todesraten hatte. Vergleichen Sie das mit St. Louis, das es tat.

Dann schauen Sie sich Denver an, das erst Maßnahmen erließ und sie dann lockerte. Sie hatten einen doppelten Höhepunkt, wobei die zweite Spitze höher war als die erste.

corona22

Verallgemeinert man, so findet man das hier:

corona23

Dieses Diagramm zeigt für die Grippe von 1918 in den USA, wie viele weitere Todesfälle es pro Stadt gab, je nachdem, wie schnell Maßnahmen ergriffen wurden. Eine Stadt wie St. Louis hat beispielsweise 6 Tage vor Pittsburg Maßnahmen ergriffen und hatte weniger als die Hälfte der Todesfälle pro Bürger. Im Durchschnitt wurde die Sterblichkeitsrate durch die 20 Tage eher ergriffenen Maßnahmen halbiert.

Italien hat dies schließlich auch erkannt. Am Sonntag sperrten sie zunächst die Lombardei ab, und am Montag, einen Tag später, erkannten sie ihren Fehler und entschieden, das ganze Land abzuriegeln.

Hoffentlich werden wir in den kommenden Tagen Resultate sehen. Allerdings wird es ein bis zwei Wochen brauchen. Erinnern Sie sich an das Wuhan-Diagramm: Zwischen der Ankündigung der Abriegelung und dem Beginn der offiziellen Fälle (orange) lagen 12 Tage.

Wie können Politiker zur sozialen Isolierung beitragen?

Die Politiker stellen sich heute nicht die Frage, ob sie etwas tun sollen, sondern vielmehr, was die angemessene Maßnahme ist.

Zur Bekämpfung einer Epidemie gibt es mehrere Stufen, die mit der Vorbeugung beginnen und mit der Ausrottung enden. Aber für die meisten Optionen ist es heute zu spät. Bei diesem Ausmaß an Erkrankungen haben die Politiker nur zwei Optionen vor Augen: Eindämmung und Abschwächung.

Die Eindämmung stellt sicher, dass alle Fälle identifiziert, kontrolliert und isoliert werden. Genau das machen Singapur, Hongkong, Japan oder Taiwan so gut: Sie schränken sehr schnell die Zahl der einreisenden Personen ein, identifizieren die Kranken, isolieren sie sofort, verwenden schwere Schutzausrüstung zum Schutz ihrer Mitarbeiter im Gesundheitswesen, verfolgen alle ihre Kontakte, stellen sie unter Quarantäne... Das funktioniert sehr gut, wenn man vorbereitet ist und es frühzeitig tut, und man muss die Wirtschaft dafür nicht zum Erliegen bringen.

Ich habe bereits die Vorgehensweise Taiwans angedeutet. Aber auch der chinesische Ansatz ist gut. Die Anstrengungen, die das Land unternommen hat, um das Virus einzudämmen, sind verblüffend. Beispielsweise hatten sie bis zu 1.800 Teams von je 5 Personen, die jede infizierte Person verfolgten, jeden, mit dem sie in Kontakt kamen, und dann jeden, mit dem diese Personen interagierten, und die Gruppe isolierten. Auf diese Weise konnten sie das Virus in einem Land mit einer Milliarde Menschen eindämmen.

Die westlichen Länder haben das nicht getan. Und jetzt ist es zu spät. Die jüngste Ankündigung der USA, dass die meisten Reisen aus Europa verboten wurden, ist eine Eindämmungsmaßnahme für ein Land, das bis heute dreimal so viele Fälle hatte wie Hubei, als es geschlossen wurde, und das exponentiell anstieg. Wie können wir wissen, ob es genug ist? Das wissen wir, wenn wir uns das Reiseverbot von Wuhan ansehen.

corona24

Diese Grafik zeigt, wie sich das Reiseverbot in Wuhan auf die Verzögerung der Epidemie ausgewirkt hat. Die Blasengrößen zeigen die Anzahl der täglichen Erkrankungen. Die obere Zeile zeigt die Fälle, wenn nichts unternommen wird. Die beiden anderen Zeilen zeigen die Auswirkungen, wenn 40% und 90% der Reisen eliminiert werden. Es handelt sich um ein von Epidemiologen erstelltes Modell, denn wir können es nicht mit Sicherheit wissen.

Wenn Sie keinen großen Unterschied sehen, haben Sie Recht. Es ist sehr schwer, eine Veränderung in der Entwicklung der Epidemie zu erkennen.

Forscher schätzen, dass das Reiseverbot in Wuhan die Ausbreitung in China insgesamt nur um 3-5 Tage verzögert hat.

Was dachten die Forscher, was denn eine Verringerung der Übertragung bewirken sollte?

corona25

Der obere Block ist derselbe wie zuvor. Die beiden anderen Blöcke zeigen abnehmende Übertragungsraten. Wenn die Übertragungsrate um 25% sinkt (durch soziale Isolierung), verflacht sich die Kurve und verzögert den Höhepunkt um ganze 14 Wochen. Wenn die Übergangsrate um 50% sinkt, kann man die Epidemie nicht einmal innerhalb eines Quartals sehen.

Das Reiseverbot der US-Regierung für Europa ist gut: Es hat uns wahrscheinlich ein paar Stunden, vielleicht ein oder zwei Tage erkauft. Aber nicht mehr. Es ist nicht genug. Es ist Eingrenzung, wenn es darum geht, die Seuche zu entschärfen.

Wenn die Zahl der Fälle in der Bevölkerung einmal um Hunderte oder Tausende wächst, reicht es nicht mehr aus, weitere Fälle zu verhindern, die bestehenden zu verfolgen und ihre Kontakte zu isolieren. Die nächste Ebene ist die Entschärfung.

Linderung

Die Abmilderung erfordert eine starke soziale Isolierung. Die Menschen müssen aufhören, sich draußen aufzuhalten, um die Übertragungsrate (wie viele Menschen steckt ein Infizierter an) von ca. zwei bis drei, der das Virus ohne Maßnahmen folgt, auf unter eins zu senken, damit es schließlich aussterben kann.

Dazu müssen Unternehmen, Geschäfte, öffentliche Verkehrsmittel, Schulen geschlossen, Sperren durchgesetzt werden... Je schlimmer die Situation, desto größer die soziale Isolation. Je früher Sie schwere Maßnahmen verhängen, desto weniger Zeit brauchen Sie, um sie aufrechtzuerhalten, desto leichter ist es, Störungen zu erkennen, und desto weniger Menschen werden infiziert.

Genau das musste Wuhan tun. Das ist es, was Italien zu akzeptieren gezwungen war. Denn wenn das Virus grassiert, besteht die einzige Maßnahme darin, in allen betroffenen Gebieten die Verbreitung des Virus auf einmal zu stoppen.

Bei Tausenden von offiziellen Fällen - und Zehntausenden von tatsächlichen Fällen - müssen Länder wie der Iran, Frankreich, Spanien, Deutschland, die Schweiz oder die USA genau das tun.

Einige Unternehmen arbeiten von zu Hause aus, was fantastisch ist.
Einige Massenveranstaltungen werden gestoppt.
Einige betroffene Gebiete stehen unter Quarantäne.

All diese Maßnahmen werden das Virus verlangsamen. Sie werden die Übertragungsrate von 2,5 auf 2,2, vielleicht sogar auf 2 senken. Aber sie reichen nicht aus, um uns für einen längeren Zeitraum unter eins zu bringen, um die Epidemie zu stoppen. Und wenn wir das nicht schaffen, müssen wir sie so nahe wie möglich an eins herankommen, um die Kurve abzuflachen.

Also lautet die Frage: Welche Kompromisse könnten wir eingehen, um die Übertragungsrate zu senken? Dies ist das Programm, das Italien uns allen vorgelegt hat:

  • Niemand darf Sperrgebiete betreten oder verlassen, es sei denn, es gibt nachgewiesene familiäre oder berufliche Gründe.
  • Bewegung innerhalb der Bereiche ist zu vermeiden, es sei denn, sie sind aus dringenden persönlichen oder beruflichen Gründen gerechtfertigt und können nicht aufgeschoben werden.
  • Menschen mit Symptomen (Atemwegsinfektion und Fieber) wird "dringend empfohlen", zu Hause zu bleiben.
  • Die Standardurlaubszeit für Beschäftigte im Gesundheitswesen wird ausgesetzt.
  • Schließung aller Bildungseinrichtungen (Schulen, Universitäten...), Sporthallen, Museen, Skistationen, Kultur- und Sozialzentren, Schwimmbäder und Theater.
  • Bars und Restaurants haben begrenzte Öffnungszeiten von 6 Uhr morgens bis 18 Uhr abends, wobei der Abstand zwischen den Personen mindestens einen Meter betragen muss.
  • Alle Pubs und Clubs müssen schließen.
  • Alle kommerziellen Aktivitäten müssen einen Abstand von einem Meter zwischen den Kunden einhalten. Diejenigen, die das nicht schaffen, müssen schließen. Kirchen können geöffnet bleiben, solange sie diesen Abstand garantieren können.
  • Krankenhausbesuche von Familie und Freunden sind begrenzt.
  • Meetings müssen verschoben werden. Die Arbeit von zu Hause aus muss gefördert werden.
  • Alle Sportveranstaltungen und Wettbewerbe, ob öffentlich oder privat, werden abgesagt. Wichtige Veranstaltungen können hinter verschlossenen Türen abgehalten werden.

Nur zwei Tage später fügte man hinzu: Nein, eigentlich müssen Sie alle Geschäfte schließen, die nicht unverzichtbar sind. Jetzt schließen wir also alle kommerziellen Aktivitäten, Büros, Cafés und Geschäfte. Nur das Transportwesen, die Apotheken und die Lebensmittelgeschäfte bleiben geöffnet.

Ein Lösungsansatz ist die schrittweise Ausweitung der Maßnahmen. Unglücklicherweise gibt das dem Virus wertvolle Zeit, sich zu verbreiten. Wenn Sie sicher sein wollen, machen Sie es im Wuhan-Stil. Die Leute mögen sich jetzt beschweren, aber sie werden Ihnen später danken.

Wie können Führungskräfte aus der Wirtschaft zur sozialen Isolierung beitragen?

Wenn Sie ein Unternehmer sind und wissen möchten, was Sie tun sollten, ist der Staying Home Club die beste Ressource für Sie. Es handelt sich um eine Liste von Maßnahmen zur sozialen Isolierung, die von US-Technologieunternehmen ergriffen wurden - bisher 138. Sie reichen von erlaubter bis hin zu vorgeschriebener Heimarbeit und eingeschränkten Besuchen, Reisen oder Veranstaltungen.

Es gibt noch mehr Dinge, die jedes Unternehmen festlegen muss, wie z.B. was mit den stundenweise beschäftigten Arbeitern zu tun ist, ob das Büro offen bleiben soll oder nicht, wie Bewerbungsgespräche zu führen sind, was mit den Cafeterias zu tun ist … So machen wir das bei uns.

Wann?

Es ist sehr gut möglich, dass Sie bisher mit allem, was ich gesagt habe, einverstanden waren und sich von Anfang an gefragt haben, wann die einzelnen Entscheidungen getroffen werden sollen. Anders ausgedrückt: Welche Auslöser sollten wir für jede Maßnahme haben?

Risiko-basiertes Modell

Mein Modell ermöglicht es Ihnen, die wahrscheinliche Anzahl der Krankheitsfälle in Ihrem Gebiet zu beurteilen, die Wahrscheinlichkeit, dass Ihre Mitarbeiter bereits infiziert sind, wie sich dieser Zustand im Laufe der Zeit entwickelt und wie sich daraus ableiten lässt, ob Sie weiterhin offen bleiben sollten.

Es sagt uns Dinge wie:

  • Wenn Ihr Unternehmen 100 Mitarbeiter im Gebiet des Bundesstaates Washington mit 11 Coronavirus-Toten hat, besteht eine 25%ige Wahrscheinlichkeit, dass mindestens einer Ihrer Mitarbeiter infiziert ist, und Sie sollten sofort schließen.
  • Wenn Ihr Unternehmen 250 Mitarbeiter hauptsächlich in der South Bay (San Mateo und Santa Clara County, die zusammen 22 offizielle Fälle haben und die tatsächliche Zahl wahrscheinlich mindestens 54 beträgt) hat, haben Sie am 9. März eine 2%ige Wahrscheinlichkeit, dass mindestens ein Mitarbeiter infiziert ist.
  • Wenn Ihr Unternehmen in Paris (intramuros) angesiedelt ist und 250 Mitarbeiter hat, besteht heute eine Wahrscheinlichkeit von 95%, dass einer Ihrer Mitarbeiter das Coronavirus hat, und Sie sollten Ihr Büro morgen schließen.

Das Modell verwendet Bezeichnungen wie "Unternehmen" und "Mitarbeiter", aber dasselbe Modell kann auch für alles andere verwendet werden: Schulen, öffentliche Verkehrsmittel... Wenn Sie also nur 50 Mitarbeiter in Paris haben, aber alle den RER nehmen und auf Tausende von anderen Menschen treffen, ist die Wahrscheinlichkeit, dass mindestens einer von ihnen infiziert wird, plötzlich viel höher, und Sie sollten Ihr Büro sofort schließen.

Wenn Sie immer noch zögern, weil niemand Symptome zeigt, sollten Sie sich klarmachen, dass 26% der Ansteckungen auftreten, bevor es Symptome gibt.

Gehören Sie zu echten Führungskräften?

Diese Rechnung ist egoistisch. Es betrachtet das Risiko jedes Unternehmens individuell und geht so viel Risiko ein, wie wir wollen, bis der unvermeidliche Hammer des Coronavirus unsere Büros schließt.

Aber wenn Sie zu der Spitzengruppe der Unternehmer oder Politiker gehören, dann beziehen sich Ihre Berechnungen nicht nur auf ein einzelnes Unternehmen, sondern auf das Ganze. Die Mathematik lautet: Wie hoch ist die Wahrscheinlichkeit, dass eines unserer Unternehmen infiziert ist? Wenn Sie eine Gruppe von 50 Unternehmen mit durchschnittlich 250 Mitarbeitern in der SF Bay Area repräsentieren, besteht eine 35%ige Wahrscheinlichkeit, dass mindestens eines der Unternehmen einen Mitarbeiter infiziert hat, und eine 97%ige Wahrscheinlichkeit, dass das nächste Woche zutrifft. Ich habe einen Reiter in das Modell eingefügt, damit Sie damit spielen können.

Fazit: Die Kosten des Wartens

Es mag sich beängstigend anfühlen, heute eine Entscheidung zu treffen, aber Sie sollten nicht zu sehr darüber nachdenken.

corona26

In diesem theoretischen Modell werden verschiedene Bevölkerungsgruppen dargestellt: Die eine trifft keine sozialen Abgrenzungsmaßnahmen, die andere trifft sie am Tag n des Ausbruchs, die andere am Tag n+1. Alle diese Zahlen sind völlig fiktiv (ich habe sie so gewählt, dass sie den Ereignissen in Hubei ähneln, mit ~6k täglich neuen Fällen im schlimmsten Fall). Sie sind nur dazu da, zu veranschaulichen, wie wichtig ein einziger Tag bei etwas sein kann, das exponentiell wächst. Man kann sehen, dass die eintägige Verzögerung später und stärker zunimmt, aber dann konvergieren die täglichen Fälle gegen Null.

Aber was ist mit kumulativen Fällen?

corona27

In diesem theoretischen Modell, das in etwa an Hubei erinnert, führt das Warten eines weiteren Tages zu 40% mehr Krankheitsfällen! Hätten die Behörden in Hubei den Ausnahmezustand am 22. Januar statt am 23. Januar erklärt, hätten sie die Zahl der Fälle womöglich um ganze 20.000 reduziert.

Und denken Sie daran, dass dies nur Fälle sind. Die Sterblichkeit wäre viel höher, denn es gäbe nicht nur direkt 40% mehr Todesfälle. Es gäbe auch einen viel stärkeren Zusammenbruch des Gesundheitssystems, was zu einer bis zu 10-mal höheren Sterblichkeitsrate führen würde, wie wir zuvor gesehen haben. Ein eintägiger Unterschied bei den Maßnahmen zur sozialen Isolierung kann also dazu führen, dass die Zahl der Todesfälle in Ihrer Region explodiert, indem mehr Fälle und eine höhere Sterblichkeitsrate vervielfacht werden.

Dies ist eine exponentielle Bedrohung. Jeder Tag zählt. Wenn Sie eine Entscheidung um einen einzigen Tag verzögern, tragen Sie vielleicht nicht zu ein paar Fällen bei. Wahrscheinlich gibt es in Ihrer Gegend bereits Hunderte oder Tausende von Fällen. Jeden Tag, an dem es keine soziale Isolierung gibt, wachsen diese Fälle explosionsartig an.

Ein Kunde wünscht eine bezahlbare, skalierbare Lösung für den Anschluss von xDSL-Kunden, die per L2-BSA von der DTAG zugeführt werden. Natürlich sollen die eigenen Produkte erhalten bleiben, die Kunden in ihrem Router - wie gewohnt - den richtigen Provider auswählen, kurz gesagt, ein Telekom-Anschluss soll so funktionieren wie ein direkt durch den Kunden betriebener DSL Zugang.

Aufgabenstellung

Der Anschluss beim Endkunden wird als Ethernet-Übergabe mit mehreren (einfach getaggten) VLANs ausgeführt. Der Kunde soll dort alle VLANs nutzen können, die auch sonst an einem direkt versorgten Anschluss zur Verfügung stehen.

Es soll Triple-Play möglich sein, also nennen wir die benötigten VLANs mal 140 für Internet, 141 für IPTV und 142 für VoIP. Die Nummern sind egal, es können auch 7, 18 und 4012 benutzt werden. Wichtig ist nur, dass alle Pakete am Anschluss nach einem festen Schema getaggt übergeben werden. Dieses Schema wird durch die Auswahl des Providers in der CPE (z.B. Fritzbox) des Endkunden festgelegt.

VLANs am Kundenanschluss
Payload (z.B. IP)
C-VLAN Tag
Source-MAC
Destination-MAC

Ein L2-BSA Zugang durch die DTAG sammelt nun die einfach getaggten Pakete (C(ustomer)-Tag) ein, versieht sie mit einem zusätzlichen VLAN-Tag (S(erviceprovider)-Tag), anhand dessen die Transporttechnik der DTAG den Endkundenport wieder identifizieren kann und übergibt die Pakete dann doppelt getaggt an uns. Umgekehrt erkennt die DTAG anhand des äußeren S-Tags, an welchen Kundenanschluss die Pakete raus fallen sollen. Das S-Tag wird entfernt und das C-Tag ist beim Kunden sichtbar.

VLANs am Übergabesanschluss
Payload (z.B. IP)
C-VLAN Tag
S-VLAN Tag
Source-MAC
Destination-MAC

Dieses Verfahren hat mehrere Konsequenzen:

  • Das S-Tag charakterisiert die Verbindung zwischen Kundenanschluss und Provider.
  • Hinter dem S-Tag stehende C-Tags, Protokolle oder gar MAC-Adressen sind dem Transportweg komplett egal.
  • Auf diese Weise können beliebig viele Endgeräte hinter einem Anschluss versorgt werden.
  • Es können auch beliebige Produkte (IPv4, IPv6, ...) angeboten werden.
  • Da sich die DTAG für die Inhalte der Pakete nicht interessiert, übernimmt sie auch keine Multicast-Replikation z.B. für IPTV. Wenn also fünf Teilnehmer einen Sender schauen, müssen die Pakete fünf mal (mit unterschiedlichen S-Tags) gesendet werden.
  • Pro Kundenanschluss benötigt man ein anderes, eindeutiges Tag. Dieses muss von dem Transportprovider, der DTAG, verwaltet werden.
  • Somit sind pro Übergabeanschluss (BNG) nur ca. 4000 Kundenanschlüsse möglich (Wertebereich von VLAN Tags)

Die DTAG behält sich vor, dass sie das S-Tag pro neuem Verbindungsaufbau (DSL-Sync) neu vergibt. Ist der Kunde also bisher unter dem S-Tag 432 sichtbar gewesen, so kann er nach einem Reset seines Routers oder einer Leitungsstörung spontan unter dem neuen S-VLAN 874 auftauchen. Pakete, die in Richtung Kunden mit dem S-Tag 432 geschickt werden, kommen also von jetzt auf gleich nicht mehr an.

VLANs am Übergabesanschluss
Payload (z.B. IP) Daten Daten
C-VLAN Tag 140 140
S-VLAN Tag 432 874
Source-MAC 01:02:03:04:05:06 01:02:03:04:05:06
Destination-MAC 01:02:03:07:08:09 01:02:03:07:08:09
  vorher nachher

Interessanterweise besteht die DTAG bei einer umgekehrten Versorgung mit L2-BSA durch ein Netz eines anderen Providers darauf, dass die S-Tags pro Kunde fix bleiben und sich nicht ändern dürfen.

Da bisher das Netz wie eine große L2-Wolke betrachtet wurde, sollen die neuen Anschlüsse ebenso funktionieren.

Darüber hinaus gibt es ein Problem durch die unterschiedlichen Anschlussbandbreiten. Die DTAG möchte keinesfalls bei Produktwechseln (andere Anschlussbandbreite) involviert sein, also:

  • handelt sie selbst in Richtung Endkunden die höchstmögliche Geschwindigkeit aus, die die Technik her gibt.
  • verpflichtet sie den Provider, nicht mehr Bandbreite dem Endkunden zur Verfügung zu stellen, wie dieser lt. Produktbeschreibung verkauft hat, auch wenn der Anschluss schneller synchronisierte.
  • verpflichtet die den Provider, nicht mehr Bandbreite zum Endkunden zu schicken, als dessen Anschluss auch real her gibt, selbst dann, wenn die verkaufte Bandbreite höher ist.
  • bietet sie dem Provider gewisse reservierte Bandbreiten mit besonderen QoS-Zusagen, z.B. geringer Jitter (für VoIP) oder minimaler Paketverlust (für IPTV).

Um den Provider zur Einhaltung dieser Regeln zu zwingen (und damit der Überlastung des eigenen Netzes entgegen zu wirken), sind Verletzungen dieser Regeln vertraglich strafbewehrt.

Von der Idee zur Umsetzung

Konzentriert man sich allein auf das S-Vlan Problem, so genügt es anhand der MAC Adresse herauszufinden auf welchem Weg das Paket ursprünglich herein gekommen war. Stellt man sich jedes S-Vlan als eigene Leitung vor, so würde ein Switch mit 4096 Ports die Aufteilung bestens erfüllen: Er lernt anhand der Source-MAC, auf welchem Interface das Paket rein kam, und schickt die Antworten (mit der Ziel-MAC) auch dahin zurück. Kommt die MAC mal von einem anderen Interface (geändertes S-Tag), lernt er um.

Natürlich stellt man sich nicht einen Switch mit derartig vielen Interfaces real hin. Schließlich kommen diese 4000 "Leitungen" pro Anschluss an einen BNG. Für ein kleines Bundesland wie Thüringen, sind das einige Hundert Zuleitungen, die wir aber nicht alle brauchen, weil wir ja selbst ein Netz haben. Die Überschlagsrechnung ergibt: 2,3 Mio Einwohner = 600k Haushalte = 150 BNGs (Minimum)

Anderseits sind sicher nicht alle Haushalte fest als Kunden zu planen, sondern nur ein kleiner Teil wird wechseln wollen. Von den potentiell 4000 "Leitungen" werden nur wenige belegt sein. Es wäre also völlig abstrus, hier dauerhaft alle möglichen Verbindungen offen zu halten. Dazu kommt, dass Broadcast-Traffic (z.B. ARP) an alle potentiellen Teilnehmer gesendet werden müssen. Hält man also alle potentiellen "Leitungen" offen verviertausendfacht man den Traffic. Unnötigerweise.

  1. Der erste Schritt war die Erstellung eines Testbeds, dass die verwendete Anschlusstechnik simulieren kann. Dies wird ausführlich in einem eigenen Artikel dargestellt.
  2. Da zur Terminierung keine realen Switche verwendet werden, sondern preisgünstige Server, landen mehrere BNG-Zuleitungen auf einem Server. Es ist sinnvoll, diese Zuleitungen zu aggregieren, um nicht für jede Zuleitung ein eigenes Terminierungsnetz verwalten zu müssen. Damit werden aus doppelt getaggten Paketen - dreifach getaggte. das zusätzliche A-Tag gibt an, welches Zuleitungs-Interface gerade angesprochen werden soll. Auch das wird in einem eigenen Artikel ausgeführt.

    VLANs nach Aggregation
    Payload (z.B. IP)
    C-VLAN Tag
    S-VLAN Tag
    A-VLAN Tag
    Source-MAC
    Destination-MAC
  3. Da in jedem C-Vlan die MAC-Adressen des Kunden gleich sein dürfen, ist für die weitere Verarbeitung eine Trennung nach C-Vlans nötig. Auch QoS-Einstellungen sind dienstabhängig. Die C-Vlans stehen aber ganz innen im VLAN-Stapel. Es war notwendig, den Stapel zur rotieren, so dass aus der Abfolge C/S/A-Vlan die Abfolge S/A/C-Vlan wird. Nach dieser Rotation steht das C-Vlan direkt zur Verfügung und es kann je nach Dienst getrennt verarbeitet werden. Ein entsprechendes Netgraph-Modul ng_vlan_rotate wurde erstellt.

    VLANs nach Rotation
    Payload (z.B. IP)
    S-VLAN Tag
    A-VLAN Tag
    C-VLAN Tag
    Source-MAC
    Destination-MAC
  4. Was nun noch bleibt, sollte eigentlich leicht sein: Die doppelt getaggten VLANs (außen A, innen S) müssen wieder auseinander genommen, und über ein Netgraph-Modul ng_bridge mit dem Ausgang zum Providernetz verbunden werden. Unglücklicherweise kann das Modul aber nur 32 Links verbinden, viel zu wenig! Aber wie verbindet man die Links nur bei Bedarf? Auch das wird in einem eigenen Artikel ausgeführt.

    VLANs pro Dienst
    Payload (z.B. IP)
    S-VLAN Tag
    A-VLAN Tag
    Source-MAC
    Destination-MAC
  5. Und woher kommen die QoS-Parameter, damit die Leitungen nicht überlastet werden? Die stehen in den DHCP-Paketen: Die DTAG schreibt in die Option82/9 die aktuelle Bandbreite rein. Das muss natürlich ausgewertet werden. Wenn man schon mal an der Stelle ist, kann man mit der Antwort vom DHCP-Server auf die gleiche Weise auch die verkaufte Produkt-Bandbreite übermitteln. Auch das wird in einem eigenen Artikel ausgeführt.

Alles zusammen genommen besteht das Netgraph Netzwerk aus folgenden Komponenten:

In den Tests zeigten sich dann weitere Probleme:

Und tut's?

Ein Kunde möchte mit eigenem AS und eignen IP-Adressen an einem neuen, geplanten Standort ausprobieren, ob man dort nicht auch eine ordentliche Versorgung von der Telekom erhalten kann. Nach vergeblicher Suche auf der Webseite benutze ich doch mal den Chat.

Chat gestartet

Gleich startet Ihre persönliche Chat-Beratung. Nutzen Sie gern die Wartezeit, um Ihre Anfrage zu formulieren. Halten Sie zur Identifizierung bitte Ihre persönlichen Kundendaten bereit (z.B. Kundennummer oder Kunden- bzw. Buchungskonto und Ihre Vertrags-Rufnummer). Sie finden die notwendigen Angaben z.B. auf Ihrer Rechnung oder Auftragsbestätigung. Sobald ein Berater frei wird, kümmert er sich um Ihr Anliegen. Kurzer Hinweis: Nach Beendigung des Chats haben Sie die Möglichkeit, diesen zu bewerten. Vielen Dank im Voraus!

B. ist dem Chat beigetreten

B. Hallo und herzlich willkommen im Chat für kleine und mittlere Geschäftskunden. Wie darf ich Ihnen behilflich sein?

Ich Guten Morgen. Wie heißt das Produkt, mit dem ich mit eigenen IP Adressen und eignem AS über BGP bei Telekom ins Internet komme?

B. Meinen Sie eventuell BSP?

Ich Nein.

B. Was meinen Sie genau?

Ich Ich meine https://de.wikipedia.org/wiki/Border_Gateway_Protocol

B. Für eine Beratung leite ich Sie einmal an unsere Sales-Kollegen weiter. Sekunde bitte

Ich Danke

B. hat den Chat verlassen

Einen Moment bitte, wir verbinden Sie weiter. Der nächste Kundenberater kann den bisherigen Chat-Verlauf sehen und sich direkt über ihr Anliegen informieren. Die Weiterleitung kann, je nach Verfügbarkeit des nächsten Kundenberaters, einen Moment dauern.

N. ist dem Chat beigetreten

N. Herzlich Willkommen im Geschäftskunden-Chat der deutschen Telekom. Mein Name ist N.. Bitte haben Sie einen Moment Geduld, sodass ich mir den Verlauf ansehen kann und wir anschließend gemeinsam mit der Lösungsfindung beginnen :)

Ich Jup

N. Verstehe ich Sie richtig, dass Sie einen neuen Festnetzanschluss beauftragen möchten?

Ich Ja, aber wir haben schon eigne IPs und ein eigenes AS

N. Ich verstehe. Sie möchten dann die feste IP zu uns übernehmen?

Ich Nein, wir möchten unsere IPs behalten

N. Ich verstehe. Einen Moment bitte. Alles Klar! Ich bin mir sicher gemeinsam finden wir eine passende Lösung. :) Geben Sie mir mal bitte Ihre Adresse.

Ich Wozu? Ich brauche die Bezeichung des Produktes. Die Bestellung erfolgt dann an einem Standort der gerade in Erschließung ist

N. Dann gilt es ersteinmal zu klären, was für eine Geschwindigkeit am Standort zur Verfügung steht. Dazu muss ich ja ersteinmal prüfen.Es geht doch um einen neuen Anschluss, oder?

Ich Der neue Anschluss wird mit 1Gbps ausgestattet. Wir haben bereits einen Telekom-Vertriebler, der sich um die Bestellung kümmert. Er weiß allerdings nicht, wie das Produkt intern heißt. Deswegen frage ich. "Deutschlandlan Connect IP" ist es jedenfalls nicht. Ich möchte den Vertriebler nicht um seine Provision bringen.

N. ah, verstehe. Da bin ich selbst leider überfragt, wenn ich ehrlich bin. Wir selbst hier vertrreiben das nicht

Ich Wer weiß es denn dann, wenn nicht die Telekom?

N. Besser ist es, sie wenden sich in dem Fall an :0800 330 1300

Ich Danke

Für einen bpf Filter benötige ich die Möglichkeit mehrfach mit VLANs getaggte Pakete zu erkennen und in deren Inhalt nach protokollspezifischen Werten zu durchsuchen. Natürlich möchte ich die binären Regeln nicht komplett von Hand schreiben.

Der einfache Ansatz ist sich das Regelwerk durch tcpdump selbst erzeugen zu lassen.

# tcpdump -s 0 -p -d 'ip and udp and src port 12345'
(000) ldh      [12]
(001) jeq      #0x800           jt 2    jf 10
(002) ldb      [23]
(003) jeq      #0x11            jt 4    jf 10
(004) ldh      [20]
(005) jset     #0x1fff          jt 10   jf 6
(006) ldxb     4*([14]&0xf)
(007) ldh      [x + 14]
(008) jeq      #0x3039          jt 9    jf 10
(009) ret      #262144
(010) ret      #0

Dieser Code macht folgendes:

  • Im Ethernet-Header (an Position 12) wird der Ethertype ermittelt.
  • Ist der IPv4 (0800), so geht's bei 2 weiter, anderenfalls Abbruch zu 10.
  • Im IP-Header (an Position 23 aus Sicht des kompletten Frames) steht die Protokollnummer.
  • Ist diese UDP (17 = 0x11), geht's weiter.
  • Nach dem variabel langen IP-Header (Länge in 32bit Worten an Position 14) folgt der UDP Header.
  • Dort steht an (der variablen) Position die Portnummer.
  • Entspricht die dem gewünschten Wert, gibt's einen positiven Rückgabewert (der i.d.R. die Länge der zu exahierenden Daten entspricht).
  • Anderenfalls gibt es den Fehlercode 0 zurück (oder auch 0 verwertbare Bytes).

Oder direkt binär, so wie ich es brauche:

# tcpdump -s 0 -p -ddd 'ip and udp and src port 12345'
11
40 0 0 12
21 0 8 2048
48 0 0 23
21 0 6 17
40 0 0 20
69 4 0 8191
177 0 0 14
72 0 0 14
21 0 1 12345
6 0 0 262144
6 0 0 0 

Dieser BPF Code nimmt an, dass das Paket direkt mit IP beginnt, es gibt keine VLAN Frames (die jeweils 4 Byte kosten).

Ich lönnte jetzt also an allen Stellen, wo auf eine Position im Paket Bezug genommen wird, einen entsprechenden Offset manuell hinzufügen. Dieses manuelle Nachpatchen ist jedoch nicht sonderlich wartungsfreundlich.

Nach einigem Suchen fand ich den undokumentierten Befehl vlan. Wenn man den vor den Ausdruck stellt, passt das tcpdump den BPF-Filter passend an.

# root@a10nsp:~ # tcpdump -s 0 -p -d 'vlan 123 and ip and udp and src port 12345'
(000) ldh      [12]
(001) jeq      #0x8100          jt 4    jf 2
(002) jeq      #0x88a8          jt 4    jf 3
(003) jeq      #0x9100          jt 4    jf 17
(004) ldh      [14]
(005) and      #0xfff
(006) jeq      #0x7b            jt 7    jf 17
(007) ldh      [16]
(008) jeq      #0x800           jt 9    jf 17
(009) ldb      [27]
(010) jeq      #0x11            jt 11   jf 17
(011) ldh      [24]
(012) jset     #0x1fff          jt 17   jf 13
(013) ldxb     4*([18]&0xf)
(014) ldh      [x + 18]
(015) jeq      #0x3039          jt 16   jf 17
(016) ret      #262144
(017) ret      #0 

Man sieht sehr schön, dass die Offsets für die Paketanalyse schön um vier Bytes verschoben wurden.

Gehen auch zwei VLANs?

# tcpdump -s 0 -p -d 'vlan 123 and vlan 456 and ip and udp and src port 12345'
(000) ldh      [12]
(001) jeq      #0x8100          jt 4    jf 2
(002) jeq      #0x88a8          jt 4    jf 3
(003) jeq      #0x9100          jt 4    jf 24
(004) ldh      [14]
(005) and      #0xfff
(006) jeq      #0x7b            jt 7    jf 24
(007) ldh      [16]
(008) jeq      #0x8100          jt 11   jf 9
(009) jeq      #0x88a8          jt 11   jf 10
(010) jeq      #0x9100          jt 11   jf 24
(011) ldh      [18]
(012) and      #0xfff
(013) jeq      #0x1c8           jt 14   jf 24
(014) ldh      [20]
(015) jeq      #0x800           jt 16   jf 24
(016) ldb      [31]
(017) jeq      #0x11            jt 18   jf 24
(018) ldh      [28]
(019) jset     #0x1fff          jt 24   jf 20
(020) ldxb     4*([22]&0xf)
(021) ldh      [x + 22]
(022) jeq      #0x3039          jt 23   jf 24
(023) ret      #262144
(024) ret      #0

Hervorragend: Nun werden doppelt getaggte Pakete ausgewertet. Allerdings muss man die VLAN Tags exakt kennen.

Ich möchte aber nur double tagged VLANs mit variablen VLAN-Nummern bearbeiten, kenne diese also nicht. Wie kann man das beschreiben? Vielleicht als Negation? Nicht VLAN 123? Gibt es eine VLAN Nummer die sicher nicht auftreten kann?

ja, die Null. Eine VLAN Header mit der VLAN-ID 0 ist definiert als untagged, gestattet aber QoS Parameter. Untagged will ich aber nicht, das ist also okay.

# tcpdump -s 0 -p -d 'not vlan 0 and not vlan 0 and ip and udp and src port 12345'
(000) ldh      [12]
(001) jeq      #0x8100          jt 4    jf 2
(002) jeq      #0x88a8          jt 4    jf 3
(003) jeq      #0x9100          jt 4    jf 6
(004) ldh      [14]
(005) jset     #0xfff           jt 6    jf 22
(006) ldh      [16]
(007) jeq      #0x8100          jt 10   jf 8
(008) jeq      #0x88a8          jt 10   jf 9
(009) jeq      #0x9100          jt 10   jf 12
(010) ldh      [18]
(011) jset     #0xfff           jt 12   jf 22
(012) ldh      [20]
(013) jeq      #0x800           jt 14   jf 22
(014) ldb      [31]
(015) jeq      #0x11            jt 16   jf 22
(016) ldh      [28]
(017) jset     #0x1fff          jt 22   jf 18
(018) ldxb     4*([22]&0xf)
(019) ldh      [x + 22]
(020) jeq      #0x3039          jt 21   jf 22
(021) ret      #262144
(022) ret      #0

Und tut!

Hier mal eine Übersicht wie es zur Situation in Thüringen kam, wo wir gerade sind und wie es weiter gehen kann, wenn man sich an die Verfassung hält.

Thüringenwahl - Copy

Gestrichelte Linien sind nicht mehr möglich. Richtig dicke Linien sind die, die sich ereignet haben. Dünnere Linien sind noch offene Möglichkeiten.

Blaue Kästen sind Ereignisse oder Zwischenstände. Rot Kästen sind Abstimmungen. Grüne Kästen sind Endzustände.

Die Fahne gibt an, wo wir gerade sind.  Ich versuche das aktuell zu halten.

Der Weg zu Neuwahlen

Zu Neuwahlen gelangt man zunächst über eine Selbstauflösung des Parlamentes. Die FDP hat das ins Gespräch gebracht, ist aber nicht antragsberechtig. Darüberhinaus gibt es Widerstände gegen eine Neuwahl zumindest aus den Fraktionen der AfD und CDU. Es dürfen nicht mehr als 29 Stimmen für die Auflösung fehlen, die AfD hat 22, die CDU 21 Sitze.

Problematisch an diesem Weg ist, dass bis zur Neuwahl des Ministerpräsidenten durch den dann neu gewählten und neu konstituierten Landtag das Land ohne funktionierende Landesregierung bleibt. Es gelten dabei folgene Fristen:

  • Art 50(2) gibt 30 Tage zwischen Antrag und Abstimmung über die Selbstauflösung vor.
  • Art 50(2) begrenzt die Zeit bis zur Neuwahl auf 70 Tage.
  • Dann kommen noch bis zu 30 Tage bis zur Konstituierung nach Art 50(3) hinzu.
  • Weitere Fristen bis zur Wahl des Ministerpräsidenten nach Art70(2) legt die Verfassung nicht fest.

Mit viel Wohlwollen kann man also von ca. einem halben Jahr bis zur Wahl eines neuen Ministerpräsidenten durch einen neuen Landtag aus gehen.

Ein anderer Weg geht über die Wahl eines neuen Ministerpräsidenten (z,B. mit einfacher Mehrheit im dritten Wahlgang).

Dieser nimmt die Wahl an und stellt sofort die Vertrauensfrage, die er (mangels absoluter Mehrheit) verliert. In den folgenden drei Wochen gelingt es dann nicht, einen neuen Ministerpräsidenten zu wählen. Die Nichtwahl ist schon kniffliger, da hier entweder das Landtagspäsidium bewusst keine Wahl einleitet, oder jeder gewählte Kandidat die Annahme der Wahl verweigert.

So ist der Weg über einen temporären Ministerpräsidenten zur Neuwahl ein unwürdiges politisches Schauspiel.

Der Weg zu einer Regierung

Was derzeit gar nicht mehr geht, ist, dass Herr Kemmerich eine Regierung bildet. Er hat das Heft des Handelns aus der Hand gegeben, es geht nur mit Selbstauflösung oder der Wahl eines neuen MP weiter. Solange sich aber an der aktuellen Situation nichts ändert, bleibt er geschäftsführend im Amt.

Linke-SPD-Grün

Stellt sich Bodo Ramelow wieder zur Wahl als Ministerpräsident und gewinnt er diese Wahl, so kann er die geplante Minderheitsregierung bilden. Dabei gibt es jedoch Schwierigkeiten.

Die Wahl von Herrn Ramelow darf nicht von den Stimmen der AfD abhängen. Diese hatte angekündigt, ihn zu wählen, damit er dann wegen des Makels die Wahl nicht annehmen dürfe. Es ist also zwingend notwendig, dass in den ersten Wahlgängen eine Mehrheit von mindestens 68 = 46 (Mehrheit) +22 (AfD) bekommt, so nicht sicher ist, dass auch Stimmen von der CDU oder FDP kommen. In Verhandlungen wurde im Rahmen des "Stabilitätspaktes" ausgemacht, dass die fehlenden Stimmen von der CDU kommen sollen.

Auch nach der Wahl muss die Minderheitsregierung sich regelmäßig um die fehlenden vier Stimmen zur Mehrheit bemühen. Gegen ein vereintes oppositionelles Parlament kann eine Minderheitsregierung niemals an. So habt bereits in dieser Wahlperiode die FDP Gesetzesvorschläge zur Abschaffung von Gesetzen der vorigen Regierung eingebracht. Sei es zur Windkraft im Thüringer Wald oder zum Wahlrecht. CDU und AfD äußerten sich zu diesen Vorschlägen positiv, könnten also die Minderheitsregierung zwingen, gegen ihre eigenen Überzeugen zu handeln.

In Anbetracht der Vorgänge der letzten Monate ist eigentlich nicht davon aus zu gehen, dass diese Minderheitsregierung mit Wohlwollen rechnen kann. Da die politische Situation innerhalb der CDU zu unangenehm wurde, besteht trotz aller Querelen hier die Chance einer Tolerierung durch die CDU.

Linke-SPD-Grün-FDP

Diese Koalition hätte eine knappe Mehrheit. Sie wurde direkt nach der Wahl angesprochen, aber umgehend von der FDP zurück gewiesen. Nach den jüngsten Ereignissen um den FDP-Landeschef Kemmerich ist nicht zu erwarten, dass es zu diese Konstellation kommt.

Linke-CDU

Diese Koalition hätte mit 50 Sitzen eine Mehrheit. Sie wurde direkt nach der Wahl ausgelotet, aber sofort mit Verweis auf den Unvereinbarkeitsbeschluss seitens der Bundes-CDU unterbunden. Um zu einer tragfähigen Regierung zu kommen, müsste sich nun die Landes-CDU programmatisch vom Bund lösen. Damit ist aber nicht zu rechnen.

CDU-SPD-Grüne-FDP

Dieser Minderheitsregierung fehlen ganze sieben Stimmen zur Mehrheit. Obwohl die CDU-Fraktion diese Konstellation bevorzugte, waren weder SPD noch Grüne dazu bereit.

AfD-CDU-FDP

Diese Parteiengruppe hätte eine knappe Mehrheit und kann, wenn sie will, auch gemeinsam abstimmen, wie sich bei der Wahl zum Ministerpräsidenten Kemmerich gezeigt hat. Wie schon erwähnt, gibt es auch inhaltliche Gemeinsamkeiten, die vor allem von der FDP mit Gesetzesinitativen ausgelotet werden.

Obwohl es gesellschaftlich inakzetabel ist, eine solche Koalition zu bilden, könnte sich aus rein pragmatischen Gründen trotzdem eine Zusammenarbeit ergeben. Der geschäftsführende Ministerpräsident Kemmerich ist von der FDP und hat die Vorgaben des Parlaments umzusetzen. Die FDP Fraktion hat schon mehrere Gesetzesvorhaben in den aktuellen Landtag eingebracht, die mit den Stimmen der drei Parteien angenommen werden könnten.

Der Modus operandi dieses Konstrukts wäre die staatspolitische Verantwortung aller Beteiligten, ohne formale, öffentliche Absprachen zu treffen. Die Landes-CDU hätte die Chance sich personell aus der Landesregierung rauszuhalten und trotzdem mitzuregieren. Die FDP kann sich als Schadensbegrenzer profilieren und die AfD freut sich.

All diese Spekulationen haben sich mit der kommenden Neuwahl des MP am 4. März zerschlagen. Die FDP und Herr Kemmerich haben den Gestaltungsspielraum durch komplette Inaktivität verstreichen lassen.

Neuwahl mit Übergangs-MP

Am 17.2. haben die Parteien zusammen gesessen und es sah danach aus, mit der ehemaligen Ministerpräsidentin Christine Lieberknecht (CDU) als Übergangs-MP den Weg zur Neuwahl gehen zu wollen. Diese Geste seitens der Linken hinterlässt einen doppelten Eindruck: Zum Einen ist Ramelow damit aus der Schußlinie, was den Wahlkampf erleichtert. Zum Anderen wird es nun für die bisher blockierende CDU praktisch unmöglich, sich dem Konsens zu verweigern. Darüberhinaus ist es eine Ohrfeige für Mohring.

Dieser Zwistes hatte Auswirkungen auf die Bundes-CDU: Den Rücktritt von Frau Kramp-Karrenbauer incl. einer Richtungsdebatte in der CDU selbst. Herr Mohring ist am 2.3. als Fraktionschef durch Herrn Voigt abgelöst worden.

Um die "Stabilitätsvereinbarung" mit der CDU zu hintertreiben, gibt die Ansage aus AfD-Kreisen, bei der Wahl für Herrn Ramelow zu stimmen und zwar mit vier Stimmen weniger als die Fraktion stark ist. Die Idee ist dann zu behaupten, man hätte komplett für Herrn Ramelow gestimmt, um die vier Stimmen aus der CDU unsichtbar zu machen. Damit wäre Herr Ramelow gezwungen, die Wahl abzulehnen.

Als neuer Paukenschlag tritt seit dem 2.3, auch Herr Höcke von der AfD direkt zur Wahl des MP am Mittwoch an. Dies hat mehrere Konsequenzen:

  • Sollte Herr Ramelow nicht im ersten Wahlgang mit absoluter Mehrheit gewählt werden, so kann er nicht auf die folgenden Wahlgänge verzichten, um das Verfahren zum Abbruch zu bringen. Würde er das tun, wäre Herr Höcke der neue MP.
  • Die AfD führt als Argumentation neu ein, dass die CDU und FDP die Stimmen für Herrn Ramelow verweigert haben und will sie nun dazu zwingen, dies auch einzuhalten, d.h. das "Stabilitätsabkommen" zu brechen. Wie auch immer die Abgeordneten der CDU hier abstimmen, sie können nur verlieren.

FDP und CDU wollen der Situation dadurch entgehen, dass sie bei der Wahl den Saal verlassen (siehe auch die Klogangaffäre). Gesichtswahrend bei der CDU kommt ein Coronaverdacht hinzu, der sich jedoch als unbegründet erwies.

Ein aktuelles Gerücht spricht davon, dass die AfD mit 18 Stimmen für ihren Kandidaten Höcke stimmen wird und mit vier Stimmen für Ramelow. Würde das so passieren, dann:

  • stimmt die CDU und FDP im ersten Wahlgang dokumentierbar (abwesend) mit Enthaltung, so wäre Ramelow mit den Stimmen der AfD gewählt.
  • stimmen mindestens vier Abgeordnete der CDU für Ramelow, wird die AFD die CDU gebrochener Wahlversprechen bezichtigen.
  • stimmen vier Abgeordnete der CDU für Höcke, um den angekündigten(!) Coup auszuhebeln, so müssen sie fürchten, dass die AfD doch komplett für den eigenen Kandidaten zu stimmen, und dann der CDU die Mehrstimmen (22+x) für Herrn Höcke vorhalten zu können.

Sollte es zu der Situation kommen, dass Herr Ramelow mit den AfD-Stimmen gewählt würde, so nehme ich an, dass er die Wahl annimmt, um sofort die Verauensfrage zu stellen, was zu sofortigen Neuwahlen führt. Es sei denn die AfD, CDU und FDP stimmen dann für Herrn Ramelow, um die chaotische Situation aufrecht zu erhalten.

Direkt vor der Wahl hat Herr Ramelow bekannt gegeben, dass er für alle drei Wahlgänge zur Verfügung steht und die CDU und FDP um konsequente Enthaltung bittet. Er hat damit die Chance im dritten Wahl mit der einfachen Stimmenmehrheit gewählt zu werden. Das ist ein generöses Angebot an die CDU, ihre innere Zerissenheit gesichtswahrend verstecken zu dürfen. Es ist aber auch gleichzeitig die Aufkündigung des "Stabilitätspakts", der eine Neuwahl im kommenden Jahr vorsieht.

Auch in desem Fall bleibt offen, wie Herr Ramelow mit der Situation umgehen will, in den ersten Wahlgängen eine absolute Mehrheit zu bekommen. Dies kann passieren, wenn die AfD ihre Ankündigen wahrmacht, mit vier Stimmen für Ramelow zu stimmen.

Ramelow ist gewählt

Dritter Wahlgang

abgegebene Stimmen: 85
Ja-Stimmen für Ramelow: 42
Nein-Stimmen: 23
Enthaltungen: 20

Ramelow nimmt die Wahl an.

Bei ICANN kocht - wieder einmal - die Diskussion über Whois hoch. Gerade mit den Anforderungen der DSGVO in der EU ist ICANN in massive Probleme gelaufen. Doch es gibt vermutlich eine Lösung: Ultra-Thin-Whois.

Worum geht es eigentlich?

75462257_239566563678051_7023322528932167680_o

Whois ist der Dienst, der darüber Auskunft gibt, wer welche Ressource des Internets gebucht hat. Üblicherweise sind das IP-Adressen oder Domainnamen.

IP-Adressen braucht man, um überhaupt am Internet teilzunehmen. Der Rechner oder das Handy bekommt während der Anmeldung im Netz eine Adresse zugewiesen, mit der es Datenpakete aus aller Welt empfangen kann. Die IP-Adresse ist also so eine Art Telefonnummer des Rechners im Netz. Wenn man mit einem Server redet, schickt man an dessen Adresse ein Paket mit der Anfrage und seiner eigenen Adresse als Absender. Der Server antwortet an die angegeben Adresse.

Natürlich kann man nicht alle Adressen aller Dienste im Netz auswendig kennen. Domain-Namen sind dafür da, den Diensten unter einem leicht merkbaren Namen in einen Eintrag in einer Art Telefonbuch zu geben. Das Telefonbuch ist heißt DNS und liefert zu einem Namen eine IP-Adresse zurück. Damit kann man den Server des Dienstes dann auch ansprechen.

Damit es keine Dopplungen gibt, die Adressen und Namen eindeutig bleiben, bedarf es eine Koordinierung, eine Art Internet Governance. ICANN ist die Organisation, die die Regeln und Verträge festlegt, nach denen die Namensräume verwaltet werden.

Sämtliche Ressourcen werden initial durch die IANA verwaltet, gemäß der ICANN-Verträge bekommen verschiedene Registries einen ganzen Block oder Teile des Namensraums zur Verwaltung zugewiesen. Wer eine Ressource benötigt, wendet sich über einen Registrar, eine Art Wiederverkäufer, an die Registry um die Ressource auf sich selbst eintragen zu lassen. Nach der Eintragung kann der Registrant dann die Ressource benutzen.

Das Whois-Dilemma

In der Praxis kommt es vor, dass man wissen will, wer gerade für ein bestimmten Dienst verantwortlich ist. Sei es, weil etwas nicht funktioniert (E-Mail kommt nicht an) und man bei der Fehlersuche Hilfe von der anderen Seite benötigt. Sei es, weil es ein rechtliches Problem (mit den Inhalten einer Webseite) hat. Sei es, weil krimineller Missbrauch (Spam, DoS) mit der Ressource betrieben wird.

Vor allem für die Behebung der technischen Fehler wurde in der Frühzeit des Internets der Whois-Dienst erfunden. Man fragt einen speziellen Dienst, wer für die Ressource zuständig ist und bekommt Namen, Telefonnummer und E-Mail eines kompetenten Ansprechpartners zurück. Das war auch ziemlich einfach, weil es nur wenige Stellen gab, die die Ressourcen direkt zuteilten. All die Dinge wie Registry und Registrar existierten nicht als eigenständige Institutionen. Wenn man alles aus einer Hand betreibt, ist die Auskunft natürlich sehr leicht.

Aber wie baut man so einen Dienst, wenn der Zuteilungsprozess sich über viele Ebenen verteilt? Der immer noch bevorzugte Ansatz ist, die Daten zentral zu sammeln und so einen Thick-Whois-Dienst zentral zu betreiben. Das hat einige Vorteile:

  • Alle Anfragen können an die gleiche Stelle gestellt werden. Der Zugriff ist unmittelbar.
  • Man kann Massenabfragen machen, z.B. welche Ressourcen hat der Registrant noch alles noch?
  • Man kann sich bei der Absicherung der Daten gegen Angriffe auf eine Stelle beschränken und so effektiver schützen.

Mit der Zeit hat sich aber auch das Verständnis von Datenschutz verändert. Inzwischen sind sehr viele Personen mit dem Internet befasst und nutzen Ressourcen, die eigentlich keine Techniker sind. Sollen deren Daten auch im Whois sichtbar sein? Es gibt einige Fälle, bei denen die Ermittelung des Registranten sinnvoll ist, z.B. bei kriminellen Aktivitäten. Man kann aber nicht alle Nutzer unter diesen Anfangsverdacht stellen und proaktiv deren Daten veröffentlichen.

Richtig hoch gekocht ist es mit der Einführung des Europäischen Datenschutzes DSGVO. Jetzt ist selbst ICANN gefordert, zumindest für europäische Partner die dortigen Gesetze zu befolgen. Aber auch andere Länder bekommen eigenständige Datenschutzreglungen, die sich zum Teil erheblich von den Europäischen Reglungen unterscheiden.

Wie soll ICANN all diese Anforderungen gleichzeitig erfüllen?

Beispiel:

  • Ein Nutzer in Indien meldet bei einem indischen Registrar eine Domain an und betreibt damit eine Webseite.
  • Es gibt eine Anzeige in Pakistan gegen Inhalte auf der Seite.
  • Die pakistanischen Polizei will den Eigner der Domain ermitteln und befragt den Whois-Server nach den indischen Daten.
  • Nach welchem Recht soll der Dienst die Antwort zurück liefern? Die aktuelle Diskussion fordert von ICANN die Erfüllung des europäischen Rechts, um danach die Anfrage zu antworten.

Ein Lösungsvorschlag

Akzeptiert man die Tatsache, dass es in der Welt verschiedene Rechtssysteme gibt, und auch die hierarchische Struktur der Ressourcenvergabe, so gibt es nicht mehr viele Möglichkeiten das Problem zu lösen.

Der gesunde Menschenverstand empfielt, den Whois-Dienst komplett einzustellen. Man kann es damit begründen, dass er sich überlebt hat. Der Protest seitens der Strafverfolgungsbehörden, der Rechteindustrie und der Sicherheits-Community ist sicher.

Die offensichtliche, technische Lösung besteht daran, ein weltweit einheitliches Rechtssystem anzustreben. Das klingt seltsamer als es ist. Der Vorschlag eines Internet-Staates ist schon älter. Aber auch hier gibt es offenkundigen Protest.

Betrachtet man das Problem genauer, so schält sich die zentrale Datenspeicherung als eigentliches Problem heraus. Diese zentrale Datenbank erfordert, die Daten der Registranten aus deren Rechtssystemen heraus zu transportieren, um sie an anderer Stelle unter anderen rechtlichen Rahmenbedingen bereit zu stellen. Daraus ergibt sich auf natürliche Weise der folgende Vorschlag:

  • Der Whois-Dienst wird ebenfalls hierarchisch strukturiert.
  • Von jedem Beteiligten in der Vergabe-Hierarchie wird ein eigener Whois-Dienst betrieben.
  • Bei der Abfrage eines Whois-Dienst, bekommt man einen Verweis auf den Vertrag, über den die Registrierung erfolgte und den nächsten Whois-Server.
  • Folgt man der Kette, so fragt man schrittweise die Vertragsdaten ab, wobei jede Anfrage nach dem lokalen Recht des jeweiligen Betreibers beantwortet wird.

Bricht man die Kette nach den ersten Schritten ab, so nennt man das Thin-Whois. Jeder Beteiligter kann sich entscheiden, ob er den Whois-Dienst selbst betreibt oder der Registry übergibt. Dieses Modell gab es schon mal und wurde in dieser unpräzisen Umsetzung nicht weiter verfolgt.

Verpflichtet man jedoch alle Beteiligten vertraglich, die Whois-Dienste anzubieten und dort die Verträge offen zu legen, so bekommt man Ultra-Thin-Whois. Der neue Name soll klar die vertragliche Grundlage bis hin zum Registrar (und der Resellerkette) benennen.

Wie soll das funktionieren?

Es funktioniert bereits. Die zentrale Vergabestelle ist - wir erinnern uns - IANA. Also fragen wir doch mal deren Whois-Server.

$ whois -h whois.iana.org icann.org
refer:        whois.pir.org

domain:       ORG

organisation: Public Interest Registry (PIR)
address:      1775 Wiehle Avenue
address:      Suite 102A
address:      Reston Virginia 20190
address:      United States

Die Ausgabe geht noch deutlich weiter und enthält die Ansprechpartner dieses Vertragspartners.

Im Kern sagt IANA damit, dass der Teil des Namensraums "ORG" an die Registry delegiert wurde. Man soll dort nachfragen. Also tun wir das:

$ whois -h whois.pir.org icann.org
Domain Name: ICANN.ORG
Registry Domain ID: D2347548-LROR
Registrar WHOIS Server: whois.godaddy.com
Registrar URL: http://www.whois.godaddy.com
Updated Date: 2017-12-08T16:40:01Z
Creation Date: 1998-09-14T04:00:00Z
Registry Expiry Date: 2027-12-07T17:04:26Z
Registrar Registration Expiration Date:
Registrar: GoDaddy.com, LLC
Registrar IANA ID: 146

Die Registry verweist uns nun an den Registrar. Wir sollen dort nachfragen. Tun wir das:

$ whois -h whois.godaddy.com icann.org
Domain Name: ICANN.ORG
Registry Domain ID: D2347548-LROR
Registrant Organization: ICANN
Registrant State/Province: California
Registrant Country: US

Und wir sind am Ziel.

Jeder der Anfragen wurde an unterschiedliche Institutionen gestellt und jeweils unter dem jeweiligen nationalem Recht beantwortet.

Geht man also zu dem Beispiel zurück, so muss die pakistanische Polizei einen indischen Dienst befragen, um dort die Angaben zu erhalten. Der indische Anbieter berücksichtigt nun indisches Recht bei der Auskunft zu seinem indischen Kunden.

Warum sollten wir das  nicht mal versuchen?

Seit heute morgen häuften sich die Beschwerden über DNS Ausfälle im xDSL Netz. Die Meldungen waren zeitlich unspezifisch, gingen quer über die Produktpalette und betrafen auch Backend-Systeme. Was ist da los?

Sniffing zeigte, dass die Anfragen tatsächlich bei den DNS-Servern ankommen, diese aber schlicht nicht immer antworten. Restart der Prozesse brachte Linderung, allerdings nur kurz. Nach etwa einer halben Minute hörte jeder der Server auf, Antworten zu verschicken.

Im Sniffing zeigte jeder Server jedoch hektische DNS-Aktivität. Nur warum? Was macht der da?

Die Statistik jedes Servers zeigt, dass die Requestqueue, die Liste der offenen Anfragen überläuft. Und in der Liste der offenen Anfragen enthielt überraschenderweise aberhunderte Zeilen der folgenden Art

499 CNAME IN psai9edi.s3.amazonaws.com. 10.412281 iterator wait for 2600:9000:5300:1b00::1
500 CNAME IN psg62lat.s3.amazonaws.com. 41.447997 iterator wait for 2600:9000:5300:1b00::1
501 CNAME IN psgp7262.s3.amazonaws.com. 7.193284 iterator wait for 2600:9000:5300:1b00::1
502 CNAME IN pshziple.s3.amazonaws.com. 44.356077 iterator wait for 2600:9000:5300:1b00::1
503 CNAME IN psigagat.s3.amazonaws.com. 45.621077 iterator wait for 2600:9000:5300:1b00::1
504 CNAME IN pspcvsil.s3.amazonaws.com. 22.752443 iterator wait for 2600:9000:5300:1b00::1
505 CNAME IN pswgyera.s3.amazonaws.com. 52.993825 iterator wait for 2600:9000:5300:1b00::1
506 CNAME IN qa9c96lt.s3.amazonaws.com. 56.530104 iterator wait for 2600:9000:5300:1b00::1
507 CNAME IN qah-zkwp.s3.amazonaws.com. 1.215374 iterator wait for 2600:9000:5300:1b00::1
508 CNAME IN qavtvxcc.s3.amazonaws.com. 37.358889 iterator wait for 2600:9000:5300:1b00::1
509 CNAME IN v118gk69.s3.amazonaws.com. 38.617430 iterator wait for 2600:9000:5300:1b00::1
510 CNAME IN v12ggbel.s3.amazonaws.com. 8.180806 iterator wait for 2600:9000:5300:1b00::1
511 CNAME IN v19pg7un.s3.amazonaws.com. 45.592578 iterator wait for 2600:9000:5300:1b00::1
512 CNAME IN v1h66nam.s3.amazonaws.com. 20.184565 iterator wait for 2600:9000:5300:1b00::1
513 CNAME IN v1i5mjps.s3.amazonaws.com. 2.479473 iterator wait for 2600:9000:5300:1b00::1
514 CNAME IN v1t5buni.s3.amazonaws.com. 13.825713 iterator wait for 2600:9000:5300:1b00::1
515 CNAME IN x8cca8xn.s3.amazonaws.com. 20.251822 iterator wait for 2600:9000:5300:1b00::1
516 CNAME IN x8ln-0rj.s3.amazonaws.com. 50.227529 iterator wait for 2600:9000:5300:1b00::1
517 CNAME IN x8q9jrjv.s3.amazonaws.com. 50.693382 iterator wait for 2600:9000:5300:1b00::1
518 CNAME IN x8x9zq3n.s3.amazonaws.com. 44.069048 iterator wait for 2600:9000:5300:1b00::1
519 CNAME IN xk8t2xuy.s3.amazonaws.com. 52.709106 iterator wait for 2600:9000:5300:1b00::1
520 CNAME IN xkkh6w1b.s3.amazonaws.com. 48.943785 iterator wait for 2600:9000:5300:1b00::1
521 CNAME IN xkl4qcvv.s3.amazonaws.com. 43.927290 iterator wait for 2600:9000:5300:1b00::1
522 CNAME IN xksddwxf.s3.amazonaws.com. 11.812726 iterator wait for 2600:9000:5300:1b00::1
523 CNAME IN xkuf9dcb.s3.amazonaws.com. 49.485060 iterator wait for 2600:9000:5300:1b00::1

Was ist denn hier los?

Die externe Validierung eines dieser Einträge ergibt:

Dazu gehören die folgenden Fehlermeldungen:

  • amazonaws.com to s3-1-w.amazonaws.com
    The server(s) for the parent zone (amazonaws.com) responded with a referral instead of answering authoritatively for the DS RR type. (205.251.192.27, 205.251.195.199, 2600:9000:5300:1b00::1, 2600:9000:5303:c700::1, UDP_-_EDNS0_4096_D_K)
  • x8x9zq3n.s3.amazonaws.com/A
    No response was received from the server over UDP (tried 12 times). (156.154.64.10, 156.154.65.10, 2001:502:f3ff::10, 2610:a1:1014::10, UDP_-_NOEDNS_)
  • x8x9zq3n.s3.amazonaws.com/AAAA
    No response was received from the server over UDP (tried 12 times). (156.154.64.10, 156.154.65.10, 2001:502:f3ff::10, 2610:a1:1014::10, UDP_-_NOEDNS_)

Anders formuliert ist die Auflösung der Domain "amazonaws.com", die Arbeitsdomain von Amazon, kaputt.

Ein validierender Resolver dreht über mehrere Server mehrere Schleifen, bis er nach langer Zeit erfolglos und mit leeren Händen aufgibt. Da er kein Ergebnis zum cachen hat, geht er bei jeder Anfrage erneut in die Schleife und ist beschäftigt.

Jeder unserer Resolver hat 700 Worker-Slots pro CPU-Thread. Bei der Masse der Kunden und der Masse der Anfragen steht nach 20 bis 30 Sekunden kein freier Slot mehr für eine neue Anfrage zur Verfügung. Dann ist schlicht Schluss.

Die Lösung bestand darin, die Zone "amazonaws.com" auf einen nicht-validierenden Resolver umzulenken und diese Ergebnisse zu benutzen. Spontan enspannte sich die Situation wieder.

Aber was war wirklich passiert?

Zitat eines näher involvierten Technikers: Äh...was die da gerade eintragen ist aber ungültig und wird nicht lustig sein, wenn entsprechende TTLs auslaufen.

Wir haben seit einiger Zeit einen Unold 38915 Onyx Duplex Toaster. Der ist nun kaputt, d.h. er rastet nicht mehr ein, wenn man etwas toasten will. Leider sind im Netz keine Reparaturanleitungen vorhanden. Deswegen schreibe ich mal auf, wie man an die Innereien kommt und sich ein Wegschmeißen erspart.

Zunächst benötigt man Werkzeug: Zwei Messer, einen Vierkant- und einen Dreikant-Schraubendreher.

Werkzeug

Als erstes werden die seitlichen Griffe entfernt. Diese sind nur aufgesteckt (wenn auch stramm). Mit zwei Messern kann man gleichmäßig Druck ausüben ohne die Bleche zu verbiegen.

Griffe abhebeln
Griffe ab

Der Drehknopf hat eine Einkerbung, die man später wieder treffen muss, aber das ergibt sich von selbst.

Zunächst muss aber die Umhüllung fallen. Dazu dreht man den Toaster um und findet auf der Unterseite mehrere Schrauben. Die Vierkantschrauben sind mittig leicht zu finden. Die Dreikantschrauben verstecken sich unter den Gummifüßen, die zum Glück nicht verklebt sind.

Vierkant
Gummifuss
Dreikant

Die Vierkantschrauben halten ein paar straffe Metallohren, die man heraus ziehen muss und schon kann man das Gehäuse anheben. Aber vorsichtig und auf der Seite gegenüber der Griffe.

Anheben

Hat man die Diagonale erreicht, wird es sehr knapp. Mit Geschick und guten Willen bekommt man jedoch die Hülle über die Kante.

Kante

Nun ist der Toaster offen. Beim Aufklappen lässt man besser alle Drähte dran, denn dort ist nichts kaputt.

Offen
Innen

Die eigentliche Ursache, warum der Toaster nicht mehr einrastet, ist simpel. Es ist Dreck zwischen dem Magneten und dem Eisen. Das merkt man, wenn man mal runter drückt. Das Eisen muss dann flach auf dem Magneten aufliegen.

Magnet1
Magnet2

Wenn man mal das Gerät offen hat, kann man sich gleich noch ansehen, wie die Mechanik zum Absenken und Festhalten funktioniert. Es ist halt ein billiges Gerät, bei dem sich leicht was verbiegt. Sollte das der Fall sein, so korrigiert man das gleich mit.

Seilzug1
Seilzug2

Nach Säubern und Geradebiegen aller Komponenten kann das Gehäuse wieder drauf. Dabei gibt es noch einen Moment, der Aufmerksamkeit erfordert: Das Gehäuse muss oben in zwei Schlitze einrasten.

Einstecken

Abschließend alle Schrauben fest drehen und Gummifüße und Griffe wieder einstecken.

Fertig.

Typischerweise haben Server einen RAID-Controller, der einen Festplattenausfall vor dem Betriebssystem verstecken kann. Wenn also eine Platte den Geist aufgibt, kann man sie wechseln, ohne auf irgendeine Besonderheit des installierten Systems Rücksicht nehmen zu müssen. Das erleichtert die Arbeit im Rechenzentrum erheblich: Platte tot → Austauschen → Fertig.

Redundante Redundanz

Auf einen Satz Server ist Proxmox zum Spielen drauf gekommen. Der Installer richtet auf einer ausgewählten Platte das System ein. In dem Fall also auf dem Hardware-RAID. Soweit so gut.

Für das Storage möchte ich auf Ceph zurück greifen, auf Neudeutsch hyperkonvergent arbeiten. Deswegen habe ich den größten Teil der Platte frei gelassen um den Rest als OSD einbinden zu können.

Ceph verwaltet eine eigene Redundanz über die OSD-Datenträger. Es berücksichtigt dabei großräumigere Strukturen als nur Platten an einem Contoller. Dies führt zu massiver Platzverschwendung: Daten liegen nicht mindestens doppelt, sondern vier- bis sechsfach vor.

Wird das Hardware-RAID aufgebrochen, kann Ceph die einzelen Platte direkt verwalten und damit effizienter umgehen. Aber was wird  aus dem Basissystem?

Eine Neuinstallation später steht fest, dass der Proxmox-Installer das System ausschließlich auf eine der beiden Platte installiert hat. Konzeptionell ist das nachvollziehbar, da so mehr Platz für die OSDs bleibt. Geht die Systemplatte kaputt, installiert man den Knoten halt komplett neu und der Cluster erledigt den Rest.

Ich scheue aber den Aufwand, da die Netzwerkinstallation des Basissystem hier doch stärker vom Proxmox-Standard abweicht, als erwartet. Aber dazu ein andermal.

Aus eins mach zwei

Zuerst ein Blick auf die Situation direkt nach der Installation:

root@server21:~# fdisk /dev/sda

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sda: 279.4 GiB, 300000000000 bytes, 585937500 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3B2CD483-DE39-45BA-BF6A-C35E2AD8F783

Device       Start      End  Sectors  Size Type
/dev/sda1       34     2047     2014 1007K BIOS boot
/dev/sda2     2048  1050623  1048576  512M EFI System
/dev/sda3  1050624 41943040 40892417 19.5G Linux LVM

Die Platte sdb ist leer.

Im ersten Schritt kopiere ich den Anfang der Platte incl. alle Boot-Informationen:

root@server21:~# dd if=/dev/sda of=/dev/sdb bs=512 count=1050623

Ja, die GPT ist auf der zweiten Platte kaputt, da die Kopie am Ende der Platte fehlt. Aber das behebt fdisk beim nächsten Aufruf.

So kann nun die zweite Platte so eingerichtet werden, wie später es sein soll:

root@server21:~# fdisk /dev/sdb
[...]
Command (m for help): t
Partition number (1-3, default 3): 
Hex code (type L to list all codes): 29

Changed type of partition 'Linux LVM' to 'Linux RAID'.

Command (m for help): p
Disk /dev/sdb: 279.4 GiB, 300000000000 bytes, 585937500 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3B2CD483-DE39-45BA-BF6A-C35E2AD8F783

Device       Start      End  Sectors  Size Type
/dev/sdb1       34     2047     2014 1007K BIOS boot
/dev/sdb2     2048  1050623  1048576  512M EFI System
/dev/sdb3  1050624 41943040 40892417 19.5G Linux RAID

Und wenn wir schon mal hier sind, dann auch gleich das OSD vorbereiten

Command (m for help): n
Partition number (4-128, default 4): 
First sector (41943041-585937466, default 41945088): 
Last sector, +sectors or +size{K,M,G,T,P} (41945088-585937466, default 585937466): 

Created a new partition 4 of type 'Linux filesystem' and of size 259.4 GiB.

Command (m for help): t
Partition number (1-4, default 4): 
Hex code (type L to list all codes): 76

Changed type of partition 'Linux filesystem' to 'Ceph OSD'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Damit sehen die Platten so aus:

lvm-raid1

Die grünen Partitionen sind schon in Ordnung, die grünen Inhalte ebenfalls. Rot markierte Teile sind noch beheben, die Blauen noch unbenutzt.

Aus zwei mach eins

Zunächst muss das RAID als solches fertig werden. Es soll ein Spiegel werden, aber anfangs nur mit einer Partition.

root@server21:~# mdadm --create /dev/md0 -n 1 -f -l 1 /dev/sdb3 
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90

Sehr gute Frage! Ich habe den Boot-Kram in separaten Boot-Partitionen, was kann da schon schief gehen?

mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.
root@server21:~# cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sdb3[0]
      20429824 blocks super 1.2 [1/1] [U]
      
unused devices: <none>

Schaut gut aus. Jetzt nur noch die Daten des LVM rein kopieren.

Die Idee ist dabei, das LVM aufzublasen und dann die alte Partition wieder raus zu nehmen.

root@server21:~# pvcreate /dev/md0
  Physical volume "/dev/md0" successfully created.
root@server21:~# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               pve
  PV Size               19.50 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              4991
  Free PE               3775
  Allocated PE          1216
  PV UUID               ijshQ9-3z2d-oVxd-WJB2-8LUv-HEfL-lTZzEi
   
  "/dev/md0" is a new physical volume of "19.48 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/md0
  VG Name               
  PV Size               19.48 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               G8kgdF-Gcec-ddbO-92ys-9rsf-dkpo-Za9C4a

root@server21:~# pvdisplay -C
  PV         VG  Fmt  Attr PSize  PFree 
  /dev/md0       lvm2 ---  19.48g 19.48g
  /dev/sda3  pve lvm2 a--  19.50g 14.75g

Es gibt nun zwei LVM-Datenträger, von denen einer das Volume enthält. Nun zum Umzug.

root@server21:~# vgextend pve /dev/md0
  Volume group "pve" successfully extended
root@server21:~# pvdisplay -C
  PV         VG  Fmt  Attr PSize  PFree 
  /dev/md0   pve lvm2 a--  19.48g 19.48g
  /dev/sda3  pve lvm2 a--  19.50g 14.75g
root@server21:~# vgdisplay -C
  VG  #PV #LV #SN Attr   VSize  VFree 
  pve   2   1   0 wz--n- 38.98g 34.23g
root@server21:~# vgreduce pve /dev/sda3 
  Physical volume "/dev/sda3" still in use

Vergrößern ging, aber die alte Partition lässt sich nicht entfernen!

Warum? Weil noch Daten drauf sind. Schließlich wurde ja nur neuer Platz hinzugefügt. Nur der ist unbenutzt.

root@server21:~# pvmove /dev/sda3
  /dev/sda3: Moved: 0.00%
  /dev/sda3: Moved: 18.17%
  /dev/sda3: Moved: 36.43%
  /dev/sda3: Moved: 54.52%
  /dev/sda3: Moved: 72.86%
  /dev/sda3: Moved: 91.04%
  /dev/sda3: Moved: 100.00%
root@server21:~# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               pve
  PV Size               19.50 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              4991
  Free PE               4991
  Allocated PE          0
  PV UUID               ijshQ9-3z2d-oVxd-WJB2-8LUv-HEfL-lTZzEi
   
  --- Physical volume ---
  PV Name               /dev/md0
  VG Name               pve
  PV Size               19.48 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              4987
  Free PE               3771
  Allocated PE          1216
  PV UUID               G8kgdF-Gcec-ddbO-92ys-9rsf-dkpo-Za9C4a

Nun ist nichts mehr auf der alten Partition in Benutzung. "Allocated PE" ist 0.

Also müsste sich die Partition nun entfernen lassen.

root@server21:~# vgreduce pve /dev/sda3 
  Removed "/dev/sda3" from volume group "pve"
root@server21:~# pvdisplay -C
  PV         VG  Fmt  Attr PSize  PFree 
  /dev/md0   pve lvm2 a--  19.48g 14.73g
  /dev/sda3      lvm2 ---  19.50g 19.50g

Hurra! Nun noch die Partition dem LVM entziehen.

root@server21:~# pvremove /dev/sda3
  Labels on physical volume "/dev/sda3" successfully wiped.
root@server21:~# pvdisplay -C
  PV         VG  Fmt  Attr PSize  PFree 
  /dev/md0   pve lvm2 a--  19.48g 14.73g

Und die Partition umwidmen.

root@server21:~# fdisk /dev/sda

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sda: 279.4 GiB, 300000000000 bytes, 585937500 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3B2CD483-DE39-45BA-BF6A-C35E2AD8F783

Device       Start      End  Sectors  Size Type
/dev/sda1       34     2047     2014 1007K BIOS boot
/dev/sda2     2048  1050623  1048576  512M EFI System
/dev/sda3  1050624 41943040 40892417 19.5G Linux LVM
Command (m for help): t
Partition number (1-3, default 3): 
Hex code (type L to list all codes): 29

Changed type of partition 'Linux LVM' to 'Linux RAID'.

Command (m for help): p
Disk /dev/sda: 279.4 GiB, 300000000000 bytes, 585937500 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 3B2CD483-DE39-45BA-BF6A-C35E2AD8F783

Device       Start      End  Sectors  Size Type
/dev/sda1       34     2047     2014 1007K BIOS boot
/dev/sda2     2048  1050623  1048576  512M EFI System
/dev/sda3  1050624 41943040 40892417 19.5G Linux RAID

Command (m for help): n
Partition number (4-128, default 4): 
First sector (41943041-585937466, default 41945088): 
Last sector, +sectors or +size{K,M,G,T,P} (41945088-585937466, default 585937466): 

Created a new partition 4 of type 'Linux filesystem' and of size 259.4 GiB.

Command (m for help): t
Partition number (1-4, default 4): 
Hex code (type L to list all codes): 76

Changed type of partition 'Linux filesystem' to 'Ceph OSD'.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Bei der Gelegenheit auch gleich noch die OSD Partition vorbereitet. Sehr schön.

Jetzt kann das RAID breit gezogen werden.

root@server21:~# mdadm -a /dev/md0 /dev/sda3
mdadm: added /dev/sda3
root@server21:~# cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sda3[1](S) sdb3[0]
      20429824 blocks super 1.2 [1/1] [U]

Nein.Das ist kein "hot spare", das ist Bestandteil des RAIDs selbst. Ich hätte wohl gleich mit zwei Partitionen, davon eine als "none", anfangen sollen.

root@server21:~# mdadm -r /dev/md0 /dev/sda3
mdadm: hot removed /dev/sda3 from /dev/md0
root@server21:~# mdadm --grow /dev/md0 -n 2 -a /dev/sda3
mdadm: added /dev/sda3
raid_disks for /dev/md0 set to 2
root@server21:~# cat /proc/mdstat 
Personalities : [raid1] 
md0 : active raid1 sda3[1] sdb3[0]
      20429824 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  3.2% (669248/20429824) finish=1.4min speed=223082K/sec 

Hurra! Jetzt schaut es so aus.

lvm-raid2

Reboot

Da nun alles im laufenden Betrieb umgezogen ist, bleibt nur noch der finale Reboot.

Klappt aber nicht, weil der Grub das LVM-Volume nicht mehr findet. Sollte /boot nicht separat liegen?! Mal beim Nachbar nachschauen:

root@server22:~# mount | grep boot
/dev/sda2 on /boot/efi type vfat ...

Ohje. Also nochmal von vorn und diesmal mit "--metadata=0.9". Siehe an, es geht.

Aber was ist eigentlich passiert? Zur Erinnerung nochmal die Warnung.

mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90

Die Metadaten des RAID können also am Anfang (neu) oder am Ende (alt) der Partition stehen. Wenn sie am Ende stehen, muss niemand irgendwas von dem RAID1 (Mirror) verstehen, um auf den Inhalt zugreifen zu können. Die Partition sieht halt aus, als gäbe es gar kein RAID.

Stehen die Daten am Anfang der Partition, muss die Software damit umgehen können. Im Prinzip ist das auch sehr einfach, weil man nur über die RAID-Kennung hinweg springen muss. Leider kann das Grub nicht und ist damit ein steter Quell von Problemen.