We are working on a multisite cluster (in this test case, it's a SQL
2012 cluster). We have installed clustering and SQL, told it it will
be a multisite.

We use EMC RecoverPoint to keep the SAN here and the one at the other
site in sync. EMC tells us we need to use a Generic Script Resource
that will tell the ReoverPoint when to transfer the active consistency
group (basically, the SAN LUN) to the other site, when we fail from
one node to the other.

So they gave us a sample VB script that uses plink (from the putty
folks) to issue failover commands to the RecoverPoint; the RPA
(RecoverPoint Appliance) has a CLI mode that you can access via SSH.
Hope all that's clear - when you fail over to the other node, the VB
script tells the RPA to move the disks there (if they are not already
there), so the cluster resource can come online at that site.

So here's the problem: the script works in one direction and not the
other. :-) Meaning: if the role is at HQ, but the RPA has the disks
active at the remote site, the script properly tells the RPA to move
the disks back to HQ, and the cluster comes online at HQ.

(we copied the same script to a folder on the C: drive of each node;
the one at HQ is customized to send to the RPA at HQ; the script at DR
is the same, except that it is customized to send to the RPA at DR)

However, at the remote site, the cluster won't even come up, even if
the script has nothing to do (if the role is at the remote site, and
the disks are at the remote site, there is nothing for the script to
do, and it just exits, after checking where the disks are at). The
problem is that we get an error "Incorrect function" on the script
resource at the remote site. (the "information details" link just says
"0x80070001 Incorrect function").  It never even executes, just errors
out, and so the role never comes online there. And there's nothing in
the event logs that is telling us why, or what function is incorrect,
or why ...

I'd like the script to actually write out some debugging info into the
log, so EMC added some "Resource.LogInformation" lines to the script.
But where do these lines write to? Is there supposed to be some
cluster.log written? I didn't see anything in "%windir%\cluster"
anywhere. What should be happening (in this test case) is that the
script queries where the disk are (are they at DR?), and then exits
with "success" status code (=0) because the answer is yes, the disks
are at DR. But obviously it's not doing that correctly ...

Anyone using a generic script resource? If so, are you using it like
we want to? :-)

I am missing something basic here, since it works in one direction,
but I don't know what ...


Reply via email to