Failover domain not working

mcmyst

Member
Dec 12, 2012
47
2
6
Hello,

I have set up a 3 node cluster:
- node1 : for quorum
- node2 : hoster
- node3 : hoster

I have created a failover domain between node2 and node3, here is the clusters.conf:
Code:
<?xml version="1.0"?>
<cluster config_version="11" name="local">
  <cman keyfile="/var/lib/pve-cluster/corosync.authkey" transport="udpu"/>
  <clusternodes>
    <clusternode name="node1" nodeid="1" votes="1">
    </clusternode>
    <clusternode name="node2" nodeid="2" votes="1">
      <fence>
        <method name="1">
          <device name="fence2"/>
        </method>
      </fence>
    </clusternode>
    <clusternode name="node3" nodeid="3" votes="1">
      <fence>
        <method name="1">
          <device name="fence3"/>
        </method>
      </fence>
    </clusternode>
  </clusternodes>
  <fencedevices>
    <fencedevice agent="test" ipaddr="192.168.48.202" login="root" name="fence2" passwd="root"/>
    <fencedevice agent="test" ipaddr="192.168.48.203" login="root" name="fence3" passwd="root"/>
  </fencedevices>
  <rm>
    <failoverdomains>
      <failoverdomain name="Node2-Node3" nofailback="1" ordered="1" restricted="1">
        <failoverdomainnode name="node2" priority="2"/>
        <failoverdomainnode name="node3" priority="1"/>
      </failoverdomain>
    </failoverdomains>
    <pvevm autostart="1" vmid="100"/>
  </rm>
</cluster>

I don't want the VM going to node1 so I have not declared node1 in the failoverdomain.

When the VM is on node2, and I crash node2, the VM goes on node3 ==> OK
When the VM is on node3, and I crash node3, the VM goes on node1 ==>NOK, it should goes on node2

Do you have any ideas ?

Thank you
 
I forgot, here is the package version:
Code:
[COLOR=#000000][FONT=monospace]proxmox-ve-2.6.32: 3.1-109 (running kernel: 2.6.32-23-pve)pve-manager: 3.1-3 (running version: 3.1-3/dc0e9b0e)pve-kernel-2.6.32-23-pve: 2.6.32-109lvm2: 2.02.98-pve4clvm: 2.02.98-pve4corosync-pve: 1.4.5-1openais-pve: 1.1.4-3libqb0: 0.11.1-2redhat-cluster-pve: 3.2.0-2resource-agents-pve: 3.9.2-4fence-agents-pve: 4.0.0-1pve-cluster: 3.0-7qemu-server: 3.1-1pve-firmware: 1.0-23libpve-common-perl: 3.0-6libpve-access-control: 3.0-6libpve-storage-perl: 3.0-10pve-libspice-server1: 0.12.4-1vncterm: 1.1-4vzctl: 4.0-1pve3vzprocps: 2.0.11-2vzquota: 3.1-2pve-qemu-kvm: 1.4-17ksm-control-daemon: 1.1-1glusterfs-client: 3.4.0-2[/FONT][/COLOR]
 
Try this instead:
Code:
    <failoverdomains>
      <failoverdomain name="[COLOR=#333333]Node2-Node3[/COLOR]" ordered="0" restricted="1">
        <failoverdomainnode name="[COLOR=#333333]node2[/COLOR]"/>
        <failoverdomainnode name="[COLOR=#333333]node3[/COLOR]"/>
      </failoverdomain>
    </failoverdomains>
 
I guess you need to assign the domain to the VM:

Code:
  <pvevm domain="[COLOR=#333333]Node2-Node3[/COLOR]" autostart="1" vmid="100"/>
 
You are right. Thank you dietmar.

One other question : Do you know where to set a dead timer to say to the cluster to not migrate VM before X seconds when a node fails ?
 
No you just add a VM ID and autostart option.
I think that Proxmox should the entire clusters's setting in the GUI (don't see it in the roadmap...).