Proxmox: 802.3ad Bonding und VLAN auf Cisco

Schon seit einiger Zeit versuche ich nun die zweite Netzwerkkarten (NICs) in den vielen unserer Server sinnvoll zu nutzen. Dabei sollte möglichst die Ausfallsicherheit verbessert werden, denn der Ausfall eines Virtualisierungs-Server wäre ärgerlich. Könnte man zwei NICs gebündelt betreiben, dann würde der Ausfall eines NICs oder gar eines Switch nicht zum Totalausfall führen. Auch eine Lastverteilung auf die beiden NICs wäre sinnvoll. So kann der anfallende Verkehr der VMs auf beide NICs aufgeteilt und dadurch eine bessere Anbindung der VMs erreicht werden.

Bonding nach dem 802.3ad Standard verspricht beides, benötigt dafür aber die Unterstützung durch die Switches. Unsere Cisco Infrastruktur bietet glücklicherweise entsprechende Unterstützung an. Wie die Konfiguration aussieht, wird im ersten Teil dieses Artikels gezeigt. Da wir zur Virtualisierung ausschließlich auf Proxmox setzen, findet sich am Ende auch eine Netzwerkkonfiguation für dieses System.
Read more »

Interaktive Landkarten mit JXMapView

Nachdem mich heute ein Leser darauf aufmerksam gemacht hat, dass ein Link zu einem laufenden Beispiel einer JXMapView Anwendung leider mittlerweile offline ist (danke Dieter!), nehme ich dies als Gelegenheit selbst ein kleines Beispiel zu implementieren und einen neuen Artikel dazu zu schreiben.

Bei dem Beispiel handelt es sich um eine Swing Anwendung, die lediglich ein Fenter darstellt, in dem man Wegpunkte auf einer Karte plazieren kann. Diese werden mit einer roten Linie zu einer Rundreise verbunden.

Screenshot der Demoanwendung

Screenshot der Demoanwendung


Read more »

Standard Variablen in Maven

Immer wieder suche ich nach einer Aufstellung von Variablen, mit denen ich in der POM arbeiten kann. Da es keinen Sinn macht, hier alle nochmals zu wiederholen verweise ich direkt auf die gefundene Quelle.

OpenStreetMap in Java-Anwendungen

Im Moment arbeite ich mit einem Kommilitonen an einem Projekt, bei dem wir das Problem des Handlungdreisenden (TSP) mit einem genetischen Algorithmus bearbeiten. Als Visualisierung finde ich OpenStreetMap ganz schick! Bei der Suche nach einer Bibliothek oder etwas ähnlichem, bin ich sehr schnell auf die SwingLabs aufmerksam geworden, die mit JXMapKit eine Swing Componente bereitstellt, die bereits eine scrollbare Karte und viele weitere Funktionen breit stellt.

map
Read more »

Web-Anwendungen mit Maven im Tomcat deployen

Im Moment experimentiere ich mit Web-Services und verwende dazu SpringWS. Dabei verwende ich Maven für die Abhängigkeiten und das Bauen. Wie bei den meisten Web-Service Libraries wird auch beim Einsatz von SpringWS ein Web-Anwendung entwickelt, die anschließend im Tomcat deployed wird. Gerade in der Entwicklung wird dieser Prozess sehr oft wiederholt und schreit förmlich nach Automatisierung.
Read more »

Maven und Eclipse

Wer seine Java-Projekte mit Maven baut und die vielzähligen Möglichkeiten auch aus Eclipse heraus verwenden will, der kommt an einem Plugin für die IDE der Wahl nicht herum. Von Haus aus bringt Eclipse die Unterstützung leider nicht mit. Seit einiger Zeit habe ich zu diesem Zweck m2eclipse im Einsatz und bin sehr zufrieden damit.

Es liefert hilfreiche Unterstützung beim Anlegen von Maven-Projekten, finden von gewünschten Libraries und liefert zudem eine hübsche (wenn auch nicht ganz soo nützliche) Visualisierung der pom.xml. Heute bin ich auf einen kleine Einleitung zu diesem Plug-In auf TheServerSide.com gestoßen. Sie sei jedem Interessierten wärmstens ans Herz gelegt.

Web Services mit Groovy

Auf der Suche nach eine Bibliothek zum Implementieren von Web Services bin ich letztens auf GroovyWS gestoßen. Auf der Projektseite finden sich einige Beispiele, die zeigen wie man mit extrem wenig Code lauffähige Dienste anbieten kann. Leider funktionieren diese Beispiele mit der aktuellen Version der Bibliothek nicht mehr. Nach einer etwas längeren Suche, habe ich mich dazu entschlossen die lauffähige Version an dieser Stelle zu veröffentlichen. Read more »

Wie reagiert die JVM eigentlich auf Multi-Cores?

Wie der Titel schon sagt habe ich mir die Frage gestellt, ob die ganzen Kerne in aktuellen CPUs eigentlich zu einer Leistungsverbesserung von Java Progammen führen. Natürlich müssen die Probleme dafür parallelisierbar sein usw., aber mich interessiert eigentlich mehr, ob z.B. Threads in Java auf alle verfügbaren Prozessoren verteilt oder nur auf einem gerechnet werden. Dabei bin ich auf einen wirklich sehr guten Artikel von Ilya Grigorik gestoßen, in dem er genau dieses Szenario anhand von Ruby, Python und Java ausführt. Kann ich jedem Leser nur empfehlen selbst zu lesen.

Es stellt sich herraus, dass die Java Threads von der JVM auf OS-Threads abbildet und somit eine Verteilung auf die Verfügbaren Kerne realisiert wird. Die Skriptsprachen Pyhton und Ruby hingegen verwenden zur Synchronisierung einen Golobl Interpreter Lock (GIL), um die Nutzung von gemeinsam verwendetem, nicht Thread-sichern Code zu verhindern. Dieser GIL ist der Flaschenhals, auch wenn Ruby Threads mittlerweile 1-zu-1 auf OS-Threads abgebildet werden. Verwendet man JRuby oder Jython dieses Problem übrigens gelöst, da der GIL in diesen Implementierungen nicht benötigt wird.

Creative X-Fi mit Ubuntu 9.04 (64-Bit)

Überraschungen gibt es ja immer wieder im Leben. Funktionierende Linux-Treiber direkt vom Hersteller sind immer wieder für solche gut.

x-fi11

Read more »

Konqueror mit Adobe Flash 10 (64 Bit)

Die kürzlich erschienene Version 4.2 von KDE ist endlich wieder bereit für den täglichen Einsatz. Glückwunsch an dieser Stelle an das KDE Team! Da sich die mitgelieferten Programme recht hübsch aussehen und auch gut zusammen arbeiten, versuche ich bei meiner aktuellen Installation so viele KDE Tools wie möglich einzusetzen. Auf die ersten Probleme stieß ich recht schnell beim Web-Browser. Firefox war bisher meine erste Wahl. Er baut bekanntlich GTK auf und sieht unter KDE meiner Meinung nach nicht nativ aus. Mit einem Firefox 3 Theme konnten sich einige der gröbsten Darstellungsfehler beheben lassen, aber ich habe mich trotzdem für Konqueror entschieden. Read more »

Nächste Seite »