====== openQRM - Cluster ====== ===== Probleme beim Clusterschwenk ===== IPs im Cluster: - Cluster-IP: 192.168.1.10 - Knoten-01: 192.168.1.11 - Knoten-02: 192.168.1.12 Wenn zuerst der Knoten mit der IP ''192.168.1.12'' Master war und dann der Knoten mit der IP ''192.168.1.11'' Master wurde, wird der Cluster nur dann funktionieren, wenn in der Spalte ''resource_openqrmserver'' der Tabelle ''resource_info'' die Cluster-IP ''192.168.1.10'' steht! [root@openqrm01:~]# echo "SELECT resource_id,resource_openqrmserver,resource_ip,resource_hostname FROM resource_info;"|mysql -t openqrm +-------------+------------------------+---------------+-------------------+ | resource_id | resource_openqrmserver | resource_ip | resource_hostname | +-------------+------------------------+---------------+-------------------+ | 0 | 192.168.1.12 | 192.168.1.12 | openqrm01 | | 10 | 192.168.1.12 | 192.168.1.40 | kvm01 | | 19 | 192.168.1.12 | 192.168.1.235 | cloud-6-1-x | | 15 | 192.168.1.12 | 192.168.1.234 | cloud-48-1-x | | 8 | 192.168.1.12 | 192.168.1.241 | cloud-17-1-x | | 7 | 192.168.1.12 | 192.168.1.245 | cloud-13-1-x | In diesem Beispiel lief es falsch. ==== Problembehebung ==== - die DB-Einträge berichtigen; - man muss dafür sorgen, dass openQRM beim Start einer Appliance hier die Cluster-IP einträgt und nicht die Host-IP (siehe die Variable "OPENQRM_SERVER_IP_ADDRESS" in der Datei "/usr/share/openqrm/include/openqrm-server-functions"); * der Fehler kann nur dann auftreten, wenn die Variable ''$OPENQRM_SERVER_INTERFACE'' in der Datei ''/usr/share/openqrm/etc/openqrm-server.conf'' leer ist oder hier ein falscher NIC-Name eingetragen wurde; * weiterhin müssen (für einen erfolgreichen Start von openQRM) die folgenden beiden IP-Adressen identisch sein: - die IP-Adresse, die auf dem NIC konfiguriert ist, welches in der Variable ''$OPENQRM_SERVER_INTERFACE'' in der Datei ''/usr/share/openqrm/etc/openqrm-server.conf'' (z.B. "br0:0") konfiguriert wurde; - die IP-Adresse, die in der Datei ''/usr/share/openqrm/tftpboot/pxelinux.cfg/default'' (z.B. "openqrm=192.168.1.10") steht; - wieder einhängen aller Appliances; === die DB-Einträge berichtigen === [root@openqrm01:~]# echo "UPDATE resource_info SET resource_openqrmserver='192.168.1.10' where resource_openqrmserver='192.168.1.12';"|mysql -t openqrm [root@openqrm01:~]# echo "UPDATE resource_info SET resource_ip='192.168.1.10' where resource_ip='192.168.1.12';"|mysql -t openqrm === Datei für TFTP-Default berichtigen === [root@openqrm01:~]# sed -i 's/192.168.1.12/192.168.1.10/' /usr/share/openqrm/tftpboot/pxelinux.cfg/default === wieder einhängen aller Appliances === Leider kennen die Appliances jetzt nicht mehr die IP des aktiven openQRM-Management-Hosts, das muss man der Appliance die Cluster-IP von openQRM bekannt machen: [root@openqrm01:~]# vi /var/openqrm/openqrm-resource.conf ... resource_openqrmserver="192.168.1.10" ... den openqrm-client restarten, damit er sich bei openQRM wieder anmelden kann: [root@openqrm01:~]# /etc/init.d/openqrm-client restart