Überfall in der Nacht

On 22. 10 2009, in Highland - Games, by Raptor 2101

Der Überfall beginnt

Der überfall beginnt

28 08 2009 0200 : Was für eine scheiß Nacht! Nachdem die letzten beiden Tage relativ friedlich verliefen und wir uns in Dumayr ohne größere Probleme bewegen konnten, kam es heute Abend zum gefürchteten Zwischenfall. Um 23 Uhr erreichten uns der Verzweifelte Hilferuf von Cpt. Landrun. Er und und ein paar seiner Jungs vom 3. Platoon wurden in einer Polizeistation eingeschlossen und von allen Seiten attackiert. Nachts, einer Stadt die man nicht kennt, voll ist von Feinden und zu allem Überfluss auch noch von Truppen die uns wohlgesonnen sind. Hinter jeder Ecke, in jedem Hinterhof ein Irrer mit wahlweise mit RPG, AK74 oder diversen Sprengsätzen. So stellt man sich seinen “Feierabend” vor. Es hätte nicht viel schlimmer kommen können.

Ein Pickup rollt an

Ein Pickup rollt an

Wir sind sofort ausgerückt. Dennoch brauchten wir von der Stadtgrenze bis zum Zielgebiet gute 15 Minuten. Auf dem weg ins Zielgebiet gingen Meldungen über Pickups mit schweren Geschützen ein, die sich der Polizeistation nähern würden. Zudem wurden von schweren Gefechten zwischen lokalen Polizeitruppen und Aufständigen berichtet. Beim erreichen des des Stadtviertels wurde es schlagartig still. Wir entschieden uns abzusetzen und uns Straßenzug um Straßenzug voran zu tasten. Schon nach der ersten Kreuzung stellte sich das als absolut Lebensnotwendig heraus. So mächtig die Warriors auch aussehen, in solch einem Szenario sind sie einfach nur verwundbar. Der Gegner hatte sich eingegraben und wartete nur darauf einen unserer Panzer in Flammen aufgehen zu lassen.

Rettung naht

Rettung naht

Die lokalen Polizeikräfte erwiesen sich als nützlicher als zunächst angenommen. Sie versorgten uns mit Informationen und hielten uns den rücken frei. So konnten wir uns langsam zur Polizeistation vorkämpfen. Dort angekommen wurde sofort ein Verteitigungsring eingerichtet, so dass wird die verletzten Zivilisten evakuieren konnten. Die Aufständigen hatten uns zwar eingekreist, aber nun waren wir in der besseren Situation. Dadurch dass wir alle wichtigen Zugangspunkte und Kreuzungen kontrollierten liefen sie immer in unser Feuer. Die nachrückenden Polizeikräfte aus den anderen Vierteln schnitten schlussendlich die Versorgungslinien ab, so dass gegen 0 Uhr Ruhe einzog und sich die Lage normalisierte. Fürs Erste…

Munin und 3Ware

On 17. 10 2009, in Munin, by Raptor 2101

Hinter Munin versteckt sich ein sehr puristisches aber brauchbares Monitoring-Tool um ein ganzes Netzwerk zu überwachen. Munin besteht dabei aus zwei Teilen. Der Node und einem Crawler, der zyklisch (5 Minuten) alle bekannten Nodes abfragt. Danach werden Graphen von den gesammelten Daten über die Zeiträume Tag, Woche, Monat und Jahr erzeugt. Damit lassen sich gut Trends und Ungereimtheiten ablesen. Dazu wird noch rudimentäres “Alerting” geboten. Über/Unter-schreitet ein “getrackter” Wert ein vorgegebenes Limit, wird eine Warnmail ausgesendet. Zudem wird der Wert Farblich zusätzlich markiert, so das man beim Kontrollieren der Status-Webseite sofort sieht, das was im Argen liegt.

Die Node bietet dabei von Start weg überhaupt keine Funktionalität. Alles was man angezeigt bekommen will, muss via Plugins geliefert werden. Die Communitie bietet hier jedoch ein extrem umfangreiches Repertoire an schon vorhanden Plugins. Darunter auch Plugins die SNMP Quellen abfragen.

Nun bieten 3Ware einen SNMP Zugang zu allen RAID-Daten. Nur ist dies leider sehr umständlich. Da sich Plugins sehr einfach schreiben lassen, hab ich einfach drei Plugins geschrieben, die mir die wichtigsten Daten extrahieren und in Munin zur Verfügung stellen. Ich benutzte dazu “tw_cli” welches von 3Ware mitgeliefert wird. Anschließend wird dessen Output ausgewertet und dargestellt.

die Sources gibt es hier:

  • RAID-Status: Liefert den Status aller im System bekannten RAID-Units
  • RAID-Unit-Status: Listet den Status aller physikalisch Einheiten einer RAID-Unit.
  • BBU – Status: Liefert den Status der installierten BBUs
Tagged with:
 

Bagdad Cafe

On 17. 10 2009, in Highland - Games, by Raptor 2101

26 08 2009 1830 – Der erfolgreiche Angriff auf das Os-Sayqal-Flugfelde überschlugen sich die Ereignisse. Die Feindeinheiten ließen fast alle Stellungen fallen und zogen sich Richtung Dumayr zurück. Die alliierten Einheiten waren nicht schnell genug in der Lage die Lücke zu füllen. Die Versorgungslinien sind gefährlich über dehnt worden. Heute kam es zu einem erwarteten Zwischenfall. Feindliche Truppen (reguläre Motorisierte und irreguläre) Versuchten sich in unserer Flanke zu formieren. Nur waren leider alle Einheiten der Scots gebunden. Nur Waters und sein Platoon konnten abgezogen werden um den vermeintlichen Treffpunkt, das Bagdad Cafe zu sichern.

Es zeigt sich jedoch schnell, dass das Platoon hoffnungslos in Unterzahl war. So wurde noch eine Panzereinheit der Royal Lancers entsannt. Gerade noch rechtzeitig konnten diese in Stellung gehen. So kam es zum unvermeidlichen Shoot-Out.

Irreguläre Truppen im AnmarschFeindliche Truppen versuchen vorzurücken

Fotos der Schlacht

Angriff auf Os-Sayqal-Flugfelde

On 17. 10 2009, in Highland - Games, by Raptor 2101

Britische TUM WMIK beim vorrücken

Britische TUM WMIK beim vorrücken

24 08 2009 0350: Nachdem Maclachlan vor die Aufklärung des Os-Sayqal-Flugfeldes beendet hatte, beginnt der Angriff auf das Gebiet. Wie erwartet, wurde das Flugfeld vom Feind schon so gut wie aufgegeben. Nach dem Angriff durch die Luftwaffe haben sich die meisten Feindkräfte fluchtartig zurückgezogen. Alles was noch an Feinden vor Ort geblieben ist, hat sich in den Gebäuden verschanzt. Da Maclachlan und seine Jungs hervorragende Arbeit geleistet haben, war von Anfang an klar, wo sich welche Einheiten befinden. Das HQ entschied, die Räumung des Flugfeldes, der Infanterie zu überlassen. Zur Unterstützung wurden noch zwei Apache-Helikopter zur Verfügung gestellt. Endlich kamen auch diese hässlichen Landrover Defender zum Einsatz. Bewaffnet mit schweren MGs und Granatenwerfern machen die richtig was her…

Angriff auf die Baracken

Angriff auf die Baracken

Der Angriff wurde von drei Seiten durchgeführt. Erst wurden die Baracken erstürmt. Ein Platoon unterstützt von einer FO und einer Anti-Panzer-Einheit schlich sich an die Baracken herran. Als die erwarteten BMPs auftauchten, begann er Angriff. Die überraschten Feinde suchten schnell Deckung und riefen Verstärkung herbei. Doch diese wurden von den TUMs zusammengeschossen. Einmal in seine Stellung geschossen, war dem Feind die Möglichkeit genommen, frei auf seinem Gebiet zu manövrieren. So konnte sich, weitestgehend unbehelligt, zwei Platoons von unterschiedlichen Seiten, dem Tower – Gebäude nähern.
Angriff auf einen syrischen BMP

Angriff auf einen syrischen BMP

Anrückende Unterstützungseinheiten wurden schnell abgefangen. Nach einer halben Stunde Feuergefecht viel sowohl das HQ des Feindes als auch die Tower-Control in unsere Hände. Die restlichen Feindtruppen zogen sich auf die nach gelegene SAM-Stellung zurück. Die beiden Apaches lösten das Problem jedoch auf unproblematische weise… Nach zwei Luftschlägen kapitulierten alle verbleibenden Feindeinheiten.

Aktuallisieren einer Schlüsselsignatur

On 6. 10 2009, in Administration, by Raptor 2101

Es kann mal passieren, dass eine Signatur eines Repository-Server abgelaufen ist. Um diese unter Ubuntu zu aktualisieren reicht folgender Befehl.

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com <KEYID>
Tagged with:
 

Die große Schlacht

On 2. 10 2009, in Highland - Games, by Raptor 2101

Panzer im Anmarsch

Panzer im Anmarsch

22 06 2008 – 1700: Zwei Tage lang konnten die alliierten Truppen ohne größeren Feindkontakte ins Landesinnere vorrücken. Ausgerechnet an einer Kreuzung im Nirgendwo, meinten die Syrer, dieses Umstand zu ändern. Die 19. Reserve Infanterie Brigade hatte sich im gesamten Gelände verschanzt. Kaum eine Erdmulde, Sandhügel oder Felsformation, hinter er nicht ein Aufklärer wartet. Zusätzlich wurde sowohl die 3. als auch die 8. gepanzerte Division gesichtet, wie sie sich auf uns zu bewegten. Das HQ stellte  zwei Harrier und  eine ganze Panzereinheit für den anstehenden Kampf bereit. Das zur Verfügung stehende Terrain ermöglichte jedoch eröffnete jedoch die Möglichkeit den Gegner zu dezimieren bevor es zum eigentlichen Gefecht kam.

Eine aufgeriebene feindliche Einheit

Eine aufgeriebene feindliche Einheit

Während die Panzereinheit unter Maj. Starkey die eingegrabenen Truppen in der nähe der Kreuzung unter Beschuss hielt, bezogen Maj Joyce und seine Jungs mit den Javelins Stellung auf der nahen Hügelkette. Die ersten anrückenden Feindeinheiten wurden umgehend von den Harriers zusammengeschossen oder von einer Javelin in Stücke gerissen. Ein größeres Problem stellten die Truppen dar, die sich eingegraben hatten.

Hier kam Cpt Water’s und Cpt Vipons Platoons ins Spiel. Die Infanterie-Einheiten rückten im Schutze des Terrains ins Feindgebiet vor und spürten verschanzte Gegner auf. Einmal entdeckt, rückte sofort die Kavallerie ein. So wurde Hügel um Hügel eingenommen. Die syrischen Einheiten versuchten vergeblich sich dieser Taktik zu erwehren.

Macclachlan beim Sturm auf eine Stellung

Feindtruppen versuchen sich neu zu formieren

Am verzweifelten wurden die Stellungen um die künstlichen Befestigungen verteidigt. Der verbleibende Rest der Syrer nutze diese die Befestigungen und die Wracks als Deckung. Die Harrier löste aber auch diese Problem durch gezielter Beschuss. Anschließend rückten Waters und Vipon mit der Unterstützung der Panzer auf die Stellungen vor. Obwohl die Umgebung wenig Deckung bot, konnten wir relativ frei manövrieren. Jeder, die es wagte den Kopf zu heben, wurde sofort unter Beschuss genommen. Selbst eiligst anrückende Panzer die uns in die Flanke fallen wollten, wurde rechtzeitig ausgemacht und vernichtet. Die letzten Feinde ergaben sich nach dem auch die letzte Chance auf Verstärkung in Rauch auf ging.

Wenn man einen File-Server betreibt, so kann man unglaublich viel Zeit darin investieren, den Raid zu planen, die Verschlüsselung einzurichten und das Netzwerk zu tunen. All das nutzt aber nichts, wenn am Ende der Benutzer glaubt, die Bytes einzeln über die Leitung schieben zu müssen.

Dass kann bzw wird passieren, wenn man seinen File-Server verschlüsselt. Der tollste RAID bringt wenig, wenn er auf den CPU warten muss, weil dieser fröhlich am ent-/verschlüsseln ist. Hier liegt ein grundlegender Widerspruch zwischen zwei Anforderungen vor. Jeh stärker man die Verschlüsselung forciert, desto langsamer wird der Datenzugriff.

Die erreichten Werte skalieren dabei jedoch nicht wie erwartet. Und überhaupt fällt es im ersten Moment schwer, die wirklich wichtigen Parameter auszumachen. Zuallererst müssen die Rahmenparameter abgesteckt werden:

  • Wichtig ist die LAN-Anbindung. 100MBit/s oder 1GBit/s. Beides Transferraten sind wesentlich langsamer, als dass was fast alle RAIDs (auch Software RAIDs) Zustande bringen. Aus dem Stand schaffte mein Testsystem 251,59MByte/s (write) und 293,41MByte/s (read). An dieser Stelle sei darauf hingewiesen, dass man von Bits in Byte umrechnen muss. (1GBit/s=1024MBit/s = 128MByte).
  • Der zweite Rahmenparameter sind die Clients, bzw. deren Festplatten. Die maximale Transferrate ergibt sich aus der Lese/Schreibgeschwindigkeit dieser Komponente. In großen Netzwerken sollte kann man das getrost ignorieren, da immer mehrere Clients den Server ans Limit fahren. Im Privatgebrauch, mit weniger als fünf Clients, sollte man aber schon mal schauen wie viel Power man wirklich braucht. Dazu nimmt man seine “schnellste” Kiste (in meinem Fall 60MByite/s Read/40MByte/s Write) und nimmt die mal 1.5. Das ist zwar kein wissenschaftlich ermittelter Wert, aber über den Daumen reicht das.

Neben diesen “harten” Rahmenbedingungen gibt es noch eine Reihe weicher “Auswahlkriterieren”. Bei fast jedem Benchmarktool bekommt man verschiedene Werte der “Festplatte” ausgewiesen. Sequenzjelles(Block) Lesen/Schreiben, zufälliges Lesen/schreiben und so weiter. Eine Fülle von Informationen von denen man nicht weiß, welcher Wert wichtiger ist. Zur Vereinfachung lässt sich sagen, dass bei einem Fileserver in 90% der Fälle das sequenzielle Lesen/Schreiben wichtiger ist.

Zum Testszenario: Alle Verschlüsselungs/Cipher-Algorithmen-Kombination musste ein 750GB Device verschlüsseln, wobei auch verschiedene Schlüssellängen durchprobiert wurden. Als überlagertes Dateisystem kam XFS zum Einsatz. Der CPU (ein 2.5GHz Intel Core 2 Duo) übernahm dabei nur die Krypto-Aufgaben. Der (Hardware) RAID-Controler war für die IO Zuständig. Die 4GB RAM kann man ausklammern, da der Benchmark (in diesem Fall bonnie++) bewusst den RAM umgeht. Bei einem Testfile von 8GByte Nutzt einem weder der 4GByte-RAM noch die 256 MByte Controller-Cache irgendwas. Was ja auch Sinn dieser Test ist. Das ganze lief unter einem 64 Bit Ubuntu 9.04

Zum Ergebnisdiagramm:  Der RAID lieferte nativ (unverschlüsselt) 252 MByte/s (Block Write) und 293,41 MByte/s (Block Read). Dies ist nicht auf dem Diagramm zu sehen, weil dann die Skalierung unvorteilhaft geworden wäre. Die ersten 3 Testwerte stellen daher die “praktischen” Referenzwerte dar. Als maximal physikalische Obergrenze steht dabei die 1GBits Ethernet Verbindung. In der Praxis bringt die es bei mir ungefähr auf 800 Mbit/s (100MByte/s), folglich sind alle IO-Bandbreiten, mit mehr Leistung sinnlos. Als zweiten Referenzwert hab ich die Festplattenleistung aller meiner Clients gemessen und deren Ergebnis gemittelt. Mehr Leistung als diese ist zwar nett, da dadurch mehrere Rechner gleichzeitig auf dem Server arbeiten können aber sonderlich viel mehr Leistung wird nicht gebraucht, da dass Netzwerk aus nicht mal 5 Rechnern besteht. Der dritte Referenzwert ist der Wert der (mich) am meisten überrascht hat. Es ist die Rohleistung die der Standard SMB-Client (libsmbclient 2:3.3.2-1ubuntu3.2) auf die Leitung bringt. Überraschend deswegen, weil er schneller schreiben als lesen kann. Ob dies an meiner Serverkonfig liegt, konnte ich noch nicht verifizieren.

Alle Tests fanden Donnerstag von 23 bis Freitag 2 Uhr statt.


Verschlüsselung Performance Statistic

Verschlüsselung Performance Statistik


CPU Auslastung

CPU Auslastung


Speicher Auslastung

CPU Auslastung

Die Auswertung: Da der Referenzbalken der Unverschlüsselten Performance fehlt, sieht das Ergebnis Feld ganz brauchbar aus. Das täuscht. Als erstes fällt auf, dass sich alle Algoritmen-Mischungen ungefähr gleich geschlagen haben. In absoluten Zahlen ausgedrückt sieht das wie folgt aus:

  • Write Char: Der schlechteste Wert ist 66.25 MByte/s und erreicht somit noch immer 91% der nativen Leistung. Ach die Streuung ist vernachlässigbar, Zwischen dem schnellsten und langsamsten Algorithmus liegen gerade mal 3 MByte/s.
  • Write Block: Der eigentlich interessante Wert für einen Fileserver weißt die erste Überraschung auf. Hier bringt es der schnellte Algorithmus gerade mal auf 61% (152 KByte) der ursprünglichen Leistung. Die Streuung ist hier auch am größten. Zwischen den beiden Extremen liegen 60 KByte/s. Das ist gemessen am absoluten Leistungsverlust (99MByte/s) ein enormer Wert.
  • Rewrite: Hier zeigt sich wieder ein ähnliches Bild wie beim “Write Char”-Test. Das Ergebnisfeld ist dicht beieinander. Mit einem Maximalunterschied von 6KByte/s spielt es fast keine Rolle.
  • Read Char: Auch hier das gleiche Bild. Alle Algorithmen liegen dicht beieinander. Auch der Verlust hält sich in Grenzen. (7KByte/s)
  • Read Block: Die größte Überraschung am Schluss: Mit einem Leistungsverlust von fast 80% schlagen sich alle Algorithmen in dieser Disziplin schlecht. Zudem gibt es hier wieder nennenswerte Unterschiede zwischen den einzelnen Algorithmen.(20KByte/s bei einem absoluten Verlust von 230 KByte/s) Da dies eine Königsdisziplin der FileServer ist (Dateien ausliefern) gebietet es sich, hier genauer hin zuschauen.

Neben diesen Einzelwerten fällt auf, dass die Leistung der Algorithmen nicht skaliert wie man es erwartet. Das liegt zum einen daran, dass der absolute Verlust an der Dimensionierung der CPU im Vergleich zur nativen Leistung hängt. Auf Deutsch:Der CPU gibt die maximale IO-Geschwindigkeit an, ein Monster RAID + LowCost CPU ist blöd. Der RAID wird sich die ganze zeit langweilen, weil der CPU nur am Rödeln ist. Hier wird auch klar, dass nachrüsten von Speicher an so einer Leistungsgrenze wenig bringt. Der Flaschenhals ist die CPU. Dass sieht anders aus, wenn man einen Software- oder Fake-RAID benutzt. Zum anderen skallieren die Algorithmen selber nicht wie erwartet. Wenn ein Algorithmus gut im Random-Access ist, sagt das noch lange nichts über seine Leistung im Block-Lesen oder gar Schreiben aus.  Dass Schreiboperationen performanter als Leseoperationen durchgeführt werden, entzieht sich komplett meiner Logik.

Neben diesen reinen Duschsatzzahlen war es interessant Festzustellen, dass alle Algorithmen aus CPU-Sicht gleich aufwändig sind. Die Auslastung lag fast immer am Limit. Auch wenn das CPU-Diagramm etwas anderes vermuten lässt. Im ersten Moment sieht es so aus, dass der CPU eine hohe IDLE-Rate hat (Pink+Türkies). Das ist aber nur die halbe Wahrheit. Besonders bei dem langen Block nach den Test (von 3 Bis 4 Uhr – hier wurden 180 GByte Backupdaten wieder auf den RAID aufgespielt) fällt auf, dass es faktisch nur noch drei Statie gibt, in dem sich der CPU befindet: IDLE, IOWAIT oder SYSTEM.  Eigentlich müssten sich IOWAIT und SYSTEM zu 100% ergänzen. Der Grund für das IDLE ist einfach: Keine oder kaum Parallelisierung. Ein CPU hat sich immer gelangweilt. Das hat den Vorteil, dass das System trotz Vollast noch gute Antwortzeiten aufweist und einsatzfähig ist, kostet aber enorm an Durchsatz.

In hab mich für den aes-xts-plain mit einer Schlüssellänge von 256 entschieden. Da dieser die beste Block-Read/Write Performance hat. AES-ECB ist zwar nochmal eine ganze Ecke schneller (besonders beim lesenden Zugriff) jedoch ist dieser Algorithmus für eine reihe von Angriffen anfällig, die bis zur Extraktion der Krypto-Keys gehen.

[UPDATE] Nach der Veröffentlichung in den ubuntuusers-Foren hat mich Red Radish darauf hingewiesen, dass viele der hier genannten Verschlüsselungs-Algoritmen zwar möglich aber wenig sinnvoll sind. Leider ging das aus den Seiten die ich biss her gelesen hab nicht hervor. Die Anzahl der “sinnvollen” Ciphers sind:

  • aes-ecb
  • aes-cbc-essiv:sha256
  • aes-lrw-benbi
  • aes-xts-plain
  • twofish-cbc-essiv:sha256
  • twofish-lrw-benbi
  • twofish-xts-plain

Danach sieht das Diagramm etwas übersichtlicher aus.


Verschlüsselung Performance Statistic

Verschlüsselung Performance Statistik

Links:

Tagged with: