berger@gaia@mbunix.mitre.org (Bob Berger) (02/08/89)
[[ Followups were directed at comp.unix.wizards, but I think answers would be appropriate for this group as well. --wnl ]] It looks to me that the automount capability that comes with SunOS 4.0 is THE way to organize and control the mounting of stuff across an NFS environment. Here is what I'm planning to do, tell me if I'm crazy or if there is a better way and if there are answers to the questions that I have: Use the /etc/fstab of each diskful system to just mount the actual drives that are physically controlled by each CPU (ie don't have any nfs mounts in any of the server or client's /etc/fstab): /dev/sd0a / 4.2 rw 1 1 /dev/sd0g /usr 4.2 rw 1 2 /dev/sd0h /home 4.2 rw 1 3 /dev/sd0f /var 4.2 rw 1 4 /dev/sd0e /export/swap 4.2 rw 1 5 /dev/sd0d /export/root 4.2 rw 1 6 I can then have a generic dynamic mounting of all the server's exported file systems by having all servers and clients execute the following command in their rc.local: automount /net -hosts Then have all the home directories mounted in /homes by using the following automount command on each computer: automount /homes -passwd Now the manual page for automount says that the passwd entries must be in the form of: /dir/server/username I am not yet clear how to set this up. I have the following questions: - Where does the actual physical home directory live? - Is that different than what is in the passwd entry? - Is "/dir" magical or should it be the dir (first argument, /homes) of the automount command? I've tried several combinations and can not make it work. Finally I want to use a yellow pages map as kind of a network wide /etc/fstab for mounting shared files and packages at particular mount points. Things like /usr/lib/news, news spoolers, mail spoolers, emacs lib, sources, man pages, homes of various tools (framemaker, CASE, etc) to be mounted in nice places like /usr or /usr/local on all machines, but they may actually live at some arbitrary path on arbitrary servers. I figure for some critical packages I can have a few servers and use the feature of automount where you can give it a list of servers and it will mount the one that responds first. This would give the network a bit of fault tolerance. Now the automount man page says this can be done by making a yellow pages map. Its not clear what the source format should be and exactly how to install it as a yellow pages map. Any tips, suggestions, experiences? The only documentation I can find on this is the man page for automount! Please email replies, I will summarize. Bob Berger Datacube Inc. Systems / Software Group 4 Dearborn Rd. Peabody, Ma 01960 VOICE: 508-535-6644; FAX: (508) 535-5643; TWX: (710) 347-0125 UUCP: berger@datacube.COM, uunet!datacube!berger rutgers!datacube!berger
dwight@ee.ecn.purdue.edu (Dwight D. McKay) (02/22/89)
I've worked up a method for using automount here at ECN which gives us access to all our user file systems from any Sun as well as manual page service from the least loaded manual page server. It works like this: According to the automount source (the only "true" reference :-)), the automounter reads the "auto.master" YP map to get it's options. Ours looks like this: # ECN wide configuration map for automounter /net auto.net -rw,hard This has automount use /net to mount things from a list contained in the YP map auto.net. I created auto.net myself and added it to the YP makefile, etc. Part of our auto.net looks like this: # DON'T TOUCH IT # ECN-wide automounter configuration file. # This file is kept in /usr/src/etc and is both RCS'd and rdist'd. # first we list *the* source server SRC -soft,ro orchestra:/usr/src # next we list the manual page servers MAN -soft,ro \ aquarium:/usr/man \ author:/usr/man \ bank:/usr/man \ cidmac:/usr/man \ eadsbridge:/usr/man \ gus:/usr/man \ iies:/usr/man \ molecules:/usr/man \ orchestra:/usr/man \ rvl3:/usr/man \ spectrum:/usr/man \ stable:/usr/man \ zoo:/usr/man # next come the /home's on the network's file servers ampere -hard,intr,rw ampere:/home/ampere ampere2 -hard,intr,rw ampere:/home/ampere2 aquarium -hard,intr,rw aquarium:/home/aquarium aquarium2 -hard,intr,rw aquarium:/home/aquarium2 atoms -hard,intr,rw atoms:/home/atoms atoms2 -hard,intr,rw atoms:/home/atoms2 author -hard,intr,rw author:/home/author author2 -hard,intr,rw author:/home/author2 bank -hard,intr,rw bank:/home/bank bank2 -hard,intr,rw bank:/home/bank2 cidmac -hard,intr,rw cidmac:/home/cidmac There are more file servers, but that should give you the basic idea. This shows three basic catagories of automount use. Let me explain each one: Sources: Our local source pool is on a single source machine. On ALL our other Suns there's a sym-link: /usr/src -> /net/SRC Whenever a user needs to look at sources which are available for him to look at he just does something like: "more /usr/src/ecn/foo.c"; automount kicks in, and he gets what he needs. This gives wide access to a single filesystem without the penlty of being "hung" if the source server goes down and you're not using the sources. Manual Pages: This entry in auto.net shows off a really nifty automount feature, multiple sourcing. What is says is: get /usr/man from the first of these machines to respond. It works by sending a packet to each of those machines and picking the machine which gets an answer back first. We use a sym-link as above to trigger the whole thing: /usr/man -> /net/MAN It works pretty well, giving users manual page service even if one or more of the possible manual page servers is down. Furthermore, heavily used servers don't get futher bogged down with manual page service. User Files: This is pretty straight forward. Our /home holds mostly sym-links to /net. Stuff like: /home/aquarium -> /net/aquarium /home/cidmac -> /net/cidmac I wrote a short sed script which we run build the sym-links we need from the auto.net YP map. It gets run by cron and we use rdist to send out auto.net. The result is automatic filesystem availability when new file servers get installed. Automount is really nifty! It deserves better documentation. I hope my example has helped in that regard. --Dwight D. McKay --Engineering Computer Network, Purdue University --Work: mckay@harbor.ecn.purdue.edu, (317) 494-3561 --Home: ...rutgers!pur-ee!mckay!dwight