[DRBD-user] Best Practice with DRBD RHCS and GFS2?

Gianluca Cecchi gianluca.cecchi at gmail.com
Fri Oct 22 16:53:34 CEST 2010


On Fri, Oct 22, 2010 at 4:33 PM, Colin Simpson <Colin.Simpson at iongeo.com> wrote:
> I'm glad it's not just me that sees this.
>
> I was thinking I would have to write a script to wait for clean DRBD,
> but it's not what seems to be recommended, from Linbit and J.Ryan on
> this thread.
>
> So still confused on best practice, as it doesn't seem to work for me.
>
> Colin
>

Actually I had an environment without GFS.
I configured the cluster for hosting Qemu/KVM guests, with
primary/primary drbd and so possibility for doing live migration
between nodes without actually having a SAN between them.
Nowadays the approach is to have each guests identified as a different
cluster service.
Instead, in my tests, I had libvirtd and clvmd configured inside
services of the cluster and vm mgmt was so delegated to virt-manager
or command line tool, not automatically by the cluster itself.
Important to cancel from init configuration both clvmd and drbd
chkconfig --del clvmd
chkconfig --del libvirtd
instead drbd service was left unchanged and activated in chkconfig.
this way
at startup cman starts before drbd but this is not a problem; rgmanger
starts at 99 and starts clvmd (that waits for drbd completion: in fact
without being primary and up2date, this host is not eligible for
starting any vm....)
rgmanager stops before drbd (and so clvmd is stopped before drbd)

The cluster.conf contained something similar to this:
          <rm>
                <failoverdomains>
                        <failoverdomain name="DRBDNODE1"
restricted="1" ordered="1" nofailback="1">
                                <failoverdomainnode name="kvm1" priority="1"/>
                        </failoverdomain>
                        <failoverdomain name="DRBDNODE2"
restricted="1" ordered="1" nofailback="1">
                                <failoverdomainnode name="kvm2" priority="1"/>
                        </failoverdomain>
                </failoverdomains>
                <resources>
                        <script file="/etc/init.d/clvmd" name="CLVMD"/>
                        <script file="/etc/init.d/libvirtd" name="LIBVIRTD"/>
                </resources>
                <service domain="DRBDNODE1" autostart="1" name="DRBDNODE1">
                <script ref="CLVMD">
                        <script ref="LIBVIRTD"/>
                </script>
                </service>
                <service domain="DRBDNODE2" autostart="1" name="DRBDNODE2">
                <script ref="CLVMD">
                        <script ref="LIBVIRTD"/>
                </script>
                </service>
        </rm>

Sort of weird, but working at that time.


HIH,
Gianluca


More information about the drbd-user mailing list