Bei mir ist es genau umgekehrt, ich habe zwar schon Proxmox verwendet, mag es aber aufgrund der manchmal Begrenzten Möglichkeiten nicht so sehr. Jedoch kenne ich mich mit Cluster gut aus.
Ich nutze stattdessen libvirt als Interface für kvm und qemu und virt-manager um die VM's zu verwalten.
Ich habe aktuell einen 2 Node Cluster mit VM's. Jedoch wird dieser Hauptsächlich mit nginx, php5 und mysql betrieben.
Ich weiß, dass es für Corosync ein Stonith Plugin gibt, dass über libvirt auch einzelne VM's failovern könnte. Denke ich.
Wenn du nur einzelne VM's failovern willst, wenn ein Dienst darin kaputt geht, dann brauchst du für jede VM, bzw. für jedes Paar eine Failover-IP. Bzw, solltest du private IP's verwenden und z.B: eine HTTP Loadbalancing Software wie z.B. haproxy, brauchst du keine Failover IP's, aber deine VM's sind dann auch nicht direkt aus dem Internet erreichbar.
Dann kannst du auf VM-Ebene einen Cluster anlegen. Dafür würde ich dir jedoch wirklich stark empfehlen auf den Hypervisiorn ein DRBD laufen zu lassen. (Bitte testen, wie das mit der Synchronisation der virtuellen Festplatten ist!)
Oder eben alles vom DRBD auf dem Hypervisor per NFS in die VM's mounten.
Dann kannst du z.B. wenn du 6 VM's hast verteilt auf 2 Hypervisior z.B. so etwas machen:
VM1 = Hypervisor 1
VM2 = Hypervisor 1
VM3 = Hypervisor 1
VM4 = Hypervisor 2
VM5 = Hypervisor 2
VM6 = Hypervisor 2
VM1 = nginx und mysql [MASTER]
VM4 = [SLAVE] für VM1
VM2 = DNS-Server, MAIL-Server
VM5 = [SLAVE] für VM2
VM3 = Irgendwas
VM6 = [SLAVE] für VM3
Szenario 1:
Der nginx stirbt auf VM1 -> Corosync initiert einen Failover, stellt die Failover-IP um und startet alle Dienste auf VM4.
Packetloss von Hypervisor zu VM1 -> Corosync initiert einen Failover, stellt die Failover-IP um und startet alle Dienste auf VM4.
Packetloss vom Internet zu Hypervisor 1 -> Corosync macht auf dem Hypervisor einen Failover und migriert alle Dienste von VM1-VM3 auf Hypervisor 2
Hypervisor 1 hat einen Hardware Defekt -> Corosync macht auf dem Hypervisor einen Failover und migriert alle Dienste von VM1-VM3 auf Hypervisor 2
usw..
Auf VM Ebene selbst geht das, je nach OS, bei dir schon Problemlos.
Wie Corosync oder Proxmox selbst das Failovern bzw Clustering in Verbindung mit Proxmox unterstützen weiß ich nicht.
Das könnte dir eventuell mal einen möglichen Ansatz geben.
http://clusterlabs.org/doc/en-US/Pa...maker_Remote/_configure_pacemaker_remote.html