NetBSD-Help archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Odd behavior from amd
Hello all,
	I've got a strange problem that has been plaguing me for a while, 
and I have spent a good portion of today trying to get to the bottom of.
	We have a cluster of several machines (NetBSD 3.1 i386 running 
release 3.1 GENERIC kernels), each performing different functions, 
and we have our home directories mounted via nfs (exported split 
between a couple of the servers) by running amd with the same maps on 
each server.  This allows a user to log in anywhere and have their 
same home directory no matter which machine they are on.  This is 
generally very handy, and it works with remarkable stability, until I 
go and move a [not logged in] user's home directory from one server 
to another (for disk space management reasons, for instance).
	The problem boils down to this:  Every once in a while when I update 
the amd maps, amd will catch the change quickly enough, and amq will 
reflect the correct change, but the directory where the symlinks live 
(which amd implements as a read-only local NFS system which we mount 
on /home) will still have a symlink pointing to the old mapping location.
	For instance, if I have server_a, server_b, and server_c, and 
server_d where the home directories are mapped like this (on all four hosts):
bob     host!=server_a;rhost:=server_a;rfs:=/data/export/home \
        host==server_a;fs:=/data/export/home;type:=link
joe     host!=server_b;rhost:=server_b;rfs:=/data/export/home \
        host==server_b;fs:=/data/export/home;type:=link
dave    host!=server_b;rhost:=server_b;rfs:=/data/export/home \
        host==server_b;fs:=/data/export/home;type:=link
and I change that map to: (after copying joe's home directory from 
server b to server a)
bob     host!=server_a;rhost:=server_a;rfs:=/data/export/home \
        host==server_a;fs:=/data/export/home;type:=link
joe     host!=server_a;rhost:=server_a;rfs:=/data/export/home \
        host==server_a;fs:=/data/export/home;type:=link
dave    host!=server_b;rhost:=server_b;rfs:=/data/export/home \
        host==server_b;fs:=/data/export/home;type:=link
After waiting for the map_reload_interval to expire, all four servers 
(a,b,c,d) will (when asked with amq) tell me that the mapping has 
been picked up and honored, but if I go and look in /home, sometimes 
(but not always), the old symlink will still be there:
lrwxrwxrwx  1 root  wheel  21 Feb  8 15:33 /home/joe -> 
/.automount/server_b/data/export/home/joe
	This seems to occur more on servers that have lots of activity in 
the other amd mapped home directories, but not reliably on any given 
host.  An amq -f will not clear this condition, and it seems that the 
only way to get rid of this is to stop and restart amd (which I 
obviously don't like to do with 50+ users logged in).
Does anybody have any suggestions?
        Thanks Much,
                -lars
Home |
Main Index |
Thread Index |
Old Index