Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
virtualisierung:proxmox_kvm_und_lxc:einrichtung_eins_standard_proxmox4_clusters [2017/04/14 12:57] – admin | virtualisierung:proxmox_kvm_und_lxc:einrichtung_eins_standard_proxmox4_clusters [2017/04/14 14:13] (aktuell) – [FAQS] admin | ||
---|---|---|---|
Zeile 69: | Zeile 69: | ||
/ | / | ||
</ | </ | ||
+ | ==== Cluster generiern und erweitern ==== | ||
+ | Den Cluster generiert man mit folgendem Befehl: | ||
+ | < | ||
+ | pvecm create proxmoxcl01 -bindnet0_addr 192.168.1.0 -ring0_addr 192.168.1.1 | ||
+ | </ | ||
+ | Mit '' | ||
+ | Eingeloggt man zweiten Host, treten wir dem Cluster mit folgendem Befehl bei: | ||
+ | < | ||
+ | pvecm add 192.168.1.1 -ring0_addr 192.168.1.2 | ||
+ | </ | ||
+ | Jetzt werden Zertifikate/ | ||
+ | < | ||
+ | Quorum information | ||
+ | ------------------ | ||
+ | Date: Fri Apr 14 12:59:52 2017 | ||
+ | Quorum provider: | ||
+ | Nodes: | ||
+ | Node ID: 0x00000001 | ||
+ | Ring ID: 1/68 | ||
+ | Quorate: | ||
+ | Votequorum information | ||
+ | ---------------------- | ||
+ | Expected votes: | ||
+ | Highest expected: 2 | ||
+ | Total votes: | ||
+ | Quorum: | ||
+ | Flags: | ||
+ | |||
+ | Membership information | ||
+ | ---------------------- | ||
+ | Nodeid | ||
+ | 0x00000001 | ||
+ | 0x00000002 | ||
+ | </ | ||
+ | Eine Masternode gibt es nicht, man kann also überall alles bearbeiten. | ||
+ | |||
+ | ==== Clusterkommunikation ausfallsicher ==== | ||
+ | Natürlich möchte man im Produktivbetrieb minds. zwei Interfaces für die Clusterkommunikation verwenden, falls mal eines ausfällt, oder man Wartungesarbeiten durchführen muss. Noch besser wäre wenn man die Interfaces auf zwei PHY getrennte Switches verteilt. | ||
+ | Bei unserer Testconfig gehen wir von zwei Interfaces pro Server für die Clusterkommunikation aus. Man sollte am Switch kein Trunk/LACP oder ähnliches erstellen sondern das RRP-Protokoll von Corosync nutzen. In der Netzwerkconfig der Server muss jedes weitere Interface default hinzugefügt werden. Das ganze sieht dann so aus: | ||
+ | |||
+ | **Netzwerkconfig pve01:** | ||
+ | < | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | iface eth0 inet manual | ||
+ | |||
+ | auto vmbr0 | ||
+ | iface vmbr0 inet static | ||
+ | address 192.168.0.1 | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 192.168.0.254 | ||
+ | bridge_ports eth0 | ||
+ | bridge_stp off | ||
+ | bridge_fd 0 | ||
+ | |||
+ | auto eth1 | ||
+ | iface eth1 inet static | ||
+ | address 192.168.1.1 | ||
+ | netmask 255.255.255.0 | ||
+ | |||
+ | auto eth2 | ||
+ | iface eth2 inet static | ||
+ | address 192.168.2.1 | ||
+ | netmask 255.255.255.0 | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | **Netzwerkconfig pve02:** | ||
+ | < | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | iface eth0 inet manual | ||
+ | |||
+ | auto vmbr0 | ||
+ | iface vmbr0 inet static | ||
+ | address 192.168.0.2 | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 192.168.0.254 | ||
+ | bridge_ports eth0 | ||
+ | bridge_stp off | ||
+ | bridge_fd 0 | ||
+ | |||
+ | auto eth1 | ||
+ | iface eth1 inet static | ||
+ | address 192.168.1.2 | ||
+ | netmask 255.255.255.0 | ||
+ | |||
+ | auto eth2 | ||
+ | iface eth2 inet static | ||
+ | address 192.168.2.2 | ||
+ | netmask 255.255.255.0 | ||
+ | # | ||
+ | </ | ||
+ | Um das Neue Netzwerk zu aktivieren startet man die Server einfach durch. Man kann aber auch den Netzwerkdienst neustarten: | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | Cluster generieren und Node hinufügen: | ||
+ | < | ||
+ | pvecm create proxmoxcl01 -bindnet0_addr 192.168.1.0 -ring0_addr 192.168.1.1 -bindnet1_addr 192.168.2.0 -ring1_addr 192.168.2.1 | ||
+ | </ | ||
+ | Auf dem zweiten Host einloggen: | ||
+ | < | ||
+ | pvecm add 192.168.1.1 -ring0_addr 192.168.1.2 -ring1_addr 192.168.2.2 | ||
+ | </ | ||
+ | |||
+ | ===== Cluster mit IPV6 generieren ===== | ||
+ | Da hier keine öffentlichen (RADVD) adressen von nöten sind holt man sich einfach ein Subnet. Z.B. '' | ||
+ | |||
+ | **Netzwerkconfig pve01:** | ||
+ | < | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | iface eth0 inet manual | ||
+ | |||
+ | auto vmbr0 | ||
+ | iface vmbr0 inet static | ||
+ | address 192.168.0.1 | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 192.168.0.254 | ||
+ | bridge_ports eth0 | ||
+ | bridge_stp off | ||
+ | bridge_fd 0 | ||
+ | |||
+ | iface vmbr0 inet6 static | ||
+ | address | ||
+ | netmask | ||
+ | gateway | ||
+ | |||
+ | auto eth1 | ||
+ | iface eth1 inet6 static | ||
+ | address fddd: | ||
+ | netmask 64 | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | **Netzwerkconfig pve02:** | ||
+ | < | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | iface eth0 inet manual | ||
+ | |||
+ | auto vmbr0 | ||
+ | iface vmbr0 inet static | ||
+ | address 192.168.0.2 | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 192.168.0.254 | ||
+ | bridge_ports eth0 | ||
+ | bridge_stp off | ||
+ | bridge_fd 0 | ||
+ | |||
+ | iface vmbr0 inet6 static | ||
+ | address | ||
+ | netmask | ||
+ | gateway | ||
+ | |||
+ | auto eth1 | ||
+ | iface eth1 inet6 static | ||
+ | address fddd: | ||
+ | netmask 64 | ||
+ | # | ||
+ | </ | ||
+ | Um das Neue Netzwerk zu aktivieren startet man die Server einfach durch. Man kann aber auch den Netzwerkdienst neustarten: | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | Cluster generieren und Node hinufügen: | ||
+ | < | ||
+ | pvecm create osit-cl01 -bindnet0_addr fddd: | ||
+ | pvecm add fddd: | ||
+ | </ | ||
+ | Unser Cluster sieht nun so aus: | ||
+ | < | ||
+ | Quorum information | ||
+ | ------------------ | ||
+ | Date: Fri Apr 14 13:54:29 2017 | ||
+ | Quorum provider: | ||
+ | Nodes: | ||
+ | Node ID: 0x00000001 | ||
+ | Ring ID: 1/344 | ||
+ | Quorate: | ||
+ | |||
+ | Votequorum information | ||
+ | ---------------------- | ||
+ | Expected votes: | ||
+ | Highest expected: 2 | ||
+ | Total votes: | ||
+ | Quorum: | ||
+ | Flags: | ||
+ | |||
+ | Membership information | ||
+ | ---------------------- | ||
+ | Nodeid | ||
+ | 0x00000001 | ||
+ | 0x00000002 | ||
+ | </ | ||
+ | |||
+ | ===== FAQS ===== | ||
+ | * Was passiert bei einem Zweiergespann wenn mir eine Node ausfällt? | ||
+ | * In dem Fall hat das System kein Quorum mehr, und wird keine Änderungen an den Configs annehmen. Die zu startenden VM's warten dann so lange zum Start bis Quorum verfügbar ist. Also bis die zweite Node wieder Online ist. | ||
+ | * Muss ich eim Einschalten der Clusterserver etwas beachten? Kommt es auf die Anzahl der Clusternodes ans? | ||
+ | * Nein, aber am besten ist alles gleichzeitig einschalten. | ||
+ | * Eine meiner Nodes wird dauernd im Webinterface rot, was kann da die Ursache sein? | ||
+ | * Meist ist das ein Problem mit dem Netzwerk. Sehr oft wird das gleiche Netzwerk der VM's auch für die Clusterkommunikation verwendet. Das sollte man auf keinem Fall in einem Produktivsystem tun, da das gesamte Netz mit Mulitkast überschemmt wird. | ||
+ | * Wenn ich local-storage verwende kann ich dann auch zwischen den Hosts migrieren? | ||
+ | * Ja natürlich, aber nur Offline und die storage muss natürlich überall gleich sein, also z.B. pve-data, da die Configs ja im Cluster gesynct werden. Man kann natürlich gewisse Storages von Hosts excluden. | ||
+ | |||
+ | |||
+ | ===== Links ===== | ||
+ | * [[http:// | ||