Schlagwort-Archive: Linux

Nativer Client für VMWare ESXi unter Linux

VMWare ESXi bzw. VMWare ESX ist nahezu der „de facto Standard“ für die professionelle Virtualisierung. Die Verwaltung erfolgt dabei über den VMware Infrastructure Client – eine .NET-Software, welche aber momenten nicht für Linux vorhanden ist und auch unter wine nur bedingt funktioniert. Zwar gibt es mit Kodiak einen 3rd-Party-Client, welcher die komplette Verwaltung ermöglichen soll und dank Adobe AIR auch unter Linux laufen sollte, allerdings ist dieser derzeit in geschlossener Beta und steht noch nicht zum Download.Was viele nicht wissen: Es gibt einen einfachen Client direkt von VMWare. OK, nicht offiziell:

VMWares einfachere Variante „VMware Server“ nutzt in der aktuellen Version zur Verwaltung den Webbrowser. Der Konsolenzugriff wird dabei über ein Plugin ermöglicht, welches auch für Firefox unter Linux zur Verfügung steht. Mit einem kleinen trick kann man dieses Plugin dafür nutzen eine Verbindung zu ESX(i) aufzubauen und so immerhin die Konsolen anzuzeigen:

  1. Zuerst muss natürlich das Plugin installiert sein. Hierzu muss man seinen Browser auf einen installierten VMWare-Server verbinden und dort die Konsole öffnen. Da der VMWare-Server kostenlos ist sollte auch eine temporäre Installation machbar sein. Da das Plugin eine XPI ist lässt sie sich auch einmalig auslesen und (technisch gesehen) auf eine unbegrenzte Anzahl von Rechnern verteilen. Ob das Plugin installiert ist kann man bei Firefox 3.5 unter Extras -> Add-Ons -> Plugins prüfen:
    Bild: https://www.adlerweb.info/blog/wp-content/uploads/2009/11/Bildschirmfoto-3-300×98.png
  2. Nun gilt es das Plugin zu lokalisieren. Üblicherweise sollte es sich ein einem Ordner dieses Formates befinden:
    /home/username/.mozilla/firefox/****.default/extensions/VMwareVMRC@vmware.com/plugins
  3. Hier findet sich die Binärdatei des Plugins, welche auch ohne Browser gestartet werden kann. Mit
    ./vmware-vmrc -h
    startet eine GUI und fragt nach Server, Nutzer und Kennwort. Darauf folgt eine Liste mit VMs.
    Bild: https://www.adlerweb.info/blog/wp-content/uploads/2009/11/Bildschirmfoto-4-300×220.png
    Bild: https://www.adlerweb.info/blog/wp-content/uploads/2009/11/Bildschirmfoto-5-300×230.png

Achtung: Wählt man eine ausgeschaltete VM wird diese automatisch gestartet.

Das einbinden von CD-ISOs sowie Restart und Shutdown funktionieren Problemlos, USB-Geräte und Netzeinstellungen lassen sich nicht anpassen. Im VMWare-Forum findet sich eine Liste mit weiteren Optionen des Plugins.

Update: Offenbar funktioniert der Trick auch mit dem VMWare-Player:
vmplayer -h 1.2.3.4

Gentoo: Kaputtes java_config reparieren

In letzter Zeit hat sich hier durch Python-Updates auf mehreren Rechner java_config zerlegt. Versuchte ein ebuild auf Java zuzugreifen oder startete man eine Java-Software brach das jeweilige Programm mein einer solchen Meldung ab:

Traceback (most recent call last):
File „/usr/bin/java-config-2“, line 8, in
from java_config_2 import __version__
ImportError: No module named java_config_2

Da python-updater und revdep-rebuild nichts fanden war Handarbeit gefragt, die Neuinstallation der folgenden Pakete sollte Abhilfe schaffen:

emerge -1 java-config java-config-wrapper

via GentooForum.de

Gnome, HAL und automatisches Mounten von USB-Sticks

Seit dem letzten Update hatte mein Gentoo/Gnome-System einen kleinen Schönheitsfehler: USB-Sticks wurden nicht mehr gemountet. Nach einigen erfolglosen Streifzügen durch die Nautilus- und gconf-Optionen sieß ich dann im Geek-Blog auf die Lösung des Problems: sys-apps/hal hat seit einigen Versionen ein neues USE-Flag „disk-partition“, welches standardmäßig inaktiv ist. Trägt man dieses ein und kompiliert HAL neu funktioniert das automatische Mounten wieder wie gewohnt.

Und es Synct doch… Windows Mobile und Linux endlich vereint

Lange hats gedauert, aber endlich funktioniert es: Mein WM6-PDA spricht Linux. Bisher beschränkte sich die Kommunikation auf die Massenspeicheremulation WM5orage. Zwar hatte ich öfter mal mit SyncML und Funambol getestet, allerdings waren die Ergebnisse für die Tonne: Anständige SyncML-Clients für Linux scheint es nicht zu geben und selbst die einfachsten Funktionen brachten Chaos: Doppelte Kontakte, verschwundene Adressen und die Geburtstage waren Kategorisch einen Tag später als angegeben. Nich wirklich brauchbar.

Heute habe ich das ganze nochmal mit RNDIS und SynCE versucht. Der erste Eindurck hatte mich doch etwas überrascht: Statt dem bekannten gewurschtel mit synce-serial-start und dccm läuft nun alles HotPlug per DBus und HAL. Ganz ohne Konfiguration tauchte das Tray-Icon auf, zeigte anstandslos die installierten Programme, Speicherplatz und Batteriestand – sogar ein ActiveSync ähnlicher Assistent zum Anlegen einer Gerätepartnerschaft tauchte auf.

Bei der Synchronisation etwas Handarbeit: Mit OpenSync sollte es zur KDE-PIM-Suite gehen. Zwar bin ich eigentlich Gnome-User, aber Kontact und Korganizer sind doch schon sehr ausgereift. Das Sync-Modul offenbar nicht – alle Termine und Aufgaben verschwanden, Kontakte mit Sonderzeichen bereiteten ganz neue Ansichten. Also Sync abgeschaltet, Backup rein und selbes nochmal mit Bauchschmerzen und Evolution. Evolution ist die Software, welche bei mir vor allem durch mangelnde Datenintegrität, Abstürze und einem Bedienkonzept aus der Steinzeit in Erinnerung ist. An der Bedienung hat sich nicht viel geäntert, aber technisch läuft erst mal alles: Keine Abstürze, OpenSync hält alles auf dem aktuellen Stand, keine Kollisionen und alle Daten scheinen so zu sein, wie ich sie haben möchte.

Auch, wenn die Bedienung nicht immer so einfach ist: Da ich meist am Handy arbeite stört mich das weniger. Um Termine zu Pflegen und ab und an einen Kontakt zu Editieren reicht es definitiv.

Edit: Offenbar zu früh gefreut. Auf einem zweiten PC fehlen plötzlich in Evolution Postadressen und Bilder :/

Gnome vs. MIME – Wenn alles text/plain ist

In den letzten Tagen machte mein Gnome auf mehreren Rechnern macken: Alle Dateien wurden plötzlich von Nautilus als „text/plain“ erkannt – MP3 und PNG wollte er im Texteditor öffnen usw. Schuld ist offenbar ein Update, welches auch das Format der MIME-Datenbank ändert. Abhilfe schafft der Befehl „update-mime-database“. In meinem Fall musste ich für den Befehl noch eine Datei mit benutzerdefinierten Einstellungen unter ~/.local/share/mime löschen – da bei mir nichts wichtiges drin war kein Problem. Als Abschluss wegen Restart- und PID-Suchfaulheit ein „killall nautilus“ und schon lassen sich die Dateien wieder richtig bearbeiten.

Audio over Ethernet in Aktion

So ein kaputter Kopfhöreranschluss kann auch was Positives haben: Da ich momentan nicht auf mein Soundsystem verzichten wollte kam mir Pulseaudio wieder in den Sinn. OK, mein Server kann mangels 3.3V-fähiger Soundkarte noch immer nur Stereo über USB ausgeben, aber trotzdem ein gutes Stück besser als ein Headset. Inzwischen kann ich auch wieder die Nachbarn nerven: Mein Laptop streamed per RTP die Daten direkt zum Server, der sich um die Ausgabe kümmert. Das ganze funktioniert besser als gedacht – keine Lags o.ä. und auch von den Qualitätsproblemen, die mich beim letzten PA-Versuch am Mediacenter quälten, ist nichts mehr zu sehn. Schön, schön.

Bastelarbeiten zum Jahresende

Eine Woche Urlaub hinterlässt spuren. Der Schreibtisch hat sich in ein riesiges Steckbrett verwandelt und der Boden dürfte sich irgendwo unter der zentimeterdicken Schicht der Testverkabelung befinden. Obwohl die Post offenbar schon Weihnachtsurlaub hat und mir noch einiges an Hardware fehlt konnte ich doch einige Punke auf meiner Liste abarbeiten:

Zum einen habe ich den schwachen Dollar etwas ausgenutzt und meinem Server noch ein paar Festplatten spendiert. Neben dem bisherigem Terrabyte für die Daten (4x250GB, SATA-1, RAID 5 = effektiv 750GB) gesellen sich jetzt 2 weitere Terrabytechen ins Gehäuse (4x500GB, SATA-2, Controller PCI-X 64Bit, RAID 5 = effektiv 1,5TB) und erhöhen damit die Kapazität aller 13 Festplatten auf physikalische 3,1TB. OK, irgendwie muss ich noch einen Lüfter dabeizaubern – bei Volllast kratze ich an der 40°C-Marke. Zwar sind die Platten laut Datenblatt bis 60°C ausgelegt, aber man muss ja nichts riskieren.

1186811863

Nächster Punkt ist mein zusätzliches „Brandmeldesystem“. Zwar fehlt immernoch die endgültige Platine der Zentraleinheit, aber inzwischen hängen meine Rauchmeldeeinheiten in den Räumen, können lokal im Bandfall einen akustischen Alarm geben und liefern bereits Temperaturmesswerte an meinen Server, der fleißig Diagramme zeichnet. Die Stromversorgung läuft über ein überwachtes Schaltnetzteil, ist mit mehreren dezentralen Bleiakkus gepuffert, jeder Sensor hat eine separat abgesicherte Leitung und alle Sensoren werden (wenn die Zentraleinheit läuft) ständig auf korrekte Funktion überwacht.

Zwischendurch hat sich dann noch meine Workstation zu Wort gemeldet – ein RAID1 schützt vielleicht vor Festplattenausfällen, aber gegen Probleme des Dateisystems (ext3) ist auch das machtlos. 4 Stunden später lief ein neues Gentoo auf dem System und dank den letzten Updates klappt trotz 64Bit jetzt sogar Flash. UT ist natürlich auch drauf 😉

Meine Wetterstation närt sich langsam wieder einem funktionsfähigem Zustand – inzwischen konnte ich die Fehlfunktionen auf einen kaputten Sensor zurückführen. Zusammen mit dem Funksender können so jetzt wieder Temperatur und Luftfeuchte ermittelt werden. Auch der Luftdrucksensor müsste funktionieren, ist aber noch nicht kalibriert. Der Regensensor ist hardwareseitig auch fertig, hier fehlt noch eine passende Ergänzung Software. Gänzlich fehlen meine letzten Wunschsensoren für Wind und Sonnenenergie, die danach irgendwann mal in Angriff genommen werden.

Bei iSys bin ich noch nicht weiter. Zwar schau ich mir zwischendurch immer mal wieder einzelne Softwareteile an, aber auch hier warte ich noch auf meine Platinenbestellung, denn Softwaretest auf dem Steckbrett sind recht aufwändig.

Ansonsten herrscht das übliche Weihnachtsgeraffel – Geschenke organisieren etc. Nebenbei noch Zertifikate erneuern (ja, ich weiß, der IMAP-Server fehlt noch) und packen müsste ich natürlich auch noch…

Ungeplante Migration

Uff, Was für ein Marathon. Eigentlich hatte ich am Freitag ja noch gute Laune, als der Postbote – passend zum freien Tag – meinen neuen Server durch die Tür schleppte. 2 Sockel mit je einem soliden Xeon 3.06GHz, 4GB RAM und netten Spielereien wie z.B. IPMI (aka mein BIOS kann TCP/IP) sollten wieder für einige Zeit Beschäftigung bieten. Außerdem ist er deutlich leiser und dank Speedstep & Co dürften auch die Stromkosten etwas sinken. Da allerdings mit der neuen Hardware einige Anschlüsse wegfallen wollte ich eigentlich langsam umsteigen. Erst mal in Ruhe ein aktuelles Gentoo drauf, dann meine Steuerung passend umstellen und schlussendlich dann den alten Server abschalten.
Nunja, das war der Plan, die Praxis kam etwas überraschender. Gerade hatte ich das frische Gentoo auf der neuen Kiste gebootet und eine ellenlange Liste an Portage übergeben gab es als Quittung nur eine Fehlermeldung: Der Portage-Tree wäre ungültig. Huh? Der Tree liegt auf meinem Server und ist per NSF an alle Rechner verteilt – was soll da jetzt auf einmal ungültig sein. Die Antwort war nicht sehr erfreulich: Mein alter Server hatte den Dienst quittiert. Offenbar waren die frostigen Temperaturen zu viel für eine LAN-Karte, die nun den ganzen PCI-Bus lahmlegte. Naja, also die große Auswahl: Weiter arbeiten ohne Internet und mit „lediglich“ 100MBit/s im LAN oder direkt den neuen Server fertig aufsetzen. Naja, dir Grundfunktionen sollte der Neuling packen – Routing steckt in einer VM und zur Steuerung reicht PHP. PHP ist schon drauf, also Platten und Karten umgebaut und gestartet. Schnell noch VMware installieren – ach halt. Kein Internet. Auf den alten Platten lagen natürlich auch die Distfiles und somit eine passende Version des VMware Servers. Installiert, Konfiguriert, Gestartet, Connected, … nichts. Keine Reaktion. Hier macht sich der große Nachteil von Closed Source bemerkbar: Debuggen Fehlanzeige. „Es ist ein Fehler aufgetreten – der Fehler lautet:“ – nunja, kein Fehler ist auch ein Fehler.

OK, also den VMware-Server auf meinem Laptop installiert und notdürftig den Router zum Booten verholfen. Im Netz auch nichts Neues. Viele kennen den Fehler, nur eine Antwort sucht man vergebens. Mein erster Gedanke war nun direkt auf KVM zu setzen, da dies inzwischen sogar PCI-Karten an VMs weitergeben kann lässt sich damit viel Zeit vertreiben. Dummerweise unterstützen die CPUs keine Hardwarevirtualisierung, womit nur QEmu übrig bliebe. QEmu ist die Lösung, die mir schon öfter Offline-Tage beschert hatte, weil der Netzwerkstack nicht immer so will wie ich. Dann kam mir wieder VMware in den Sinn – die Version 2 des Servers ist seit kurzem stable, im entsprechenden VMware-Overlay fand sich auch schon ein passendes Ebuild und siehe da: Nach etwas gebastel startet sogar das neue Webinterface. OK, ich musste zwar den halben Laptop neu kompilieren, weil das Plugin nur mit USE=“accessibility“ funktioniert, aber immerhin konnte ich danach meine zwischenzeitlich neu geladene Version von Endian in eine serverseitige VM bannen.

Nächste Baustelle war meine Steuerung. Die Relaiskarte mit serieller Schnittstelle lässt sich ja noch recht einfach zur Zusammenarbeit überreden, bei meinen Schaltergebastel am Parallelport ist das schon schwerer: Zwar ist das Ganze prinzipiell auch mit dem neuen Server möglich, aber der Parallelport ist hier nur intern auf einem Pfostenstecker ausgeführt. Dumm, wenn man seinerzeit neben den Drähten auch die nötigen Widerstände direkt auf den Sub-D-Stecker gepflastert hat. Als Lösung muss wie immer der Holzhammer her: Jetzt pollt ein kleiner Atmega8 die Schalter und gibt die Daten seriell an den Server weiter. Als kleiner Bonus fragt der in der Leerlaufzeit noch meine 1wire-Thermometer ab, sodass ich trotz der Blockade beider COM-Ports nicht auf die Temperaturen verzichten muss. Auf Dauer auch keine Lösung, dafür habe ich wie schon erwähnt andere Pläne: Nachdem ich während dem Kompilieren etwas mit meinem AVR-Zeugs gebastelt habe konnte ich die ersten beiden MCP2515, trotz der von mir gehasstem SMD-Bauweise, zum reden bringen. Das ganze war so stabil, dass jetzt direkt ein kleines Paket mit MCP2515s zu mir unterwegs ist (diesmal in DIP). Dabei sind auch ein paar weitere Atmega’s – u.A. passend für einen iSysBus Devnode.

Inzwischen geht also sogar das Licht an, wenn ich den Schalter betätige und „mein“ Internet ist wie auch die Datenfreigaben zurück auf dem Schirm. Einzige dringende Problemstelle ist das Soundsystem: Meine alte Soundkarte lässt sich nicht in den neuen Slot prügeln – die Karte besteht auf ihre 5V Versorgungsspannung, mein Server hält nur Slots für 3,3V bereit. Schlecht, wenn der Server normal als Wecker dient: Zwar sollte mein Handy hier temporär ausreichen, aber irgendwie ist das nicht immer laut genug :/. Naja, ich mach mich dann auf die Suche nach einer passenden Soundkarte, aber erst mal begebe ich mich jetzt wieder an meinen Terminkalender: Die ersten Konzerttermine für 2009 zeichnen sich ab um zwischen Weihnachten und Neujahr war ja auch noch Etwas.

Unbekannte USB-Geräte unter VMWare automatisch nutzen

Vor einiger Zeit hatte ich mal in meiner schlauen Kategorie einen kleinen Hinweis versteckt: Möchte man auf neueren Linux-Systeme ein Gerät ohne Linux-Treiber an eine VMWare anhängen quittiert diese mit einer Fehlermeldung – das USB-Gerät könnte nicht genutzt werden. Abhilfe schafft der erwähnte Befehl “ echo 1 > /sys/bus/usb/devices/*USB-ID*/bConfigurationValue“ – allerdings hilft dies immer nur kurzzeitig – wird das USB-Gerät entfernt oder der PC neu gestartet muss die Konfiguration beim nächsten mal neu gesetzt werden. Abhilfe schafft eine udev-Rule, welche unter Gentoo z.B. „/etc/udev/rules.d/06-VmwareUsbFix.rules“ heißen kann:

BUS="usb",
SYSFS{idProduct}=="bbbb",
SYSFS{idVendor}=="aaaa",
RUN+="/bin/sh -c 'echo 1 > /sys/$devpath/device/bConfigurationValue'"

Die Werte für Vendor und Product lassen sich per lsusb ermitteln. Das ganze kann auch um Seriennummern o.Ä. erweitert werden, wenn die Zuordnung über die o.g. IDs nicht genau genug ist. btw: Mit entsprechenden Named Pipes & co kann man hiermit auch ein automatisches attachen an eine QEMU/KVM einrichten.

Cryptsetup im Benchmark

Mit Cryptsetup lässt sich unter Linux so einiges Verschlüsseln – Festplatten, Container, etc – transparent und angeblich sicher. Leider ist Sicherheit nicht billig – im Falle einer solchen Festplattenverschlüsselung zahlt man mit der sinkenden Geschwindigkeit des Speichersystems. Da ich mir eben ohnehin eine Partition zerschossen habe durfte die nun für einen kleinen Test herhalten. Die verwendete Hardware ist zwar nicht gerade auf dem aktuellstem Stand, aber ältere Rechner werden ja gerne mal als NAS o.Ä. zweckentfremdet.

Verwendete Systeme & Software:

  • Pentium III 4x550MHz (MMX,SSE), 4GB RAM
  • Kernel 2.6.22
  • Cryptsetup (LUKS) 1.0.5
  • 4xSATA 150 (250GB, 7200rpm)

Hier meine Werte:

/dev/md0: (RAID5, direkt)
 Timing buffered disk reads:  108 MB in  3.07 seconds =  35.16 MB/sec

/dev/mapper/storage-test: (LVM auf o.g. RAID)
 Timing buffered disk reads:  100 MB in  3.02 seconds =  33.16 MB/sec

AES-256
/dev/mapper/test:
 Timing buffered disk reads:   54 MB in  3.12 seconds =  17.31 MB/sec

AES-128
/dev/mapper/test:
 Timing buffered disk reads:   48 MB in  3.06 seconds =  15.69 MB/sec

TWOFISH-128
/dev/mapper/test:
 Timing buffered disk reads:   50 MB in  3.25 seconds =  15.39 MB/sec

TWOFISH-256
/dev/mapper/test:
 Timing buffered disk reads:   52 MB in  3.07 seconds =  16.93 MB/sec

AES-256 & MD5
/dev/mapper/test:
 Timing buffered disk reads:   56 MB in  3.10 seconds =  18.09 MB/sec