Operating System - HP-UX
1833355 Members
3836 Online
110051 Solutions
New Discussion

Re: Getting rid of MC /ServiceGuard

 
Enrico Venturi
Super Advisor

Getting rid of MC /ServiceGuard

Hello colleagues,
we're "under"-using MC / ServiceGuard ...
we use just a reduced subset of its functionalities then we'll replace it by some proprietary codes.
Now we've to implement the vgchange -e (mount exclusive) provided by MC / SG;
it's rather a difficult task.... we have to implement a "lock manager" on distributed systems, taking into account that one node may be isolated from the IP viewpoint even if it can mount the shared storages.

Can anyone help me? any suggestions on how to approach the problem? any available free software?

thanks a lot

Enrico
8 REPLIES 8
Rita C Workman
Honored Contributor

Re: Getting rid of MC /ServiceGuard

What ???

...I'm not certain what your goal is here....
Are you implementing the lock disk that would be required if you have 4 or less nodes ? -or- do you have more than 4 nodes involved in your distributed systems ?
...and I wonder what you mean by "isolated from the IP viewpoint".....because each cluster must be within the same subnet (with the exception of the heartbeat, which is usually it's own private world).

Seems to me, what your trying to do is re-write MC/SG into your own version of it. Getting disks that can be 'seen' by other nodes is not a big trick to bring up on other server. But automating the failover is where MC/SG proves it's worth.

Best Wishes on your endeavor...I apologize if I have misinterpreted your goal...but..I'll stick with the original.

Rgrds,
Rita


Enrico Venturi
Super Advisor

Re: Getting rid of MC /ServiceGuard

I'll try to better explain myself (thanks to Rita for her contribution):
* I want to NOT use MC/SG anymore
* I need a lock manager to arbitrate the mounting / dismounting of the shared disks

How can I easily implement the shared disks manager?

thanks a lot

Enrico
Geoff Wild
Honored Contributor

Re: Getting rid of MC /ServiceGuard

This will NOT be an easy task....

You will NOT be able to do a vgchange -e (only available with MC/SG).

That said, you could write a script that checks the output of a vgdisplay on the other node - if false, then allow the current node to vgchange -a y the vg and mount. You will still have to set AUTO_VG_ACTIVATE=0 in /etc/lvmrc so as to not automatically mount the "shared" vg.

This does NOT guarantee that someone trys to vgchange -a y on the other node when it is already mounted on current node. IMHO - you still run the risk of data corruption....

To prevent that, you would have to write a wrapper script for vgchange and mount....etc...etc...

If you really want to "ditch" MC/SG :( you might want to go all the way to Linux....

http://www.ram.org/computing/linux/linux_cluster.html

Rgds...Geoff
Proverbs 3:5,6 Trust in the Lord with all your heart and lean not on your own understanding; in all your ways acknowledge him, and he will make all your paths straight.
Not applicable

Re: Getting rid of MC /ServiceGuard

The only safe way to prevent dual activation and mounting of filesystems which is what you need to guarnetee prevention of data corruption is to do this at the kernel level.

It will be a complex job to implement this at a kernel level and would not be supported if you chose to do so.
Enrico Venturi
Super Advisor

Re: Getting rid of MC /ServiceGuard

What do you have in mind exactly?
Some lock manager via IP or something else?
can we rely on the disks themselves to know who is using them?
Steve Post
Trusted Contributor

Re: Getting rid of MC /ServiceGuard

You want to implement vgchange -ae. You want this because you want to make sure that one and only one box is using those sets of disks. Why don't you use vgchange -ay and make sure another box is not already using it....by a different method.

But I don't know how many disks, vg's, or boxes are in this equation. If you are talking 5 disks and 2 boxes. This is easy. If you are talking 100 disks and 3 boxes, you can do it too. You quadruple check what you're doing before you run vgchange.

I have 3 boxes and about 100 disks in an EMC disk array. I have a manual failover policy. I have perl scripts, reports, and spreadsheets to help me make sure I can move disks from one box to another. I know that /dev/dsk/c7t8d5 on box1 is /dev/dsk/c2t8d5 on box2. I know when the disk is active on box1, I leave it alone on boxes 2 and 3.

I use the -s option when creating vgname.map files.

When booting up, I don't have MC/Service guard enabled. I update file /sbin/init.d/extramount instead for the volume groups I would move from one box to another.

Hope some of this is applicable to your question. And I hope I am not leading you the wrong way.

steve
Stephen Doud
Honored Contributor

Re: Getting rid of MC /ServiceGuard

Serviceguard offers exclusive volume group activation as well as standby LAN failover, application start/stop automation and failure-handling operations - all to improve the availability of critical applications.

Serviceguard employs a daemon, cmlvmd, which uses Serviceguards' inter-node communication to track "exclusive" VG activation across nodes in the cluster. The vgchange command is 'wired' to consult cmlvmd for authorization to activate volume groups which have a cluster ID embedded in the VGDA (LVM structures on disk). The disks don't know which server is reading/writing to them.

As you can see, duplicating these safeguards is no minor task.

-StephenD.
Ted Buis
Honored Contributor

Re: Getting rid of MC /ServiceGuard

What your are asking for is the hardest part of SG to implement. Setting up a heartbeat is easy. Setting up failover is easy if the other node doesn't have files mounted. Keeping two nodes from developing split brain syndrome is hard work. If you have paid for SG, why stop using it?
Mom 6