Hello,
I have drbd (newest version; same goes for heartbeat) running as a
master/slave ressource on the latest heart beat ressource and had the
following problem. I had a split brain situation and heartbeat made it
possible to migrate from one node to another and I wonder how that is
possible? How do other people handle this situation. My setup so far is
the following:

<configuration>
        <crm_config>
                <cluster_property_set id="cib-bootstrap-options">
                        <attributes>
                        </attributes>
                </cluster_property_set>
        </crm_config>

        <resources>
                <master_slave id="ms-drbd0">
                        <meta_attributes id="ma-ms-drbd0">
                                <attributes>
                                        <nvpair id="ma-ms-drbd0-1" 
name="clone_max" value="2"/>
                                        <nvpair id="ma-ms-drbd0-2" 
name="clone_node_max" value="1"/>
                                        <nvpair id="ma-ms-drbd0-3" 
name="master_max" value="1"/>
                                        <nvpair id="ma-ms-drbd0-4" 
name="master_node_max" value="1"/>
                                        <nvpair id="ma-ms-drbd0-5" 
name="notify" value="yes"/>
                                        <nvpair id="ma-ms-drbd0-6" 
name="globally_unique" value="false"/>
                                </attributes>
                        </meta_attributes>
                        <primitive id="drbd0" class="ocf" provider="heartbeat" 
type="drbd">
                                <instance_attributes id="ia-drbd0">
                                        <attributes>
                                                <nvpair id="ia-drbd0-1" 
name="drbd_resource" value="postgres"/>
                                        </attributes>
                                </instance_attributes>
                        </primitive>
                </master_slave>
                <group id="postgres-cluster">
                        <primitive class="ocf" provider="heartbeat" 
type="Filesystem" id="fs0">
                                <instance_attributes id="ia-fs0">
                                        <attributes>
                                                <nvpair id="ia-fs0-1" 
name="fstype" value="ext3"/>
                                                <nvpair name="directory" 
id="ia-fs0-2" value="/srv/postgres"/>
                                                <nvpair id="ia-fs0-3" 
name="device" value="/dev/drbd0"/>
                                        </attributes>
                                </instance_attributes>
                                <operations>
                                        <op id="fs0-monitor0" name="monitor" 
interval="60s" timeout="120s" start_delay="1m"/>
                                </operations>
                        </primitive>

                        <primitive class="ocf" provider="heartbeat" 
type="IPaddr2" id="ip0">
                                <instance_attributes id="ia-ip0">
                                        <attributes>
                                                <nvpair id="ia-ip0-1" name="ip" 
value="172.17.0.20"/>
                                                <nvpair id="ia-ip0-2" 
name="cidr_netmask" value="24"/>
                                                <nvpair id="ia-ip0-3" 
name="nic" value="eth0.2"/>
                                        </attributes>
                                </instance_attributes>
                                <operations>
                                        <op id="ip0-monitor0" name="monitor" 
interval="60s" timeout="120s" start_delay="1m"/>
                                </operations>
                        </primitive>

                        <primitive class="ocf" provider="heartbeat" 
type="pgsql" id="pgsql0">
                                <instance_attributes id="ia-pgsql0">
                                        <attributes>
                                                <nvpair id="ia-pgsql0-1" 
name="pgctl" value="/usr/lib/postgresql/8.1/bin/pg_ctl"/>
                                                <nvpair id="ia-pgsql0-2" 
name="start_opt" value="--config_file=/srv/postgres/etc/postgresql.conf"/>
                                                <nvpair id="ia-pgsql0-3" 
name="pgdata" value="/srv/postgres/data"/>
                                                <nvpair id="ia-pgsql0-4" 
name="logfile" value="/srv/postgres/postgresql.log"/>
                                        </attributes>
                                </instance_attributes>
                                <operations>
                                        <op id="pgsql0-monitor0" name="monitor" 
interval="60s" timeout="120s" start_delay="1m"/>
                                        <op id="pgsql0-start0" name="start" 
timeout="60s" prereq="nothing"/>
                                </operations>
                        </primitive>
                </group>
        </resources>

        <constraints>
                <rsc_location id="drbd0-placement-1" rsc="ms-drbd0">
                        <rule id="drbd0-rule-1" score="-INFINITY">
                                <expression id="exp-01" value="postgres-01" 
attribute="#uname" operation="ne"/>
                                <expression id="exp-02" value="postgres-02" 
attribute="#uname" operation="ne"/>
                        </rule>
                </rsc_location>

                <rsc_order id="postgres_promotes_ms-drbd0" 
from="postgres-cluster" action="start" to="ms-drbd0" to_action="promote"/>
                <rsc_colocation id="postgres_on_drbd0" to="ms-drbd0" 
to_role="master" from="postgres-cluster" score="infinity"/>
        </constraints>
</configuration>

        Thomas
_______________________________________________
Linux-HA mailing list
Linux-HA@lists.linux-ha.org
http://lists.linux-ha.org/mailman/listinfo/linux-ha
See also: http://linux-ha.org/ReportingProblems

Reply via email to