Nun setze ich btsync schon seit einigen Wochen ein und muss sagen, dass ich sehr zufrieden damit bin. Mit der ersten öffentlichen Version gab es immer mal wieder CRC Fehler bei den Dateien, seit der neuen Version (1.0.134) ist dies aber nicht mehr aufgetaucht. Der Raspberry Pi ist dafür eine ideale Plattform, auch wenn die Geschwindigkeit beim syncen nicht besonders hoch ist. Ich nutze als Sync Device einfach einen USB Stick, wodurch nicht ständig eine externe HD laufen muss. Bisher eine der besten und einfachsten Lösungen um Daten automatisch zu syncen ohne auf fremdgehostete tools zurückgreifen zu müssen. Ja, rsync ist auch gut hat aber hat bei mir ein ganz anderes Einsatzszenario.
Kategorie: .
Notiz: Pacemaker resource disable migration
$ crm ra info pengine ... is-managed-default (boolean, [true]): Should the cluster start/stop resources as required maintenance-mode (boolean, [false]): Should the cluster monitor resources and start/stop them as required
Ein kleiner Unterschied, aber nur ein kleiner.
Damit setzen wir den Cluster in den Maintenance Mode:
$ crm configure property maintenance-mode=true
Link:
http://oss.clusterlabs.org/pipermail/pacemaker/2011-March/009429.html
Probleme nach libvirt Update
Sollte man bei KVM mit Portweiterleitung für VMs (z.B. iptables -t nat -A PREROUTING -p tcp -d 123.123.123.123 –dport 1234 -j DNAT –to-destination 192.168.99.99:22) arbeiten und folgende Debian Updates eingespielt haben:
[UPGRADE] libvirt-bin 0.8.3-5+squeeze2 -> 0.8.3-5+squeeze5
[UPGRADE] libvirt0 0.8.3-5+squeeze2 -> 0.8.3-5+squeeze5
[UPGRADE] python-libvirt 0.8.3-5+squeeze2 -> 0.8.3-5+squeeze5
Nach dem Einspielen aber bemerkt haben man , dass die Portweiterleitung nicht mehr funktioniert und man auch durch erneutes Eintragen der iptables/routing oder was auch immer für Regeln keinen Erfolgt erzielt, dann könnte tatsächlich ein Reboot des Hosts helfen.
Civilization das Brettspiel
Ende letzten Jahres habe ich mich etwas ausführlicher mit Brettspielen beschäftigt. Dabei raus gekommen ist, dass ich mir fast „Twilight Imperium“ gekauft hätte, mir schließlich „Twilight Imperium: Rex“ und „Civilization“ inklusive Erweiterung gekauft habe, „Der Ringkrieg“ als Weihnachtsgeschenk bekommen habe und etliche Stunden mit Lesen von Anleitungen und Forendiskussionen beschäftigt war.
Nun haben wir letzten Samstag „mal wieder“ Civilization gespielt. Gebraucht haben wir mit vier Personen ca. 6 Stunden, ohne größere Pause. Die Spieler kannten das Spiel größtenteils und längere Regelerklärungen vorab gab es nicht. Mir hat das Spiel sehr, sehr (sehr) viel Spaß gemacht, ich hoffe den anderen auch, aber ich denke schon. Anfangs muss man sich auf ein paar Regelauslegungen einigen damit es später nicht zu Unklarheiten und Frustration kommt. Unklarheiten und unterschiedliche Regelauslegungen wird es trotzdem geben, da kommt man eigentlich nicht dran vorbei. Wichtig dabei ist eine logische Argumentation für die Auslegung zu finden, die auch aus den offiziellen Regeln ableitbar ist. Weltwunder wurden eigentlich komplett ignoriert, und bis auf Silvia hat eigentlich niemand eins gekauft. Silvia hat gewonnen…
Es gab ein ziemliches Kopf an Kopf rennen zwischen Kultur- und Militärsieg. Auch mein Versuch, kurz vor Ende, Silvias Siegeszug mit einer atomaren Vernichtung einer Ihrer Städte aufzuhalten, verlief fruchtlos. Silvias Kultursieg konnte nicht mehr aufgehalten werden. Civilization ist ein Spiel, welches sein Potential erst nach einigen Spielen entfaltet. Mögen die ersten Versuche noch etwas verwirrend und chaotisch sein, so wird es mit jedem Spiel besser und besser. Ich freue mich schon auf das nächste Spiel. Vielleicht auch bald mit der Erweiterung. Eine feste Spielerrunde ist sicherlich vorteilhaft.
Ein paar Hinweise zum Spielen
- Hab Spaß am Spiel – das ist die wichtigste Regel
Geh positiv in das Spiel und lass Dich drauf ein. Verderbe den anderen Spielern nicht das Spiel. - Der Ort muss stimmen.
Achte darauf, dass genügend Platz vorhanden ist. Gedränge an kleinen Tischen mag niemand. - Spiele kein langes Spiel wenn Dir die Zeit fehlt
Fang kein Spiel an wo abzusehen ist, dass dir die Zeit fehlt es zu Ende zu spielen. - Halte Dich an die Regeln und kläre so weit möglich alles am Anfang des Spiels
Nichts ist frustrierender als nervige Regeldiskussionen mitten im Spiel. Also lese selbst und höre beim Erklären zu. - Spielzeit ist Spielzeit und nicht für andere Dinge gedacht
Verzichte auf Telefonate oder Diskussionen über Gott und die Welt, bleib beim Spiel. - You’re not out until you’re out!
Egal wie die Situation ist, bleib dabei und mach das Beste daraus. Da ist Civilization ein gutes Beispiel für. - Wenn Dir das Spiel vorher schon nicht gefällt, lass es
Kläre vorher ob das Spiel etwas für Dich ist. Ansonsten nimmst Du allen anderen den Spaß am Spiel.
Ich habe das frei aus den Regeln von boardgamegeek interpretiert und angepasst. Die sind natürlich etwas ausführlicher.
Links:
http://www.brettspiele-report.de/civilization-das-brettspiel/
http://www.spiele-akademie.de/sid-meiers-civilization-das-brettspiel/
Livestream der ARD und Ubuntu 12.04
Die ARD hat ja nun bekannter weise einen Livestream bzw. http://m.daserste.de/#live. Leider läuft dieser Livestream bei mir nicht unter Ubuntu 12.04 (32/64bit ) mit Firefox und der Flashplayer Version 11.2.202.258. Mit Chrome und 11.5.31.5 als Version läuft es problemlos. Falls ihr auch betroffen seid, mailt am besten an daserstemediathek@DasErste.de und macht auf das Problem aufmerksam, je mehr desto besser. Informationen zum Problem findet man auch bei linuxundich, dort wird auch gezeigt wie man mplayer & co zum abspielen nutzen kann. Natürlich wird nicht alles live gestreamt, das wäre auch zu einfach.
Mulitcasting Pacemaker
„Wenn sich mehrere HA-Cluster im selben Netz befinden müssen die mulitcast-adressen und multicast-ports aller cluster/clustermember unterschiedlich sein.“
http://www.borgmann.tv/pages/startseite/linux-zeug/howto-linux-ha-cluster.php
The multicast addresses are in the range 224.0.0.0 through 239.255.255.255. Address assignments are listed below.
The range of addresses between 224.0.0.0 and 224.0.0.255, inclusive, is reserved for the use of routing protocols and other low-level topology discovery or maintenance protocols, such as gateway discovery and group membership reporting.
http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml
Links:
http://www.hastexo.com/resources/hints-and-kinks/whats-totem-retransmit-list-all-about-corosync
Centreon mit Ubuntu 12.04…einige Hinweise
Meiner Meinung nach ist Centreon immer noch eines der besten Tools um den Funktionsumfang von Nagios zu erweitern und die Konfiguration zu vereinfachen. Im Einsatz habe ich Centreon nun schon seit über vier Jahren und bin durchweg zufrieden. Leider ist die Installation unter Ubuntu 12.04 eine große Frickelei. Mit Debian war es in meiner Erinnerung deutlich einfacher. Ich fasse mal ein paar Tipps zusammen. Ich habe bewusst versucht Nagios & Co aus den Ubuntu Quellen zu nehmen und nichts von „außerhalb“ zu installieren. Ein how to wie man Nagios und Centreon eigenständig installiert findet man hier und hier (der link ist zur zeit broken…mal abwarten gestern ging er noch). Will man sich wenig Arbeit machen, kann man auch einfach zum FAN Projekt (fully automated nagios) greifen. Icinga habe ich vor längerer Zeit mal installiert, konnte mich aber damals nicht überzeugen, eventuell ist die aktuelle Versionen besser. OMD habe ich mir noch nicht angeschaut, zweifel aber generell an der Beständigkeit von solchen Projekten.
Sicherlich habe ich irgendwelche Punkte und Pakete übersehen….aber dies ist kein how to.
Fangen wir mit ein paar Paketen an
aptitude install mysql-server nagios3 nagios-plugins aptitude install librrds-perl rrdtool php-pear ndoutils-nagios3-mysql sysutils lsb-release snmp libnet-snmp-perl libsnmp-perl libgd2-xpm libgd2-xpm-dev libpng12-dev
Persönlich würde ich noch phpmyadmin installieren.
Dann schauen wir erst mal ob Nagios überhaupt läuft. Bei mir lief es nicht („error: Could not stat() command file“) und ich musste
chmod g+x /var/lib/nagios3/rw
ausführen. Hinweise gab es hier.
Sobald alles läuft machen wir uns daran Centreon zu installieren:
wget http://download.centreon.com/centreon/centreon-2.3.9.tar.gz
Auspacken usw.
./install.sh -i
blabla und dann
------------------------------------------------------------------------ Please choose what you want to install ------------------------------------------------------------------------ Do you want to install : Centreon Web Front [y/n], default to [n]: > y Do you want to install : Centreon CentCore [y/n], default to [n]: > y Do you want to install : Centreon Nagios Plugins [y/n], default to [n]: > y Do you want to install : Centreon Snmp Traps process [y/n], default to [n]: > n ------------------------------------------------------------------------ Start CentWeb Installation ------------------------------------------------------------------------ Where is your Centreon directory? default to [/usr/local/centreon] > Do you want me to create this directory ? [/usr/local/centreon] [y/n], default to [n]: > Directory /usr/local/centreon does not exists. CRITICAL Where is your Centreon directory? default to [/usr/local/centreon] > Do you want me to create this directory ? [/usr/local/centreon] [y/n], default to [n]: > y Path /usr/local/centreon OK Where is your Centreon log directory default to [/usr/local/centreon/log] > Do you want me to create this directory ? [/usr/local/centreon/log] [y/n], default to [n]: > y Path /usr/local/centreon/log OK Where is your Centreon etc directory default to [/etc/centreon] > Do you want me to create this directory ? [/etc/centreon] [y/n], default to [n]: > y Path /etc/centreon OK Where is your Centreon generation_files directory? default to [/usr/local/centreon] > Path /usr/local/centreon OK Where is your Centreon variable library directory? default to [/var/lib/centreon] > Do you want me to create this directory ? [/var/lib/centreon] [y/n], default to [n]: > y Path /var/lib/centreon OK Where is your CentPlugins Traps binary default to [/usr/local/centreon/bin] > Do you want me to create this directory ? [/usr/local/centreon/bin] [y/n], default to [n]: > y Path /usr/local/centreon/bin OK Where is the RRD perl module installed [RRDs.pm] default to [/usr/lib/perl5/RRDs.pm] > Path /usr/lib/perl5 OK /usr/bin/rrdtool OK /usr/bin/mail OK Where is PEAR [PEAR.php] default to [/usr/share/php/PEAR.php] > Path /usr/share/php OK Where is installed Nagios ? default to [/usr/local/nagios] > /usr/lib/cgi-bin/nagios3 Path /usr/lib/cgi-bin/nagios3 OK Where is your nagios config directory default to [/usr/local/nagios/etc] > /etc/nagios3 Path /etc/nagios3 OK Where is your Nagios var directory ? default to [/usr/local/nagios/var] > /var/lib/nagios3 Path /var/lib/nagios3 OK Where is your Nagios plugins (libexec) directory ? default to [/usr/local/nagios/libexec] > /usr/lib/nagios/plugins Path /usr/lib/nagios/plugins OK /usr/sbin/nagios3 OK Where is your Nagios image directory ? default to [/usr/local/nagios/share/images/logos] > /usr/share/nagios/htdocs/images/logos Path /usr/share/nagios/htdocs/images/logos OK /usr/sbin/nagios3stats OK p1_file : /usr/lib/nagios3/p1.pl OK /usr/bin/php OK /usr/bin/perl OK Finding Apache group : www-data Finding Apache user : www-data Finding Nagios user : nagios Finding Nagios group : nagios Where is your NDO ndomod binary ? default to [/usr/sbin/ndomod.o] > /usr/lib/ndoutils/ndomod-mysql-3x.o /usr/lib/ndoutils/ndomod-mysql-3x.o OK ------------------------------------------------------------------------ Configure Sudo ------------------------------------------------------------------------ Where is sudo configuration file default to [/etc/sudoers] > /etc/sudoers OK Nagios init script OK Your sudo is not configured Do you want me to configure your sudo ? (WARNING) [y/n], default to [n]: > y Configuring Sudo OK ------------------------------------------------------------------------ Configure Apache server ------------------------------------------------------------------------ Do you want to add Centreon Apache sub configuration file ? [y/n], default to [n]: > y Create '/etc/apache2/conf.d/centreon.conf' OK Configuring Apache OK Do you want to reload your Apache ? [y/n], default to [n]: > y Reloading Apache service OK Preparing Centreon temporary files Change right on /usr/local/centreon/log OK Change right on /etc/centreon OK Change right on /usr/share/nagios/htdocs/images/logos OK Install nagios documentation OK Change macros for insertBaseConf.sql OK Change macros for php files OK Change right on /etc/nagios3 OK Copy CentWeb in system directory Install CentWeb (web front of centreon) OK Install libraries OK Copying libinstall OK Change macros for centreon.cron OK Install Centreon cron.d file OK Change macros for centAcl.php OK Change macros for downtimeManager.php OK Change macros for eventReportBuilder.pl OK Change macros for dashboardBuilder.pl OK Install cron directory OK Change right for eventReportBuilder.pl OK Change right for dashboardBuilder.pl OK ------------------------------------------------------------------------ Pear Modules ------------------------------------------------------------------------ Check PEAR modules PEAR 1.4.9 1.9.4 OK DB 1.7.6 NOK DB_DataObject 1.8.4 NOK DB_DataObject_FormBuilder 1.0.0RC4 NOK MDB2 2.0.0 NOK Date 1.4.6 NOK HTML_Common 1.2.2 NOK HTML_QuickForm 3.2.5 NOK HTML_QuickForm_advmultiselect 1.1.0 NOK HTML_Table 1.6.1 NOK Archive_Tar 1.1 1.3.7 OK Auth_SASL 1.0.1 NOK Console_Getopt 1.2 1.3.0 OK Net_SMTP 1.2.8 NOK Net_Socket 1.0.1 NOK Net_Traceroute 0.21 NOK Net_Ping 2.4.1 NOK Validate 0.6.2 NOK XML_RPC 1.4.5 NOK SOAP 0.10.1 NOK Log 1.9.11 NOK Archive_Zip 0.1.2 NOK Do you want me to install/upgrade your PEAR modules [y/n], default to [y]: > y Upgrading PEAR modules Installing PEAR modules DB 1.7.6 1.7.14 OK DB_DataObject 1.8.4 1.10.0 OK DB_DataObject_FormBuilder 1.0.0RC4 1.0.2 OK MDB2 2.0.0 2.4.1 OK HTML_QuickForm_advmultiselect 1.1.0 1.5.1 OK HTML_Table 1.6.1 1.8.3 OK Auth_SASL 1.0.1 1.0.6 OK Net_SMTP 1.2.8 1.6.1 OK Net_Traceroute 0.21 0.21.3 OK Net_Ping 2.4.1 2.4.5 OK Validate 0.6.2 0.8.5 OK XML_RPC 1.4.5 1.5.5 OK SOAP 0.10.1 0.13.0 OK Log 1.9.11 1.12.7 OK Archive_Zip 0.1.2 0.1.2 OK Check PEAR modules PEAR 1.4.9 1.9.4 OK DB 1.7.6 1.7.14 OK DB_DataObject 1.8.4 1.10.0 OK DB_DataObject_FormBuilder 1.0.0RC4 1.0.2 OK MDB2 2.0.0 2.4.1 OK Date 1.4.6 1.4.7 OK HTML_Common 1.2.2 1.2.5 OK HTML_QuickForm 3.2.5 3.2.13 OK HTML_QuickForm_advmultiselect 1.1.0 1.5.1 OK HTML_Table 1.6.1 1.8.3 OK Archive_Tar 1.1 1.3.7 OK Auth_SASL 1.0.1 1.0.6 OK Console_Getopt 1.2 1.3.0 OK Net_SMTP 1.2.8 1.6.1 OK Net_Socket 1.0.1 1.0.10 OK Net_Traceroute 0.21 0.21.3 OK Net_Ping 2.4.1 2.4.5 OK Validate 0.6.2 0.8.5 OK XML_RPC 1.4.5 1.5.5 OK SOAP 0.10.1 0.13.0 OK Log 1.9.11 1.12.7 OK Archive_Zip 0.1.2 0.1.2 OK All PEAR modules OK ------------------------------------------------------------------------ Centreon Post Install ------------------------------------------------------------------------ Create /usr/local/centreon/www/install/install.conf.php OK Create /etc/centreon/instCentWeb.conf OK ------------------------------------------------------------------------ Start CentStorage Installation ------------------------------------------------------------------------ Where is your Centreon Run Dir directory? default to [/var/run/centreon] > Do you want me to create this directory ? [/var/run/centreon] [y/n], default to [n]: > y Path /var/run/centreon OK Where is your CentStorage binary directory default to [/usr/local/centreon/bin] > Path /usr/local/centreon/bin OK Where is your CentStorage RRD directory default to [/var/lib/centreon] > Path /var/lib/centreon OK Finding Nagios group : nagios Finding Nagios user : nagios Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... install www/install/createTablesCentstorage.sql OK Creating Centreon Directory '/var/lib/centreon/status' OK Creating Centreon Directory '/var/lib/centreon/metrics' OK Change macros for centstorage binary OK Install CentStorage binary OK Install library for centstorage OK Change right : /var/run/centreon OK Change macros for centstorage init script OK Do you want me to install CentStorage init script ? [y/n], default to [n]: > y CentStorage init script installed OK Do you want me to install CentStorage run level ? [y/n], default to [n]: > y update-rc.d: warning: /etc/init.d/centstorage missing LSB information update-rc.d: see <http://wiki.debian.org/LSBInitScripts> Adding system startup for /etc/init.d/centstorage ... /etc/rc0.d/K30centstorage -> ../init.d/centstorage /etc/rc1.d/K30centstorage -> ../init.d/centstorage /etc/rc6.d/K30centstorage -> ../init.d/centstorage /etc/rc2.d/S40centstorage -> ../init.d/centstorage /etc/rc3.d/S40centstorage -> ../init.d/centstorage /etc/rc4.d/S40centstorage -> ../init.d/centstorage /etc/rc5.d/S40centstorage -> ../init.d/centstorage Configuration file /etc/centreon/conf.pm not found. Exiting. CentStorage stop FAIL Change macros for logAnalyser OK Install logAnalyser OK Change macros for nagiosPerfTrace OK Install nagiosPerfTrace OK Change macros for purgeLogs OK Install purgeLogs OK Change macros for purgeCentstorage OK Install purgeCentstorage OK Change macros for centreonPurge.sh OK Install centreonPurge.sh OK Change macros for centstorage.cron OK Install CentStorage cron OK Create /etc/centreon/instCentStorage.conf OK ------------------------------------------------------------------------ Start CentCore Installation ------------------------------------------------------------------------ Where is your CentCore binary directory default to [/usr/local/centreon/bin] > Path /usr/local/centreon/bin OK /usr/bin/ssh OK /usr/bin/scp OK Finding Nagios group : nagios Finding Nagios user : nagios Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... Change CentCore Macro OK Copy CentCore in binary directory OK Change right : /var/run/centreon OK Change right : /var/lib/centreon OK Replace CentCore init script Macro OK Do you want me to install CentCore init script ? [y/n], default to [n]: > y CentCore init script installed OK Do you want me to install CentCore run level ? [y/n], default to [n]: > y update-rc.d: warning: /etc/init.d/centcore missing LSB information update-rc.d: see <http://wiki.debian.org/LSBInitScripts> Adding system startup for /etc/init.d/centcore ... /etc/rc0.d/K30centcore -> ../init.d/centcore /etc/rc1.d/K30centcore -> ../init.d/centcore /etc/rc6.d/K30centcore -> ../init.d/centcore /etc/rc2.d/S40centcore -> ../init.d/centcore /etc/rc3.d/S40centcore -> ../init.d/centcore /etc/rc4.d/S40centcore -> ../init.d/centcore /etc/rc5.d/S40centcore -> ../init.d/centcore Create /etc/centreon/instCentCore.conf OK ------------------------------------------------------------------------ Start CentPlugins Installation ------------------------------------------------------------------------ Where is your CentPlugins lib directory default to [/var/lib/centreon/centplugins] > Where is your CentPlugins lib directory default to [/var/lib/centreon/centplugins] > Do you want me to create this directory ? [/var/lib/centreon/centplugins] [y/n], default to [n]: > y Path /var/lib/centreon/centplugins OK Finding Nagios user : nagios Finding Nagios group : nagios Preparing Centreon temporary files /tmp/centreon-setup exists, it will be moved... Change macros for CentPlugins OK Installing the plugins OK Change right on centreon.conf OK CentPlugins is installed Create /etc/centreon/instCentPlugins.conf OK
Danach führt man den Rest der Installation via Webinterface durch.
Nun schaut man ob die beiden Prozesse
/usr/bin/perl -w /usr/local/centreon/bin/centcore
und
/usr/bin/perl -w /usr/local/centreon/bin/centstorage
laufen. Tun sie das nicht, versucht man sie via
/etc/init.d/centcore start /etc/init.d/centstorage start
zu starten. Funktioniert das nicht, liegt es eventuell daran, dass der nagios User keine shell hat. Also ändert man in der /etc/passwd/ beim user nagios das /bin/false auf /bin/sh. Nun sollte man die beiden Prozesse starten können.
Ganz am Ende habe ich nochmal ein
./install.sh -u /etc/centreon
ausgeführt. Das braucht man eigentlich nicht, aber erst danach wurden erst alle checks bei Centreon angezeigt, vorher hatte ich nur eine sehr kleine Auswahl an checks. „Service Performance Data File“ sollte eventuell noch in Centreon konfiguriert werden um Performancedaten darstellen zu können (das ist aber eine andere Geschichte und soll ein anderes mal erzählt werden).
Ich empfehle immer gleichzeitig eine zweite Testmaschine aufzusetzen, so kann man Updates testen und hat eine gewisse Redundanz für den Notfall.
Ich bin für jede Verbesserung offen ;-).
Update 1: Als System kam ein 32bit 12.04 Ubuntu unter KVM zum Einsatz.
Update 2: den „Physical HTML Path“ in der CGI.cfg in centreon anpassen zu /usr/share/nagios3/htdocs un den URL HTML Path zu /nagios3
Update 3: adduser www-data nagios ist nötig falls ein „Error: Could not read object configuration data!“ beim Aufruf von Nagios erscheint
Update 4: secure_path in /etc/sudoers anpassen bzw. auskommentieren (achtung!)
owncloud
Eigentlich recht hoffnungsvoll angefangen das Projekt. Nun wollte ich heute eigentlich zum ersten mal nach langer Zeit Owncloud zum sharen von 3-4 Dateien nutzen und nichts hat funktioniert. Ich konnte zwar einen zweiten Benutzer anlegen usw. aber es war nicht möglich, dass dieser Benutzer den „Shared“ Ordner mit den Freigaben öffnen konnte. Tatsächlich war „Shared“ auch ein File und kein Order auf Dateiebene. Natürlich habe ich 4.5.1 und 4.0.8 getestet und sogar neu installiert, aber keine Chance. Bei einer 4er Version habe ich keine Lust nach Fehlern zu suchen, also werde ich meine Ownlcoud Installationen wieder runter werfen.
Galera Cluster mit Ubuntu 12.04 64bit und MySQL 5.5 – Teil 3 IP Failover
Nun haben wir unseren 4 Node Mysql Galera Cluster (hier sollte man besser eine ungerade Zahl wählen, wegen des Quorum Problems). Wir haben auch einen Loadbalancer auf 2 VMs laufen. Nun wollen wir aber noch einen IP Failover haben, falls eine der LB VMs ausfällt, sei es geplant oder ungeplant. Pacemaker ist meiner Meinung nach ein fantastisches Stück Software. Basis Funktionen, wie IP Failover bekommt man relativ unkompliziert ans Laufen, will man jedoch etwas mehr, wird schnell klar, wie komplex Pacemaker/Corosync ist, aber auch welche sinnvollen Funktionen zur Verfügung stehen. Ich beschränke mich auf das Nötigste, weil ich 1. noch nicht mehr weiß und 2. es für mein Projekt vollkommen ausreicht. Die Links am Ende sollte man sich auf jeden Fall anschauen, ich verspreche es lohnt sich. Ich spare mir in die Tiefe zu gehen, da die angefügten Links eigentlich alles erklären und dies deutlich besser tun, als ich es hier kurz zusammenfassen kann.
Fangen wir also mit den Zutaten an:
- 3 IPs
- 2 Server minimum (lb1, lb2)
- Zeit
Nun gehen wir auf einen der Server, nehmen wir lb1:
aptitude install pacemaker
Danach passen wir /etc/corosync/corosync.conf an:
interface { # The following values need to be set based on your environment ringnumber: 0 bindnetaddr: 123.123.123.0 mcastaddr: 226.94.1.1 mcastport: 5405 }
Wobei bindnetaddr ein Netz angibt und keine Rechneradresse. Danach führen wir
corosync-keygen
aus. Das dauert etwas und kann durch etwas i/o beschleunigt werden. Danach
chown root:root /etc/corosync/authkey chmod 400 /etc/corosync/authkey scp /etc/corosync/authkey lb2:/etc/corosync/authkey /etc/init.d/corosync start
Sollte corosync seltsamerweise nicht starten, hat bei mir bei ein reboot geholfen. Wo der Fehler dabei lag, kann ich nicht sagen. Schauen wir uns erst mal den aktuellen Zustand an
crm_mon --one-shot -V
Dabei sollte nicht viel erscheinen.
Legen wir also unsere erste Ressource an:
crm configure primitive FAILOVER-ADDR ocf:heartbeat:IPaddr2 params ip="123.123.123.123" nic="eth0" op monitor interval="10s" meta is-managed="true"
Wobei 123.123.123.123 hier die Cluster IP ist.
Stonit und Quorum brauchen wir bei zwei Hosts eigentlich nicht, besonders wenn beide Maschinen auf gleicher Hardware virtualisiert sind ;-).
crm configure property stonith-enabled=false crm configure property no-quorum-policy=ignore
Soll die IP automatisch wieder auf den aktiven Host zurückspringen oder beim aktuellen bleiben?
crm_attribute --type rsc_defaults --attr-name resource-stickiness --attr-value 100
default-resource-stickiness=100 ist vergleichbar mit autofailback=false. Default ist der Wert auf 0 gesetzt, bedeutet die Ressource, bei uns FAILOVER-ADDR, springt automatisch wieder auf den ursprünglichen Host zurück, sobald dieser verfügbar, bzw. Pacemaker gestartet ist.
Das Thema mit der Stickiness ist etwas komplexer, daher verweise ich auf diesen Link, wo der Punkt ausführlich erklärt wird. Der Punkt ist sehr wichtig, da man eventuell nicht immer will, dass die IP sofort wieder auf den Host zurückspringt der z. B. grad rebootet werden musste.
Verschiebt man die IP jedoch von Hand, setzt Pacemaker eine Location Regel für den jeweiligen Host
crm configure show ... location cli-prefer-FAILOVER-ADDR FAILOVER-ADDR \ rule $id="cli-prefer-rule-FAILOVER-ADDR" inf: #uname eq lb1 ...
Diese muss man dann von Hand wieder löschen. Ansonsten wird die Ressource wieder auf den node aus der Location Regel springen, wenn dieser verfügbar ist.
Ein
crm resource unmigrate FAILOVER-ADDR
Löscht die Location Regel.
Mit
crm configure show
können wir uns die Konfiguration anzeigen lassen. Und mit
crm_mon --one-shot -V
sehen wir den aktuellen Zustand unseres Pacemaker Systems
crm_mon --one-shot -V ============ Last updated: Fri Nov 2 14:09:16 2012 Last change: Mon Sep 10 13:34:26 2012 via crm_attribute on lb1 Stack: openais Current DC: lb1 - partition with quorum Version: 1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c 2 Nodes configured, 2 expected votes 2 Resources configured. ============ Online: [ lb1 lb2 ] Resource Group: Balancer FAILOVER-ADDR (ocf::heartbeat:IPaddr2): Started lb1 GLBD (lsb:glbd): Started lb1
Nun testen wir mit
crm resource migrate FAILOVER-ADDR lb2
Ob sich unsere Ressource verschieben lässt. Danach sollte in etwa folgendes erscheinen:
crm_mon --one-shot -V ============ Last updated: Fri Nov 2 14:15:16 2012 Last change: Fri Nov 2 14:15:12 2012 via crm_resource on lb1 Stack: openais Current DC: lb1galera - partition with quorum Version: 1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c 2 Nodes configured, 2 expected votes 2 Resources configured. ============ Online: [ lb1 lb2 ] Resource Group: Balancer FAILOVER-ADDR (ocf::heartbeat:IPaddr2): Started lb2 GLBD (lsb:glbd): Started lb2
Unsere FAILOVER-ADDR Ressource wurde also erfolgreich auf lb2 migriert. Mit dem Befehl
ip addr show
auf beiden Maschinen, können wir das nochmal unabhängig von Pacemaker überprüfen.
Dies GLBD, was erscheint, kann vorerst ignoriert werden. GLBD ist bei mir der MySQL Loadbalancer, der mit FAILOVER-ADDR zu der Gruppe „Balancer“ hinzugefügt wurde. Wie man den glbd Loadbalancer mit in das Konstrukt aufnimmt, schreibe ich dann hoffentlich in Teil 4 (Pacemaker, Loadbalancer und Nagios) .
Pacemaker bitte eine ganze Reihe von praktischen Befehlen, Funktionen und Möglichkeiten zum anpassen der Konfiguration. Ich spare mir das mal alles und verweise auf die Links am Ende und auf google.
Link zu Teil 1:
http://exdc.net/2012/08/15/galera-cluster-mit-ubuntu-12-04-64bit-und-mysql-5-5-teil-2-loadbalancerproxy/
Links, die man sich auf jeden Fall anschauen will:
http://earlruby.org/corosync-pacemaker-notes/
http://blog.foaa.de/2010/10/intro-to-pacemaker-on-heartbeat/
http://blog.foaa.de/2010/10/intro-to-pacemaker-part-2-advanced-topics/
http://www.clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/
http://wiki.techstories.de/display/IT/Pacemaker+HA-Cluster+Schulung+GFU+Koeln
update:
glbd kann sich auch an jedes beliebige Interface binden. Dazu reicht es einfach nur den listening Port anzugeben oder 0.0.0.0:port.
Brettspiele
Seit ein paar Wochen beschäftige ich mich nun etwas ausführlicher mit Brettspielen. Daher haben wir uns zwei, drei Spieleläden in Braunschweig angeschaut, was aber eher (sehr) enttäuschend war. Nun waren wir heute Nachmittag in der Spieleburg in Göttingen. Jedes Spiel, was ich mir vorher online angeschaut hatte, gab es dort zum anschauen und kaufen, selbst Twilight Imperium, inklusive der Erweiterungen, gab es. Die Beratung ist unglaublich gut, die Preise sind mehr als fair. Wir haben folgende Brettspiele gekauft:
Der Ringkrieg
Twilight Imperium: Rex
Civilization
Mage Knight gab es auch, aber das wäre dann doch etwas viel geworden, aber mal abwarten. Jetzt brauchen wir nur noch Leute, die mitspielen;-). Ich kann die Spieleburg in Göttingen nur empfehlen, besonders wenn man mal etwas komplexere Spiele und gute Beratung sucht. So ein Laden, mit der Auswahl und Beratung, ist mehr wert, als viele diverse Onlineangebote. Das klingt wie Werbung, soll es auch sein ;-).
Linux Cluster Management Console
Für zwischendurch.
Linux Cluster Management Console is a GUI that helps to configure Pacemaker, DRBD and KVM clusters.
Damit ist eigentlich alles gesagt. Habe ich nicht zum Einrichten von Pacemaker genutzt, ist aber nett um sich das Ergebnis anzuschauen. Bei größeren Umgebungen, kann so ein Tool sicherlich sehr nützlich sein. Bei mir läuft auf den Nodes nur Pacemaker&co und glbd als MySQl Proxy. Bei der 1.3er Version war das Anlegen der Hosts nicht besonders intuitiv, vielleicht ist es bei der neuen 1.4er verbessert worden. DRBD ist natürlich nicht nötig, aber möglich.
httpvh://youtu.be/nEPn5RJA1Ig
p.s. damit teste ich auch gleich mal ob der osbn feed funktioniert
Dänemark
9 Stunden inklusive Pausen, von Hive Sande nach Braunschweig, auch eine Leistung.
HTC Desire mit Cyanogenmod 7.2.0.1
Nach über zwei Jahren mit meinem HTC Desire habe ich nun gestern Cyanogenmod auf das Handy gefllasht. Grund war natürlich die Neugier und meine positiven Erfahrungen mit Cyanogenmod auf dem HP Touchpad. Wenn man das letzte halb offizielle Upgrade von HTC mitgemacht hat, ist es eigentlich überflüssig Cyanogenmod zu installieren. Die Verbesserungen halten sich in Grenzen. Natürlich kann man noch mehr einstellen und „individualisieren“, aber eigentlich war es auch mit der HTC Android Version ein gut funktionierendes Handy…bis auf den doch sehr kleinen Hauptspeicher. Eine wirklich nette Funktion ist natürlich der integrierte SIP Client, so spart man sich Sipdroid, Sipgateclient, CSipSimple & co als extra Sipclient. Tatsächlich bin ich mir nicht sicher ob diese Funktion nicht auch beim letzten HTC Update dabei war…egal ;-). Ich bin jedenfalls nach der Anleitung unter http://wiki.cyanogenmod.com/wiki/HTC_Desire_%28GSM%29:_Full_Update_Guide vorgegangen und bis auf einen kleinen Fehler meinerseits (nicht auf den Bildschirm geschaut beim revolutionary rooten), lief alles Problemlos. Der ganze Vorgang dauert ca. 5 Minuten. Hier ein kleines Video zum integrierten SIP client von Android…und ja, Sipdroid & co bieten mehr Funktionen.
httpvh://youtu.be/XOXzs6LoBz0
Interessanterweise steht diese, doch recht alte Funktion, anscheinend nicht beim aktuellen Samsung ACE 2 (z. Z. Android 2.3.6) zu Verfügung, warum ist mir jedoch unklar.
Ach ja, man flasht so was natürlich weil man es kann, flasht man nicht mehr, ist man alt ;-).
Galera Nagios Plugin
Die Leute von fromdual haben nun ein deutlich besseres Plugin fuer das Galera Monitoring bereitgestellt. Bekommen kann man es unter http://www.fromdual.com/download. Teil 3 zum Thema Galera MySQL mit Pacemaker ist in Arbeit.
MySQL Slave read only
Je nach System und Einsatzzweck, bietet sich die Option:
read_only=1
in der my.cnf beim MySQL Slave an. Der Replikationuser sollte das Super Recht haben, um trotzdem schreiben zu dürfen. „Eigentlich“ sollten die Slave Rechte ausreichen, also lieber mal testen.