Dual PDU Fence

adamb

Famous Member
Mar 1, 2012
1,329
77
113
We need to implement a dual PDU configuration as a single PDU is a single point of failure. Trying to pin down the best way to put this into cluster.conf

With what I have below the ports get shutoff on the first PDU before the 2nd PDU, leaving the machine up. Is there anyway to call both of these devices at the same time to utilze two PDU's?

Code:
<?xml version="1.0"?>
<cluster config_version="16" name="testprox">
  <cman expected_votes="3" keyfile="/var/lib/pve-cluster/corosync.authkey"/>
  <quorumd allow_kill="0" interval="3" label="cluster_qdisk" master_wins="1" status_file="/var/log/cluster/status" tko="10"/>
  <totem token="54000"/>
  <fencedevices>
    <fencedevice agent="fence_ipmilan" ipaddr="10.80.8.102" lanplus="1" login="Administrator" name="ipmi1" passwd="medent168" power_wait="5"/>
    <fencedevice agent="fence_ipmilan" ipaddr="10.80.8.103" lanplus="1" login="Administrator" name="ipmi2" passwd="medent168" power_wait="5"/>
    <fencedevice agent="fence_apc" ipaddr="10.80.8.95" login="device" name="apc" passwd="medent168"/>
    <fencedevice agent="fence_apc" ipaddr="10.80.8.109" login="device" name="apc2" passwd="medent168"/>
  </fencedevices>
  <clusternodes>
    <clusternode name="testprox1" nodeid="1" votes="1">
      <fence>
        <method name="apc">
          <device name="apc" port="1" secure="on"/>
          <device name="apc2" port="1" secure="on"/>
        </method>
        <method name="1">
          <device name="ipmi1"/>
        </method>
      </fence>
    </clusternode>
    <clusternode name="testprox2" nodeid="2" votes="1">
      <fence>
        <method name="apc">
          <device name="apc" port="2" secure="on"/>
          <device name="apc2" port="2" secure="on"/>
        </method>
        <method name="1">
          <device name="ipmi2"/>
        </method>
      </fence>
    </clusternode>
  </clusternodes>
  <rm log_level="7">
    <pvevm autostart="1" vmid="100"/>
  </rm>
</cluster>
 
Never mind I just figured it out. Just incase anyone is interested. Here is how I have it working.

Code:
<?xml version="1.0"?>
<cluster config_version="16" name="testprox">
  <cman expected_votes="3" keyfile="/var/lib/pve-cluster/corosync.authkey"/>
  <quorumd allow_kill="0" interval="3" label="cluster_qdisk" master_wins="1" status_file="/var/log/cluster/status" tko="10"/>
  <totem token="54000"/>
  <fencedevices>
    <fencedevice agent="fence_ipmilan" ipaddr="10.80.8.102" lanplus="1" login="Administrator" name="ipmi1" passwd="medent168" power_wait="5"/>
    <fencedevice agent="fence_ipmilan" ipaddr="10.80.8.103" lanplus="1" login="Administrator" name="ipmi2" passwd="medent168" power_wait="5"/>
    <fencedevice agent="fence_apc" ipaddr="10.80.8.95" login="device" name="apc" passwd="medent168"/>
    <fencedevice agent="fence_apc" ipaddr="10.80.8.109" login="device" name="apc2" passwd="medent168"/>
  </fencedevices>
  <clusternodes>
    <clusternode name="testprox1" nodeid="1" votes="1">
      <fence>
        <method name="apc">
          <device name="apc" port="1" action="off" secure="on"/>
          <device name="apc2" port="1" action="off" secure="on"/>
          <device name="apc" port="1" action="on" secure="on"/>
          <device name="apc2" port="1" action="on" secure="on"/>
        </method>
        <method name="1">
          <device name="ipmi1"/>
        </method>
      </fence>
    </clusternode>
    <clusternode name="testprox2" nodeid="2" votes="1">
      <fence>
        <method name="apc">
          <device name="apc" port="2" action="off" secure="on"/>
          <device name="apc2" port="2" action="off" secure="on"/>
          <device name="apc" port="2" action="on" secure="on"/>
          <device name="apc2" port="2" action="on" secure="on"/>
        </method>
        <method name="1">
          <device name="ipmi2"/>
        </method>
      </fence>
    </clusternode>
  </clusternodes>
  <rm log_level="7">
    <pvevm autostart="1" vmid="100"/>
  </rm>
</cluster>