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 ...
