Archiv für Kategorie Netzwerk
Neues sf.net-Projekt: h2benchw2csv / Ergebnis der iSCSI Performance-Tests
Die letzten beiden Tage habe ich unser SAN und das dahinter liegende iSCSI-Geraffel ausführlich mit h2benchw von Heise / c’t getestet. Da ich absolut keine Lust hatte, alle Ergebnisse in den Text-Dateien (waren knapp 20 Files) per Hand in Excel einzutippen, frickelte ich mir kurzerhand ein PHP-Script zusammen, dass mir aus den .txt-Dateien von h2benchw eine große CSV-Datei baut. Diese kann dann wiederum in Excel oder irgendeinem anderen Tabellen eingelesen werden.
Weiterhin unterstützt h2benchw2csv - so der Name des kleinen Scripts – die automatische Umwandlung der .ps-Dateien nach .pdf. Dies geschieht mit Hilfe des PDFCreators, der in der %PATH%-Variable verfügbar sein muss. Gegenwärtig ist h2benchw2csv noch im sf.net Approval State, sollte aber morgen oder übermorgen freigeschaltet werden.
Features:
- Umwandeln von h2benchw .txt-Ergebnissen in eine CSV-Datei
- Komplette Inhalte von Verzeichnissen können in der CSV-Datei gespeichert werden
- Deutsch/Englisch
- Umwandlung der h2benchw .ps-Dateien mit Hilfe des PDFCreators nach PDF
- 100% Open Source und Kommandozeile
- Benötigt wird nur PHP – es wird keine zusätzliche Bibliothek benötigt
Zu den Ergebnissen meiner iSCSI-Performance-Messung ist folgendes zu schreiben:
- Round-Robin oder Weighted Path in einem Verbund von 4 Netzwerkkarten auf Client und Server bringen rein gar nichts, wenn sie gemeinsam auf ein Target zugreifen. Die maximale Leserate betrug 75 MByte/s, die maximale Schreibrate 60 MByte/s. Wir gingen eigentlich davon aus, dass mit jeder (Gigabit)-Netzwerkkarte die Performance mitskaliert – also eine NIC: 70 MByte/s, zwei NICs 140 MByte/s u.s.w. Dem ist aber eindeutig nicht so.
- Interessant war hingegen, dass bei 4 Targets und Fail Over der Gesamtdurchsatz auf ca. 200 MByte/s beim Lesen und 170 MByte/s beim Schreiben anstieg.
- Für mich schaut das nach einem Problem im iSCSI Initiator oder -Treiber aus.
- Bonding und Multipath gemeinsam benutzt bringen nichts.
- Die Firmware 1.46 des Areca 1231 kann nun vernünftig mit NTP-Servern umgehen – bringt aber keine bessere Performance
- FileIO ist beim Schreiben geringfügig schneller als BlockIO (2 MByte/s)
- Jumboframes (MTU 9000 auf Windows Server 2003 und 9014 auf DSS) brachten bei uns keinen Performance-Unterschied
- Fail Over ist schneller als Weighted Path, Weighted Path ist schneller als Round Robin
- Keine der vier Intel-Netzwerkkarten wurde unter Windows Server 2003 zu mehr als 50% ausgelastet. Hier gibt es eventuell auch Treiber-Probleme.
- Trotz allem ist unser iSCSI-SAN fix
Rautiges 2009-04-15
Verfasst von Schakko unter Apache, Dies und das, Mathematisch-logische Grundlagen der Informatik, Musik, Netzwerk am 15. April 2009
Hier ein paar Sachen, die ich in den letzten Tagen gefunden habe und rautiert werden müssen:
- Beim Studium hing ich einige Zeit am Thema “Vollständige Induktion” fest. Martin gab mir auf der letzten Präsenzveranstaltung den Tipp, dass es auf youtube einige interessante Videos bezüglich Algebra gibt. Natürlich gibt es auch etwas über die vollständige Induktion, was ich euch nicht vorenthalten will:
- Eine gute Übersicht über die Junktoren und deren Beschreibung gibt es in diesem PDF.
- Ebenfalls eine Übersicht inklusive Informationen über Kommutativ- und Assoziativ-Eigenschaften gibt es hier.
- Morgen werde ich mich mit den ersten Aufgaben und Tests aus dem Kurs Mathematisch-Logische Grundlagen befassen. Mit LaTeX bekommt man mathematische Formeln besonders gut dargestellt. Wer unter Windows mal LaTeX testen will, ist mit einer Distribution wie Miktex gut beraten.
- Wer gerne Akustikgitarren-Lieder mit Ska- und Rock-Einfluss mag, sollte sich unbedingt die Band Solche anhören. Solche macht eine Mischung zwischen Kettcar, Joint Venture und E-Egal. Besonders gut hat mir der Track “Gutenberg” gefallen.
- In RSS-/OPML-Liste haben habe ich heute zwei neue Blogs aufgenommen: Schrankmonster und aheil.de. Beide befassen sich mit der Software-Entwicklung auf der .NET-Schiene. Gefällt mir sehr gut und ist lesenswert.
- Über Schrankmonster bin ich dann auch auf Pixelmachine gestoßen. SuperJer -- der Entwickler -- hat in wenigen Kilobytes einen vollfunktionsfähigen 3D-Raytracer in C bzw. C++ geschrieben, der ohne weitere Grafikbibliotheken auskommt. Der Quellcode ist gut verständlich und ich denke, einfacher kann man die Arbeit eines Raytracers nicht nachvollziehen.
- Apache Software Foundation dominiert -- das Apache Directory Studio (Eclipse-basierender LDAP-Client) wurde in der Version 1.4.0 veröffentlicht. Nach einem Blick auf die Seite der ASF realisierte ich erst, dass man nur mit OpenSource-Produkten der ASF einen Großteil der Serverdienste abdecken kann.
Klar: Jeder kennt den Apache HTTP Server, Tomcat und Geronimo müssten auch noch ein Begriff sein. Wenn es dann aber zu CouchDB (dokumenten-oprientierte Datenbank), Directory (LDAP-Server), JackRabbit (Content Repository) und Konsorten geht, kommen einem die Begriffe nicht mehr so bekannt vor. Was ich mit diesem Eintrag sagen will: ASF ist leet. - Problematisches mit der Astaro Firewall
Gestern stellte ein Kunde die Anfrage, ob wir auf deren (Windows 2003 / Exchange) Server Email-Adressen für externe Mitarbeiter erstellen können. Kein Problem: Im AD legte ich kurzerhand neue Benutzer mit passenden Exchange-Postfächern an, auf der Firewall wurde der POP3/IMAP-Verkehr an den Server geforwardet. Die Authentifizierung und Autorisierung der Benutzer am ActiveDirectory geschieht über den Exchange-Server.
Nun mussten wir aber ebenfalls das Versenden der Emails über SMTP ermöglichen, da nur empfangen von Emails etwas eintönig und sinnbefreit ist.
Auf der ASG (Version 7.4xx) lief ein SMTP-Proxy, der nur Verbindungen vom Mail-Provider zuließ und an den Exchange-Server weiterleitete. Der SMTP-Proxy filtert Spams gleichzeitig aus. Als einziger Relay-Host ist der eben genannte Mail-Provider eingetragen.
Unsere erste Lösung -die auch funktionierte- war, ein einziges Benutzer-Konto für die vorher erzeugten Email-Postfächer anzulegen. Jeder Client würde dann über den selben SMTP-Benutzer seine Emails versenden.
Mein Wunsch war es dann, dass wir im SMTP-Proxy den Relay von Emails erlauben, wenn der Benutzer in einer bestimmten Gruppe des Active Directories ist. Somit hätten wir die Benutzerverwaltung komplett im ActiveDirectory und bräuchten uns bei zukünftigen Änderungen nicht mehr um die Firewall kümmern. Außerdem hätte bei weiteren Email-Adressen das Passwort weitergegeben werden müssen.
Wir erstellten also auf der ASG eine neue Benutzer-Gruppe. Die Gruppe wurde so eingerichtet, dass als Backend das ActiveDirectory mit der dort hinterlegten Benutzergruppe benutzt werden sollte.
Leider funktionierte dies nicht. Sobald ein Benutzer aus der (AD)-Gruppe versuchte, eine Email zu senden, schlug die Authentifizierung fehl. Im Log des AUA konnten wir feststellen, dass die ActiveDirectory Authentifizierung überhaupt nicht statt fand.
Ich hoffe, wir bekommen in den nächsten für dieses Problem eine Antwort von Astaro. - Debugging von LDAP / Active Directory Verbindungen
Falls die Verbindung von einem LDAP-Client zum Backend (OpenLDAP, Active Directory, eDirectory etc) nicht funktionieren sollte, wünscht man sich oft ein Tool, was die Verbindungsdaten dazwischen anzeigt. Aus Sicherheits- und Performance-Gründen ist der Einsatz von Wireshark oft nicht möglich. Ein dedizierter Proxy nur für LDAP-Verbindungen nicht direkt. Das Sourceforge-Project ldap-proxy dient einem anderen Einsatzzweck, die Verbindung mit netcat bekam ich in mehreren Versuchen (sowohl mit der Windows Binary als auch mit einer Cygwin nc.exe) nicht zum Laufen.
Nach einigem Suchen stolperte ich dann über das Shareware-Tool Proxy Workbench, das neben LDAP auch für so ziemlich jedes andere gängige Protokoll einen Proxy-Port öffnen kann.
Arbeiten über Ostern
Verfasst von Schakko unter Netzwerk, Netzwerkparty am 13. April 2009
Die cth LAN #17 habe ich gestern um 18 Uhr erfolgreich hinter mich gebracht – ich versuche in den nächsten Tagen noch eine Review dazu zu schreiben.
Heute saß ich den Nachmittag über an unserem Firmennetzwerk und habe Multipath und Bonding gebenchmarkt. Die überarbeiteten Ergebnisse lassen sich in meinem zugehörigen Blogeintrag finden.
Trunking / Bonding / Multipath
Verfasst von Schakko unter Netzwerk, Open Source, Virtualisierung am 25. März 2009
Schon einmal im Internet nach Trunking, Bonding und/oder Multipath gesucht und sich gefragt, was brauche ich eigentlich? Aus aktuellem Anlass haben wir heute einige Experimente mit diesen Verfahren gemacht.
Warum?
Die Evolution der Virtualisierung unserer Maschinen in der Firma hat mittlerweile einen langen Weg hinter sich. Zu Anfang setzten wir auf Virtual Server 2005 von Microsoft, danach folgte dann ein VMWare Server. Auf den Clients wird zu Testzwecken weiterhin VirtualBox benutzt. Warum wir von den Microsoft und VMWare-Lösungen weg wollten, war die mieserable Performance. Die Windows-Systemen liefen unter VS2005 relativ schnell. Linux hingegen ließ sich faktisch gar nicht benutzen (Kernel 2.6.20 aufwärts, Ubuntu, Debian, SuSE). Somit hatten wir im ersten Schritt VMWare neben VS2005 laufen. Allerdings verbrauchten beide Virtualisierungslösungen im Parallel-Betrieb doch einiges an Ressourcen, so dass wir von VS2005 nach VMWare migrierten. Bereits nach einigen Tagen stellten wir enorme Probleme unter Windows-Gästen beim Festplattenzugriff fest.
Wegen fehlender Debug-Möglichkeiten lag unser Schluss darin, dass vermutlich das darunterliegende RAID5 (3Ware-Controller) mit dem VMWare Write-Operations nicht klar kam. Außerdem liefen die Windows-GUIs nicht perforrmant genug.
Nach zwei Jahren des Herumärgerns starteten wir vor zwei Wochen, den XENServer zu evaluieren. Dabei ist es so, dass alle unsere virtuellen Fesplatten in unserem SAN (open-E DSS) liegen sollten. SAN, physikalische XEN-Maschine und zwei weitere Server sind an einem Netgear-Gigabit-Switch angeschlossen.
Trunking / Bonding
Trunking bedeutet, dass mehrere physikalische Leitungen zu einer “dicken” logischen Leitung zusammengelegt werden. Dies hat den Vorteil, dass der Gesamtz-Datendurchsatz (theoretisch!) um die Anzahl und den Durchsatz der zusätzlichen Leitungen erhöht werden würde. Damit ein Trunk erstellt werden kann, kommt das Link Aggregation Control Protocol zum Einsatz. Dieses Protokoll bildet den IEEE-Standard 802.3ad ab. Auf den Netgear-Switches nennt sich diese Funktion Link Aggregation Group (LAG).
Der Begriff Trunking wird häufig auf Seiten des Switches verwendet. Bei den Netzwerkkarten an sich wird weitaus häufiger der Begriff des “Bondings”, d.h. das Zusammenfassen von mehrerer Netzwerkkarten zu einer, benutzt. Grundsätzlich sind die Begriffe Bonding und Trunking aber gleichbedeutend zu benutzen.
Beim Bonding gibt es verschiedene Modi. Unter Windows mit einer Intel PRO/1000 PT Quad Port LP kann man aber beispielsweise keinen direkten Modus auswählen, es wird immer der Modus 802.3ad benutzt.
Linux bzw. Linux Channel Bonding Project hingegen kennt weitere Modi:
- mode=0 (balance-rr): Dabei werden alle gebondeten Netzwerkkarten nacheinander benutzt. Paket a wird über phys. eth0 gesendet, Paket b über eth1 u.s.w. (Load Balancing und Fehlertolerant)
- mode=1 (active-backup): Es ist immer eine Netzwerkkarte aus dem Bond aktiv. Sobald diese deaktiviert wird (Netzwerkkarte kaputt, Link zwischen NIC und Switch weg etc.) wird die nächste Karte aus dem Bond aktiviert (Fehlertolerant)
- mode=2 (balance-xor): Für jede Anfrage wird eine Netzwerkkarte ausgewählt und diese wird im Laufe der Verbindung weiter benutzt (Fehlertolerant und Load Balancing)
- mode=3 (broadcast): Der Name ist Programm: Auf allen NICs wird übertragen (Fehlertolerant)
- mode=4 (802.3ad): Hiermit wird 802.3ad für das Bond benutzt. Der Switch muss das Protokoll unterstützen.
- mode=5 (balance-tlb): Steht für Transmit Load Balancing, wenn ein Slave aufällt, wird die MAC-Adresse von einem anderen Bond-Mitglied übernommen (Fehlertolerant)
- mode=6 (balance-alb): Steht für Adaptive Load Balancing, hier werden die ARP-Requests des lokalen Systems vom Bonding-Treiber überschrieben (Fehlertolerant)
Mehr Infos auf englisch gibt es bei Linux Horizon, von wo ich auch die Informationen her habe.
Bonding im XENServer
Im XENServer 5.x kommt das oben genannte Linux Channel Bonding Project zum Einsatz. Unsere bisherige Hardware lief mit einer LACP nach 802.3ad. Nachdem wir in der Oberfläche des XenCenters ein neues Bond erstellt hatten, wurde es auch wunderbar hochgefahren. Allerdings arbeitet das Bond standardmäßig in einem eigenen Modus. Damit war es nicht möglich, unser SAN anzupingen. SAN und XEN lagen im gleichen Subnetz. Grund dafür war eben, dass die Modi sich unterschieden. Damit nun XENServer den Modus 802.3ad benutzt, muss unter /etc/sysconfig/networks der Eintrag BONDING_OPTS=”mode=4″ hinzugefügt werden. Danach müssen die Interfaces neu gestartet werden. Im Anschluss konnte sich der XENServer über den NetGear GS748T mit dem SAN verbinden.
Wenn bis zu dieser Stelle durchgehalten hast, würde dich sicherlich auch folgende PDF interessieren: Virtualiasierung und Netzwerkstruktur
Multipath!
Beim Zugriff auf unser SAN per iSCSI besteht die Möglichkeit, Multipath zu aktivieren.
Beim Bonding besitzt jedes Bond genau eine IP-Adresse. Die einzelnen Bond-Slaves (Netzwerkkarten) besitzen keine fest zugewiesene IP-Adresse mehr. Bei einem Bond aus 4 Netzwerkkarten würde das Bond über eine IP-Adresse angesprochen werden. Im Gegensatz dazu besitzt beim Multipath jeder Netzwerkkarte eine IP-Adresse. Dabei ist es aber wichtig, dass jede Adresse in einem unterschiedlichen Subnetz liegt. Anhand des Subnetzes wird entschieden, an welche Karte das Paket letztendlich gesendet wird. Multipath erhöht durch diese Technik zum einen den Datendurchsatz, zum anderen bietet es höhere Fehlertoleranz.
Beim Multipath gibt es ebenfalls verschiedene Modi, die Auswirkungen auf die Performance und Sicherheit haben:
- Fail Over – entspricht dem mode=2 beim Bonding
- Round Robin – die Pakete werden gleich auf die einzelnen Pfade verteilt (mode=0 beim Bonding)
- Round Robin With Subset – eine Mischung zwischen Fail Over und Round Robin. Sobald eine der aktiven Pfade wegbricht, werden die inaktiven Pfade aus dem Standby aufgeweckt und benutzt.
- Least Queue Depth – hiermit wird ein Lastenausgleich gefahren, der dem Round Robin entspricht. Wenn die einzelnen Pfade vom Durchsatz her nicht gleichmäßig augelastet sind, wird versucht, die Daten über die weniger benutzten Pfade zu transportieren.
- Weighted Paths – Lastenausgleich, der vom Benutzer eingstellt werden kann. Damit lassen sich quasi manuelle Routing-Metriken festlegen
- Least Blocks – Die Anfragen werden an den Pfad weitergeleitet, der die kleinste Nummer an blockierenden I/O-Zugriffen besitzt.
Fragen? Fragen!
- Soll ich Trunking oder Multipath einsetzen?
Das hängt von der Umgebung ab. Mit Trunking hat man mehr ein paar mehr Möglichkeiten, was die einzelnen Modi angeht. Allerdings funktionieren nicht alle Modi auf allen Betriebssystemen. Für 802.3ad müssen außerdem die Switches das Protokoll unterstützen. Multipath bedeutet höheren Konfigurationsaufwand, da jede Netzwerkkarte eine eigene IP in einem eigenen Subnetz benötigt. - Kann ich Multipath über einen LACP-Trunk fahren?
Ja, ich habe zwei Bondings auf jedem Server eingerichtet und diese dann mit Multipath (Round Robin) getestet. Die Verbindung funktioniert einwandfrei, von der Performance her gibt es aber keinen Unterschied zum normalen Bonding. Außerdem ist es doppelter Konfigurationsaufwand, sowohl Bonding als auch Multipath einzurichten. - Ist Bonding oder Multipath performanter?
Im Test war das Bonding/Trunking beim Lesen geringfügig langsamer als Multipath. Beim Schreiben hingegen war Multipath fast doppelt so schnell. - Welches ist der schnellste Multipath-Modus?
Im Test ergab sich, dass die Policy “Weighted Paths” mit ca. 4 MByte/s die Nase vorne hatte - Funktioniert Multipath auch unter Windows?
Ja, der iSCSI Initiator von Microsoft hat dieses Feature implementiert. - Kann ich die Load Balance Policy “Least Queue Depth” oder “Least Blocks” ind der Kombination Microsoft iSCSI Initiatior und open-E DSS nutzen?
Nein, in der Kombination Windows (Server 2003, XP, Vista) und open-E DSS ist diese Policy für Multipath nicht möglich.
Vergleich Mixxt vs. Ning
Christoph Till hat auf daylipod.de die Plattform Mixxt und Ning verglichen. Grundsätzlich stimme ich seinen Ausführungen bezüglich mixxt zu.
Unsere Community-Seite partyinwob.mixxt.de läuft nun mittlerweile ein knappes Viertel-Jahr – also genug Zeit, um die meisten Funktionen zu testen.
Leider habe ich die Jungs aus der Entwicklerabteilung wohl etwas zu sehr genervt, denn mein letzter Bug-Report blieb unbeantwortet.
Nessi – Netzwerk-Simulations-Tool
Verfasst von Schakko unter Eclipse, Netzwerk, Sicherheit am 29. Januar 2009
Nessi steht nun als OpenSource-Projekt unter der Apache 2.0 License zum Download bereit. Mit Nessi lassen sich Netzwerke und Angriffsszenarien simulieren. Das Tool basiert auf Eclipse.
Wireless Wolfsburg
Verfasst von Schakko unter Dies und das, Netzwerk am 30. Oktober 2008
Wer es noch nicht bei heise gelesen hat: Das WLAN-Netz in Wolfsburg wurde im Rahmen der gerade laufenden IZB in Betrieb genommen.
Sobald das Wetter wieder besser ist, werde ich mich mit dem Notebook ins Auto setzen und schauen, “was so geht”.
Die Webseite http://www.wireless-wolfsburg.de/ sowie die Infrastruktur wird übrigens von der Wobcom technisch betrieben. Die Wolfsburg-AG ist -soweit ich informiert bin- für die die finanziellen Dinge zuständig.
Aus sicherer Quelle weiß ich, dass das WLAN-Netz im nächsten Jahr mit großer Wahrscheinlichkeit auch am und auf dem Allersee verfügbar sein wird.
Klasse Sache.
Firefox-Plugin ChromaTabs Plus
Ich bin so eben über das Firefox-Plugin ChromaTabs Plus gestolpert. Dieses Plugin färbt die einzelnen Tabs im Firefox je nach Webseite, es soll damit eine bessere Übersicht über die geöffneten Seiten erreicht werden. Das Konzept klingt ganz interessant. Wer das ganze unter dem Firefox 3 ausprobieren, kann das auf der Homepage des Autors tun.
Außerdem habe ich bei Mozilla Labs Mozilla Prism gefunden. Dieses Plugin/Tool stellt Webseiten ohne Menüleiste, Plugins o.ä. dar, so dass man Webseiten als Art Desktop-Applikation laufen lassen kann.
Und da ich sowieso gerade beim Thema Firefox bin, hier meine momentan installierten Plugins:
- Adblobk Plus
- ChromaTabs Plus
- ColorZilla
- Firebug
- FireShot
- HTML Validator
- Live HTTP Headers
- Mouse Gesture Redox
- Prism for Firefox
- ScribeFire
- Selenium IDE
- ViewSourceWith
- Web Developer
- und Wizz RSS News Reader
Ausbildung: Subnetting
Verfasst von Schakko unter Fachinformatiker ausbilden, Netzwerk am 8. August 2008
Auf youtube gibt es ein paar gute Videos mit der Einführung zum Thema Subnetting:
Insgesamtdauer der Videos: knapp 40 Minuten und alles in deutsch gehalten. Sehr lohnenswert und gut dargestellt.
Angelika Express / Motoki / Köln
Gestern waren Marci und ich in Köln auf dem Stylespion-Treffen im Motoki. Habe bei vielen Gesprächen zugehört, selbst leider nicht allzu viel von mir gegeben, da es mir seit Freitag nicht gut geht. Um 21.00 Uhr spielte dann Robert von Angelika Express vor kleinem Publikum (ca. 30 Personen). War ganz lustig, da wir zum Großteil in den gemütlichen Sesseln des Motoki-Kollektivs saßen.
Nach dem Konzert ging es mir dann leider so schlecht, so dass ich zu nichts mehr fähig war. Daraus folgte dann auch, dass Holger, Marci und ich nicht wie geplant durch Köln zogen und stattdessen um kurz nach Mitternacht wieder zurück nach Wolfsburg fuhren.
Tut mir leid – ansonsten war es ein sehr netter Nachmittag, viele nette Leute kennen gelernt und einigen interessanten Gespräch gelauscht; dazu noch gute Musik. Klasse!
Sag was!