Select Page

NETWAYS Blog

Batch Mode Cluster ssh mit der Distributed Shell dsh

muscheln
Auch in Zeiten von Puppet und Mcollective braucht man manchmal einfach auf die Schnelle die Möglichkeit, sich per ssh aus einem Server-Cluster bestimmte Informationen holen zu können, oder einfache Befehle ausführen zu können.
Hier bietet sich die oftmals in Vergessenheit geratene Distributed Shell dsh an, die sich für alle gängigen Distributionen einfach per Paketmanagement installieren lässt.
Ein getaggter Puppet Lauf über bestimmte Servertypen, z.B. um nur bestimmte Klassen auszuführen, ist nur eine Anwendung bei der sich die Distributed Shell geradezu aufdrängt.
Das ist eigentlich kein Problem, wenn man die Möglichkeit hat sich die entsprechenden Serverlisten entweder anhand der Namen aus dem DNS, der Icinga Konfiguration, oder auch nur anhand eines bestimmten abgetrennten Subnetzes für die Servertypen, zu generieren.
Nun hatte ich neulich den Fall, dass keiner der o.g. Punkte möglich war, und zusätzlich erschwerend nur ein einziges grosses Netz vorhanden war, in dem sich so ziemlich alle Geräte, inklusive Switches etc. befunden haben.
Man möchte ja, dass der ssh Lauf ohne manuellen Eingriff durchläuft und man nicht jedesmal abbrechen/bestätigen muss, wenn gerade ein Gerät in der Schleife erreicht wird, das eigentlich nicht abgefragt werden soll.
Unter der Voraussetzung, dass alle “normalen” Server per PublicKey Authentifizierung erreichbar sind (was ja z.B. beim Icinga Monitoring Benutzer i.d.R. der Fall ist) hat sich dabei folgende Befehlszeile bewährt (als einfaches Beispiel z.B. um sich den Distributions Namen ausgeben zu lassen):


dsh -M -o-oBatchMode=yes -o-oStrictHostKeyChecking=no -o-oConnectTimeout=3 \
-f ./serverliste.txt 'lsb_release -c' | \
tee /tmp/debian_version.txt

Gerade die Option BatchMode=yes ist hier alles andere als intuitiv, sorgt aber dafür, dass alle Server in der Liste, die für den Benutzer nicht per Key Authentifizierung erreichbar sind, sofort übersprungen werden.
Wenn man möchte, kann man zusätzlich noch die Option -F angeben, um den Befehl parallel auf der angegebenen Anzahl an Servern ausführen zu lassen.

Stefan Gundel
Stefan Gundel
Senior Systems Engineer

Stefan ist ein Urgestein bei NETWAYS und arbeitet im Managed Services Team. Der internationale Durchbruch gelang Stefan als Fotomodel für den K+K Warenkorb. Nachdem er einige Jahre exklusiv für unseren Kunden StayFriends gearbeitet hat, darf er nun endlich auch wieder in anderen Projekten mitarbeiten.

Mac OS X CheatSheet Applikation und Tastaturübersicht

Seit letzter Woche bin ich stolzer Besitzer eines MacBook Air der neuen Generation.
Dies ist mein erster neuer Exkurs in die “Mac Welt”, nachdem ich mich vor langer langer Zeit schon mit diversen Zusatz Hardware-Emulatoren, z.B. auf dem guten alten Atari ST zum Testen herumgeschlagen habe. 🙂
Viele Sachen funktionieren natürlich auch einfach von Anfang an ohne großes Konfigurieren, gerade Anwendungen wie Apple Mail mit MS Exchange, IPSec VPN usw.
Aber es gibt neben der Umgewöhnung auf eine neue GUI und dem Suchen nach Ersatz für gewohnte Programme aus der Linux und Windows Welt vor allem das Problem mit der Tastatur…
Nun, für jemanden der hauptsächlich “normale” Texte schreibt ist die Apfel Tastatur ja vielleicht von Anfang an nicht schlecht, aber wenn man – als Admin wohl nicht sooo ungewöhnlich – oft diverse Sonderzeichen, Klammern etc. braucht, ist es zunächst nicht so einfach den richtigen Einstieg zu finden.
Um nicht jedes mal nachsehen zu müssen, wo denn jetzt welches Sonderzeichen beim Drücken von z.B. ctrl liegt, kann man aber relativ einfach in den Systemeinstellungen die Tastatur- und Zeichenübersicht einblenden lassen:
Tastatur Übersicht
Dann hat man oben im Tray ein weiteres Icon mit dem man sich die Infos einblenden lassen kann und beim Drücken der
jeweiligen Umschalttaste eine Übersicht was denn passieren würde wenn man bestimmte weitere Tasten drückt.
Ein weiteres sehr cooles Tool ist zum Einstieg zusätzlich die “CheatSheet” Applikation, die man sich kostenlos aus dem Appstore laden kann.
Einmal installiert und gestartet kann man sich damit den Umweg über diverse Menüpunkte eines Programms ersparen um herauszufinden welche Keyboard Shortcuts es gibt um das Programm effektiver zu bedienen.
Durch Drücken von cmd bzw. der Apfel Taste länger als zwei Sekunden bekommt man alle Infos zu den Tastenkombinationen, sowohl der aktuell ausgewählten Applikation, als auch der globalen Shortcuts, die in fast jeder Anwendung funktionieren.
cheatsheet
Für eingeschworene OS X Benutzer ist das sicher alles trivial, mir hat es über die ersten Tage aber gut weitergeholfen diese beiden Tools zu kennen.
Disclaimer: Dieser Artikel wurde mit einem Windows Notebook geschrieben, weil ich heute mein Macbook zuhause vergessen habe, es ist mir mangels Gewicht einfach nicht aufgefallen, dass es nicht im Rucksack ist…

Stefan Gundel
Stefan Gundel
Senior Systems Engineer

Stefan ist ein Urgestein bei NETWAYS und arbeitet im Managed Services Team. Der internationale Durchbruch gelang Stefan als Fotomodel für den K+K Warenkorb. Nachdem er einige Jahre exklusiv für unseren Kunden StayFriends gearbeitet hat, darf er nun endlich auch wieder in anderen Projekten mitarbeiten.

Zeiterfassung mit Rachota


Neulich musste ich mich nach Jahren wieder einmal nach einer Lösung für die tägliche Zeiterfassung umsehen, da ich mittlerweile während des Tages öfter wie zuvor Tasks für unterschiedliche Kunden, bzw. auch Änderungen an unserer internen Infrastruktur zu erledigen habe.
Bei der Recherche ist mir sofort das TimeTracking Tool Rachota aufgefallen, das zunächst als Java Anwendung einfach plattformübergreifend ist und somit auch ohne Umgewöhnung auf diversen Betriebssystemen in meinen VMs oder auch auf dem Netbook läuft.
Nebenbei bemerkt sogar auf einem USB Stick, sehr gut falls jemand oft an unterschiedlichen Arbeitsplätzen ohne Notebook etc. arbeitet.
Das Interface sieht auf den ersten Blick sehr schlicht aus, bietet aber nach etwas Einarbeitung und Anpassung der Default Konfiguration alle Funktionen, die ich brauche. Wichtig war mir in dem Fall, dass man eine beliebige Anzahl einzelner Projekte anlegen und priorisieren kann, und auch wiederkehrende Aufgaben definiert werden können.
Weniger ging es darum die tägliche Gesamt-Arbeitszeit auf die Sekunde genau erfassen zu können, was aber durchaus mit entsprechendem Aufwand auch ein Ziel der Anwendung sein kann wenn man möchte.
Dem interessierten Anwender liefert es z.B. auch eine „Analytics“ Funktion, mit der man seinen Arbeitsablauf optimieren kann.
Die erstellten Reports lassen sich sowohl im HTML und Textformat, als auch zur Weiterverarbeitung als CSV ausgeben.
In der kurzen Zeit konnte ich sicherlich nicht alles was die Software bietet perfekt ausnutzen, aber mir hat die tägliche Arbeit damit jedenfalls bisher gut gefallen, einen Blick ist das Programm auf jeden Fall wert.

Stefan Gundel
Stefan Gundel
Senior Systems Engineer

Stefan ist ein Urgestein bei NETWAYS und arbeitet im Managed Services Team. Der internationale Durchbruch gelang Stefan als Fotomodel für den K+K Warenkorb. Nachdem er einige Jahre exklusiv für unseren Kunden StayFriends gearbeitet hat, darf er nun endlich auch wieder in anderen Projekten mitarbeiten.

Netbook Speedup für Ubuntu LTS 12.04 „Precise Pangolin“


Vor ein paar Tagen habe ich mich getraut, mein Netbook mit Dualcore Intel Atom N550@1.50GHz auf die neue Ubuntu LTS 12.04 „Precise Pangolin“ upzugraden.
Schon zuvor hatte ich manchmal das Problem, daß die GUI teilweise hängenblieb, besonders beim Umschalten zwischen laufenden Programmen per Klick auf das jeweilige Symbol in der Unity Leiste.
Aber nach dem Upgrade war alles noch viel schlimmer und langsamer, so daß man den Eindruck hatte, der Rechner hat sich komplett aufgehängt. Abhilfe schaffte hier nur das Umschalten zwischen den einzelnen Programmen mittels ALT-TAB.
Als ich mir das dann mal in top angesehen habe (die „1“ gedrückt um alle CPUs aufzulisten), ist mir aufgefallen, daß da mittlerweile 4 CPUs angezeigt werden.
Mhh, das waren vorher nur 2 gewesen, ist wohl das Hyperthreading im Kernel aktiviert worden…
Unter dem vorinstallierten Windows7 Starter wurden da schon immer 4 CPUs angezeigt und im BIOS Setup war keine Option zum Abschalten von Hyperthreading zu finden.
Also kurz recherchiert und einen interessanten englischsprachigen Artikel gefunden, der sich genau nach meinem Problem angehört hat: Disabling Hyperthreading
Die Lösung war dann (in meinem Fall) wie angegeben:

echo 0 > /sys/devices/system/node/node0/cpu1/online
echo 0 > /sys/devices/system/node/node0/cpu3/online

Dann das ganze noch in die /etc/rc.local eintragen um es gleich beim Systemstart zu setzen.
Seitdem läuft das Netbook wieder 1a und die Hänger sind komplett weg.
Für Netbooks und andere „bare metal“ Systeme ist das folgende vielleicht auch hilfreich (weil Hyperthreading natürlich nicht in jedem Fall „böse“ ist):
Wenn man sich nicht sicher ist wie viele echte CPU Kerne man hat und vorher auf der Shell testen will ob Hyperthreading aktiviert ist, kann man auf der Kommandozeile auch folgende Befehlszeile eingeben:
(einfach copy&paste in der bash, getestet mit aktueller Debian und Ubuntu Distribution)

cat /proc/cpuinfo | \
egrep "siblings|cores" | \
sort | \
uniq | \
awk -F':' 'BEGIN{ORS=";";} {print $2}' | \
awk -F';' '{ if ($1 == $2) print "\nHT is not enabled\n"; \
else print "\nHT is enabled\n" }'

Ansonsten lief das Upgrade erstaunlich problemlos, alle Anwendungen die ich täglich verwende funktionieren genauso wie zuvor.
Wie immer gilt:
Dies ist ein Workaround, also am besten prüfen, ob diverse Änderungen nach Kernel-Updates und vor allem Distributions-Upgrades noch notwendig, oder vielleicht sogar kontraproduktiv sind.

Stefan Gundel
Stefan Gundel
Senior Systems Engineer

Stefan ist ein Urgestein bei NETWAYS und arbeitet im Managed Services Team. Der internationale Durchbruch gelang Stefan als Fotomodel für den K+K Warenkorb. Nachdem er einige Jahre exklusiv für unseren Kunden StayFriends gearbeitet hat, darf er nun endlich auch wieder in anderen Projekten mitarbeiten.

Mumble Voice Chat Software

Mumble Logo


Seit kurzem verwenden wir bei einem Kunden Mumble als Voicechat Konferenz Client im Produktivbetrieb. Dieses ersetzt dort Teamspeak2, das nun doch langsam in die Jahre gekommen ist.
Die Latenz ist bedeutend besser als bei Teamspeak2 und die Sprachqualität lässt auch nichts zu wünschen übrig. Man merkt das vor allem bei Verbindungen zu weiter entfernten Standorten wo die Verzögerungen bei Teamspeak2 teilweise unzumutbar sind.
Obwohl Mumble wie seinerzeit Teamspeak zunächst hauptsächlich von der Gamer-Gemeinde genutzt wurde, ist es also sehr wohl auch im professionellen Umfeld zuverlässig einsetzbar.
Mumble Client

Mumble Client


Es gibt bereits verschiedene alternative Skins für den Client und nach dem Konvertieren der alten Teamspeak Sounds von wav nach speex kann man diese auch in mumble (im Menü unter Konfiguration–>Nachrichten) integrieren. Für den Mumble Client gibt es eine Vielzahl von öffentlichen Servern, will man jedoch einen eigenen Chat Server betreiben muss man auch noch die Serverkomponente namens Murmur installieren.
Da beides, sowohl der Server als auch der Client wegen vieler Abhängigkeiten nicht ganz so einfach aus dem Source zu kompilieren ist, sollte man wenn möglich auf fertige Pakete der jeweiligen Distribution zurückgreifen.
Zum Beispiel kann man unter der aktuellen Linux Distribution Ubuntu 9.04 Jaunty sowohl den Client, als auch den Server einfach mit:
Client:

aptitude install mumble

Server:

aptitude install mumble-server

installieren.

Wer die gerade aktuelle stabile Version 1.1.8 verwenden möchte kann sie aus dieser zusätzlichen Paketquelle installieren:

deb http://ppa.launchpad.net/slicer/ppa/ubuntu jaunty main

Zuvor sollte der Schlüssel für das ppa installiert werden mit dem Befehl:


sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 165B2836

Mumble heist übrigens übersetzt murmeln bzw. undeutlich sprechen, was natürlich das genaue Gegenteil von dem ist was diese tolle Software an Sprachqualität liefert.
In diesem Sinne: Happy mumbling! 🙂

Stefan Gundel
Stefan Gundel
Senior Systems Engineer

Stefan ist ein Urgestein bei NETWAYS und arbeitet im Managed Services Team. Der internationale Durchbruch gelang Stefan als Fotomodel für den K+K Warenkorb. Nachdem er einige Jahre exklusiv für unseren Kunden StayFriends gearbeitet hat, darf er nun endlich auch wieder in anderen Projekten mitarbeiten.