Einfacher und eleganter als das XML zu editieren und dann zu reloaden ist direkt das Interface (in diesem Fall ein Bridge-Device) über libvirt hinzuzufügen:
virsh attach-interface domain-1-22 bridge br0
Einfacher und eleganter als das XML zu editieren und dann zu reloaden ist direkt das Interface (in diesem Fall ein Bridge-Device) über libvirt hinzuzufügen:
virsh attach-interface domain-1-22 bridge br0
Damit liest libvirt die entsprechende Beschreibungsdatei (ohne Neustart von libvirtd) erneut ein:
virsh define /etc/libvirt/qemu/domain-1-22.xml
Das nette an den vielen Nagios-Scripten ist, dass diese sich relativ einfach remote über SNMP überwachen lassen. Nagios verarbeitet nämlich am besten einzeilige Statusmeldungen. OpenNMS bzw. SNMP profitiert auch davon. Folgend eine Kurzanleitung für das Script check_drbd…
Langsam stehen einige Major-(Web-)Serverupdates an und ich überlege mittlerweile ernsthaft von Centos/RHEL auf Ubuntu Longterm umzusteigen. Auf dem Desktop habe ich Ubuntu schon lange, aber auch im Serverbereich möchte ich es mittlerweile an einigen Stellen nicht mehr missen. Nicht das ich besonders unzufrieden mit Centos/RHEL wäre. Eigentlich gar nicht. Es sind nur so ein paar Dinge die mich immer wieder zum Nachdenken bewegen:
Releasezyklus. Centos 5 ist bei Kernel 2.6.18, php 5.1, mysql 5.0. Klar, in den Centos Kernel werden viele wichtige Features gebackported. Wie z.B. letztens bei Centos 5.4 die virtio-Unterstützung für KVM. Nativ gab es diese aber schon im 2.6.24 (Januar 2008). Wann Centos 6 kommt steht noch in den Sternen (sehr wahrscheinlich jedoch dieses Jahr). Ubuntu hat einen festen Releasezyklus und ich wusste schon seit vielen Monaten dass Ende April die neue Long-Term Version erscheint. Also zumindest gut planbar.
Major-Relase Updates. Mit yum als Paketmanager gibt es (meines Wissens) keinen offiziellen Weg. Apt hat kein Problem damit.
Support. Vorteil Centos: Viele große Hardwarehersteller unterstützen RHEL mit Treibern. Da Centos Binary-Compatible ist profitiert man also davon. Docs/Community: Mag lächerlich klingen: Meistens muss ich doppelt googlen: Erst nach “centos” dann nach “rhel”. Ubuntu hat eine gebündelte Community. Launchpad tut das übrige (s.u.).
Externe Repositories. Klar, für Centos gibt es auch irgendwo alles. Sei es neuere snmpd-Versionen oder syslog-ng. Aber halt meistens an verschiedenen Stellen. Was ich an Ubuntu sehr genial finde ist Launchpad. Launchpad hat mit Sicherheit einen großen Anteil am Erfolg Ubuntus. Es ist quasi alles in einem: Bugtracker, Mailingliste, Build-System und vor allem Repository. Und am Rande erwähnt: Mit einer vorbildlichen Usability und Optik ;). BTW: Launchpad lässt sich nicht nur für Ubuntu-Projekte nutzen.
Eines ist mir wohl bewusst: Einen klaren Sieger gibt es niemals. Es ist immer nur eine Abwägung und letztendlich eine eher subjektive Entscheidung. Wie schon anfangs erwähnt laufen einige Management-Maschinen unter Ubuntu. Sei es iSCSI, drbd oder das neueste von KVM – es hat schon Vorteile problemlos mit aktuellen Versionen arbeiten zu können…
Ob dieser Schritt letztendlich auch für die Masse der Webserver genommen wird ist noch nicht entschieden. Denn eines ist auch klar: Centos hat dort noch nie enttäuscht und das neueste vom neuen brauche ich dort eigentlich nicht. Aber eine neuere PHP oder MySQL Version wäre andererseits doch schön… So ist es halt: Never ending story…
Was ich immer schon mal schreiben wollte: Seit ein paar Monaten hilft mir das Repository von Daniel Baumann das jeweils neueste aus der qemu-kvm Welt (produktiv) unter Ubuntu zu nutzen. Daneben gibt es auch aktuelle Versionen von libvirt und virt-manager.
Beeindruckend stabil das ganze.
Hatte ich früher oft im Einsatz – ist aber irgendwie in Vergessenheit geraten: Multitail. Es bietet nicht nur farbige Syslogausgabe sondern auch viele nette Features: mehrere Fenster, Suche, Markierungen, Alerts – um nur die wichtigsten zu nennen. Bei Debian ist es im Paketmanager, für Redhat/Centos gibt es Pakete bei Dag Wieers.
Zugegeben: Für die schnelle Analyse zwischendurch (“tail -f”) ist mir die Bedienung etwas zu gewöhnungsbedürftig. Für bestimmte Logausgaben (welche z.B. dauerhaft in einem Screen laufen) ist es genial.
Wer sich wundert, warum er am ersten Sonntag im Monat ganz früh morgens aus dem Bett geklingelt wird, hat vermutlich ein Debian oder Ubuntu System und Probleme mit dem Soft-Raid.
Auf diesen Systemen führt cron um 00:57 (wie gesagt nur am ersten Sonntag im Monat) einen Check der Soft-Raid Partitionen durch. Eine wichtige Maßnahme – werden dadurch doch recht früh Fehler am IO-System (Bad Blocks etc.) aufgedeckt (und nicht erst wenn es zu spät ist).
md: data-check of RAID array md0
md: minimum _guaranteed_ speed: 1000 KB/sec/disk.
md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
md: using 128k window, over a total of 48829440 blocks.
BTW: Bei RedHat/Centos wird der gleiche Check über cron.weekly (jeden Sonntag 4:22) ausgeführt. Manuall triggert man einen solchen Check über:
echo check > /sys/block/md0/md/sync_action
Wenn das System mal Amok läuft und selbst “kill -9” nicht weiterhilft, ist die letzte Hoffnung meist “reboot”. Allerdings versucht das System dann natürlich “ordentlich” herunterzufahren – also z.B. die erst die shutdown-Scripte auszuführen und erst dann zu rebooten.
Wenn die shutdown-Scripte selbst auch hängen bleiben hilft dann:
reboot -f
Dann wird ohne Verzögerung der Soft-Reset ausgelöst. Ob das System auch wieder hochfährt ist eine andere Frage ;)
Wegen unzureichender Zugriffsrechte kann der SNMP-Daemon die NIC-Geschwindigkeit nicht auslesen und setzt sie (merkwürdigerweise) auf 10MBit (10000000). Der Bug ist auch schon etwas älter. Ohne jetzt lange gesucht zu haben lasse ich snmpd einfach als root laufen (RedHat macht das ja auch ;)) – dann werden die Werte wenigstens richtig ausgelesen.
Die aktuelle Verbindungsgeschwindigkeit von Netzwerkinterfaces korrekt per SNMP auszulesen hat mir schon öfters Nerven gekostet: Hin und wieder taucht das Problem mit den 10MBit auch bei Bonding-Interfaces auf (z.B. bei der Astaro-Firewall).
Vor Jahren habe ich für Cacti ein Script geschrieben welches MySQL-Informationen über eine native MySQL-Verbindung ausliest und anzeigt. Jetzt wollte ich das selbe Script eigentlich fit für OpenNMS bzw. SNMP machen.
Die Arbeit kann ich mir zum Glück sparen. Es gibt mittlerweile einen eleganteren Ansatz: mysql-snmp (Projektseite).
Für OpenNMS User wird anscheinend sogar schon die fertige Konfiguration mitgeliefert. Ausprobiert habe ich das ganze noch nicht – werde ich aber sicher sehr bald ;)