I got this fixed, or at least worked around it. Arrfab's post I got me thinking that with an active/passive config like ours, GFS wasn't really necessary. Only one node at a time controls/mounts the filesystem. I scratched all the GFS volumes and recreated them as ext3. The whole thing runs like a champ now.
Make sure you check Force Unmount when you create the ext3 resources. This ensures everything is unmounted before a node change.
Many of you probably know this, but it was new to me:
I was having trouble with uid/gid mappings of Active Directory users/groups when the cluster rolled to another node. I found the setting "idmap backend = idmap_rid" (Samba HowTo
) to be the fix. Now all my samba boxes have the exact same uid/gid mappings for all the domain users and groups.
Now if only quotas were as simple on ext3 as they were on GFS...