I'm just about to setup a linux ha cluster using heartbeat and drbd.
The basic stuff is working so far and failover works perfect.
Useraccounts are handeled by OpenLDAP servers on both machines,
replicated by the 'syncrepl' method.
Now there is a NFS server running s a cluster service, exporting the
user's home directories, while importing these home directories is
done by automounter. If a user logs into the standby node of the
cluster, everything is fine, but loging to the node, that runs the NFS
server causes automount to cut of the hostname. df on both nodes would
look like this while node0 is the active and node1 is the standby
server and user0 is logged into bothe machines:
node0# df
....
/export/home/user0 /import/home/user0 ...
....
node1# df
....
virtualnode:/export/home/user0 /import/home/user0 ...
....
There is no problem at all until a failover is initiatet. node0 needs
to stop the NFS server, unmount /export and relese the virtual node's
IP adress, then node1 will take over the virtual IP adress, mount
/export and then start the NFS server. This only works, when there's
no active automount session on node0. Since noed0's automounter
'knows', that it mounts a local filesystem /export/home/user0 rather
then virtualnode:/export/home/user0), node0 cannot umount /export and
the whole failover process for NFS fails.
My question is now, how to tell automounter to allways mount it's
filesystems correctly by adding the virtual server's hostname to the
mount source as shown for node1 in my example.
Thanks & Regards
Skaghk
|