Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
tux:drbd_heartbeat [2013/01/01 17:39] wikisysop [Installation und Konfiguration von »heartbeat«] |
tux:drbd_heartbeat [2013/01/03 14:59] (aktuell) wikisysop [Installation und Konfiguration von »heartbeat«] |
||
---|---|---|---|
Zeile 13: | Zeile 13: | ||
# <fc #008000>aptitude install heartbeat</fc></xterm> | # <fc #008000>aptitude install heartbeat</fc></xterm> | ||
- | >>heartbeat<< benötigt drei Konfigurationsdateien, welche Sie selbst anlegen müssen und auf beiden Nodes gleich sein müssen: | + | >><fc #008000>heartbeat</fc><< benötigt drei Konfigurationsdateien, welche Sie selbst anlegen müssen und auf beiden Nodes gleich sein müssen: |
''**/etc/ha.d/ha.cf**'': Die zentrale Konfigurationsdatei von >><fc #008000>heartbeat</fc><<:\\ <code bash|/etc/ha.d/ha.cf># /etc/ha.d/ha.cf Main-Config-File | ''**/etc/ha.d/ha.cf**'': Die zentrale Konfigurationsdatei von >><fc #008000>heartbeat</fc><<:\\ <code bash|/etc/ha.d/ha.cf># /etc/ha.d/ha.cf Main-Config-File | ||
Zeile 59: | Zeile 59: | ||
''**/etc/ha.d/haresources**'': Welche Ressourcen überwacht und ggf auf dem anderen Node gestartet werden müssen:\\ <code bash|/etc/ha.d/haresources>server1 192.168.167.168 drbddisk::r0 Filesystem::/dev/drbd0::/drbd_data::ext3</code> | ''**/etc/ha.d/haresources**'': Welche Ressourcen überwacht und ggf auf dem anderen Node gestartet werden müssen:\\ <code bash|/etc/ha.d/haresources>server1 192.168.167.168 drbddisk::r0 Filesystem::/dev/drbd0::/drbd_data::ext3</code> | ||
- | * **''<fc #008000>server1</fc>''**: Gibt den Node an, welche standardmäßig der >>Primary-Node<< ist. Dieser Wert zB von der og Option >><fc #008000>auto_failback</fc><< ausgewertet. | + | * **''server1''**: Gibt den Node an, welche standardmäßig der >><fc #008000>Primary-Node</fc><< ist. Dieser Wert zB von der og Option >><fc #008000>auto_failback</fc><< ausgewertet. |
* **''<fc #008000>192.168.167.168</fc>''**: Gibt eine virtuelle Adresse an, über welche beide Nodes angesprochen werden können. Diese darf __nicht__ schon zB in der Datei >><fc #008000>/etc/network/interfaces</fc><< konfiguriert werden, sondern wird durch >><fc #008000>heartbeat</fc><< selbst bereitgestellt. | * **''<fc #008000>192.168.167.168</fc>''**: Gibt eine virtuelle Adresse an, über welche beide Nodes angesprochen werden können. Diese darf __nicht__ schon zB in der Datei >><fc #008000>/etc/network/interfaces</fc><< konfiguriert werden, sondern wird durch >><fc #008000>heartbeat</fc><< selbst bereitgestellt. | ||
* **''drbddisk::r0 Filesystem::/dev/drbd0::/drbd_data::ext3''**: Gibt das DRBD-Device, seinen Mountpunkt und das Dateisystem an. | * **''drbddisk::r0 Filesystem::/dev/drbd0::/drbd_data::ext3''**: Gibt das DRBD-Device, seinen Mountpunkt und das Dateisystem an. | ||
+ | |||
+ | Zum Schluss muss noch >>heartbeat<< auf beiden Rechnern gestartet werden: | ||
+ | |||
+ | <xterm># <fc #008000>/etc/init.d/heartbeat start</fc> | ||
+ | Starting High-Availability services: IPaddr[3121]: INFO: Resource is stopped | ||
+ | Done.</xterm> | ||
+ | |||
+ | Nachdem auf beiden Servern >><fc #008000>heartbeat</fc><< gestartet ist, werden beiden Server permanent überwacht und beim Ausfall des >><fc #008000>Primary-Nodes</fc><< wird automatisch auf den verbliebenen Node umgeschaltet. Zu beachten ist jetzt allerdings, dass Sie die beiden Server von Ihren Clients aus mit ihrer virtuellen IP-Adresse (hier >><fc #008000>192.168.167.168</fc><<) ansprechen müssen und nicht mehr mit ihren nativen IP-Adressen. | ||
+ | |||
+ | ====Testen der Konfiguration==== | ||
+ | Im Prinzip erkennt das System jetzt selbstständig den Ausfall seines Kommunikationspartners, Sie können jedoch auch manuell zB den >>Primary-Node<< in einen Wartungsmodus schalten, was die Rollen und Ressourcen automatisch auf den zweiten Node überträgt. Führen Sie dazu auf dem Node, welcher in den Wartungsmodus gehen soll folgendes Kommando aus: | ||
+ | |||
+ | <xterm>root@<fc #800000>**server1**</fc>:~# <fc #008000>/etc/init.d/heartbeat standby</fc> | ||
+ | auto_failback: off | ||
+ | Attempting to enter standby modehb_standby[3749]: Going standby [all]. | ||
+ | Done.</xterm> | ||
+ | |||
+ | Auf dem zweiten Node können Sie zur gleichen Zeit folgendes im Syslog mitverfolgen: | ||
+ | |||
+ | <xterm>root@<fc #800000>**server2**</fc>:~# <fc #008000>tail -f /var/log/syslog</fc> | ||
+ | Jan 1 20:01:05 server2 heartbeat: [1660]: info: server1 wants to go standby [all] | ||
+ | Jan 1 20:01:05 server2 kernel: [ 5765.284241] block drbd0: peer( Primary -> Secondary ) | ||
+ | Jan 1 20:01:05 server2 heartbeat: [1660]: info: standby: acquire [all] resources from server1 | ||
+ | Jan 1 20:01:05 server2 heartbeat: [2537]: info: acquire all HA resources (standby). | ||
+ | Jan 1 20:01:05 server2 ResourceManager[2551]: [2562]: info: Acquiring resource group: server1 192.168.167.168 drbddisk::r0 Filesystem::/dev/drbd0::/drbd_data::ext3 | ||
+ | Jan 1 20:01:05 server2 IPaddr[2574]: [2594]: INFO: Resource is stopped | ||
+ | Jan 1 20:01:05 server2 ResourceManager[2551]: [2611]: info: Running /etc/ha.d/resource.d/IPaddr 192.168.167.168 start | ||
+ | Jan 1 20:01:05 server2 IPaddr[2624]: [2648]: INFO: Using calculated nic for 192.168.167.168: eth0 | ||
+ | Jan 1 20:01:05 server2 IPaddr[2624]: [2654]: INFO: Using calculated netmask for 192.168.167.168: 255.255.255.0 | ||
+ | Jan 1 20:01:05 server2 IPaddr[2624]: [2676]: INFO: eval ifconfig eth0:0 192.168.167.168 netmask 255.255.255.0 broadcast 192.168.167.255 | ||
+ | Jan 1 20:01:05 server2 IPaddr[2612]: [2695]: INFO: Success | ||
+ | Jan 1 20:01:05 server2 ResourceManager[2551]: [2725]: info: Running /etc/ha.d/resource.d/drbddisk r0 start | ||
+ | Jan 1 20:01:05 server2 kernel: [ 5765.689793] block drbd0: role( Secondary -> Primary ) | ||
+ | Jan 1 20:01:05 server2 Filesystem[2744]: [2788]: INFO: Resource is stopped | ||
+ | Jan 1 20:01:05 server2 ResourceManager[2551]: [2803]: info: Running /etc/ha.d/resource.d/Filesystem /dev/drbd0 /drbd_data ext3 start | ||
+ | Jan 1 20:01:05 server2 Filesystem[2810]: [2838]: INFO: Running start for /dev/drbd0 on /drbd_data | ||
+ | Jan 1 20:01:05 server2 kernel: [ 5765.769955] kjournald starting. Commit interval 5 seconds | ||
+ | Jan 1 20:01:05 server2 kernel: [ 5765.771110] EXT3 FS on drbd0, internal journal | ||
+ | Jan 1 20:01:05 server2 kernel: [ 5765.771135] EXT3-fs: mounted filesystem with ordered data mode. | ||
+ | Jan 1 20:01:05 server2 Filesystem[2804]: [2855]: INFO: Success | ||
+ | Jan 1 20:01:05 server2 heartbeat: [2537]: info: all HA resource acquisition completed (standby). | ||
+ | Jan 1 20:01:05 server2 heartbeat: [1660]: info: Standby resource acquisition done [all]. | ||
+ | Jan 1 20:01:06 server2 heartbeat: [1660]: info: remote resource transition completed.</xterm> | ||
+ | |||
+ | Wenn der Server seinen Wartungsmodus beendet hat und wieder als >><fc #008000>Primary Node</fc><< zur Verfügung steht führen Sie das og Kommando einfach auf dem derzeitigen >><fc #008000>Primary Node</fc><< aus, um die Verhältnisse wieder zu tauschen: | ||
+ | |||
+ | <xterm>root@<fc #800000>**server2**</fc>:~# <fc #008000>/etc/init.d/heartbeat standby</fc> | ||
+ | auto_failback: off | ||
+ | Attempting to enter standby modehb_standby[2915]: Going standby [all]. | ||
+ | Done.</xterm> | ||
+ | |||
+ | Es versteht sich bei der Funktionsweise dieses hier vorgestellten DRBD-Volumes von selbst, dass keinerlei Eingriff notwendig ist, wenn der Server zur Wartung abgeschaltet wird oder offline geht, welcher aktuell die Rolle des >><fc #008000>Secondary-Nodes</fc><< hält. | ||
+ | |||
+ | **Verwandte Artikel:** | ||
+ | [[:tux:drbd_lan_raid1|-> DRBD: Raid1 über LAN (Setup)]] | ||
+ | [[:tux:drbd_failed_node|-> DRBD: Ausfall eines Nodes]] | ||
+ | |||
+ | --- //pronto 2013/01/01 18:46// | ||
+ | |||
+ | <fs large><fc #800000>//''>>prontosystems.org -- we are connecting more than computers<<''//</fc></fs> | ||
+ | {{keywords>linux ha-cluster heartbeat drbd ha.cf}} |