====== MCU-Cluster Konfiguration ====== FIXME ===== Einleitung ===== Da bei mir immer mehr essentielle Funktionen von der CCU2 (Original) gesteuert werden habe ich mir Gedanken gemacht was bei einem Ausfall passiert und wie ich den abfangen und die Ausfallzeit minimieren kann. Als IT-Administrator kommt einem natürlich als Erstes ein Cluster in den Sinn. Daher auch das vorherige Projekt von wegen Homematic Zentrale auf Raspberry PI Basis um dann mit zwei Raspberries einen Cluster realisieren zu können. Was zeichnet einen Cluster aus? Zum einen die mindestens doppelt vorhandenen Ressourcen wie z.B. Computer, Speicher oder andere Geräte. Zum anderen die intelligente Steuerung von Softwareschnittstellen wie IP-Adressen oder andere Services die da laufen wo funktionierende Hardware zur Verfügung steht und im Bedarfsfall auf einen anderen Computer umziehen. Um eine Homematic-Zentrale hochverfügbar zu machen müssen folgende Teile der Zentrale entweder auf dem einen oder anderen Pi laufen: * Funkverbindung zu den Homematic-Komponenten * IP-Adresse zum Zugriff auf das Webinterface der Zentrale * Konfiguration, Zusatzsoftware etc. der Zentrale Mit den beiden Funk-Lan Adaptern von ELV hat jeder der beiden Raspberries eine Verbindung zu den Honematic-Komponenten womit dieser Punkt erledigt wäre. Da die IP-Adresse der Zentrale im LXC-Container konfiguriert ist, ist diese auf dem Pi auf dem der LXC-Container gestartet ist verfügbar, so das dieser Punkt auch geklärt ist. Man muss nur vermeiden das die LXC-Container auf beiden Pis laufen. Das übernimmt ein Skript. ===== Hardware ===== Daher braucht man für den Cluster folgende Ausstatung: - 2 Raspberry Pi 2b. (Stück 32 Euro) - 2 Gehäuse für Raspberry Pi. (Stück 11 Euro, inkl. Netzteil und Kühlkörper) - [[http://www.elv.de/homematic-funkmodul-fuer-raspberry-pi-bausatz.html|2 ELV Funkmodule]] (HM Bezeichnung: HM-MOD-RPI-PCB, Artikelnummer: 68-14 21 41) (Stück 20 Euro) - 2 Micro-SD Karten mit 8 oder 16 GB Kapazität. (Stück 8 Euro) - 2 Edimax EW-7811UN USB-WLAN Adapter (Nicht nötig für den Start, schwierige Installation) (Stück 9 Euro) **Damit kommt man ohne die WLAN Adapter auf einen Hardwarepreis von ca. 132 Euro und 150 Euro für die Lösung mit WLAN.** ==== Backup ==== Als Erstes machen wir mal ein Backup der beiden Container bevor wir mit dem eigentlichen clustern beginnen. Dazu führen wir folgendes auf beiden Pis durch: cd /var/lib/lxc mkdir yahm.bak rsync -a --progress yahm/ yahm.bak/ ===== Software ===== An Software braucht man folgendes (Ausser einem PC mit Linux oder Windows): - Das [[https://www.raspberrypi.org/downloads/raspbian/|Raspberry Betriebssystem Image]] namen Raspbian. - dd (unter Linux) oder [[https://sourceforge.net/projects/win32diskimager/|Win32 Disk Imager]](unter Windows) um das Image auf die SD-Karte zu kopieren. - csync2 auf dem PIs Der [[hm:pi:hardware:start|Zusammenbau]] der Raspberry PIs und die [[hm:pi:software:start|Installation des Betriebssystems]] inklusive der YAHM LXC Container habe ich schon beschrieben. Das Ganze einfach zweimal bzw. noch einmal machen :) ==== csync2 ==== Csync2 dient zur Replikation des Containers von einem auf den anderen Raspberry Pi. Es erkennt Änderungen am Dateisystem und gibt diese dann weiter. Csync2 kann einfach mit apt-get installiert werden. apt-get install csync2 Danach muss ein Schlüssel und ein Zertifikat für die Authentifizierung untereinander angelegt werden: Schlüssel: csync2 -k /etc/csync2.key Zertifikat: openssl genrsa -out /etc/csync2_ssl_key.pem 1024 openssl req -batch -new -key /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.csr openssl x509 -req -days 3650 -in /etc/csync2_ssl_cert.csr -signkey /etc/csync2_ssl_key.pem -out /etc/csync2_ssl_cert.pem csync2 Konfiguration: group ccucluster { host ccu2a-host; host ccu2b-host; key /etc/csync2.key; include /var/lib/lxc/yahm; exclude *~ .*; }