home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / sys / next / sysadmin / 6488 < prev    next >
Encoding:
Text File  |  1992-11-14  |  8.6 KB  |  184 lines

  1. Newsgroups: comp.sys.next.sysadmin
  2. Path: sparky!uunet!charon.amdahl.com!pacbell.com!ames!agate!stanford.edu!leland.Stanford.EDU!news
  3. From: gcolello@biosphere.Stanford.EDU (Greg Colello)
  4. Subject: Final Chap?: Client / Server Lookalike (GURU's SCAN PLEASE)
  5. Message-ID: <1992Nov14.040249.10599@leland.Stanford.EDU>
  6. Sender: news@leland.Stanford.EDU (Mr News)
  7. Organization: DSO, Stanford University
  8. Date: Sat, 14 Nov 92 04:02:49 GMT
  9. Lines: 173
  10.  
  11. Keywords: server  client
  12. Distribution: world
  13.  
  14. UNIX GURU's. OPINIONS NEEDED ON ONE POINT!!! PLEASE SCAN BEFORE IGNORING.
  15.  
  16. I have a VERY simple non-Netboot solution to client/server lookalike  
  17. problem, but I'm afraid it may cause system corruption. Guru's skip to   
  18. paragraph labeled "QUESTION" below. The rest of this is a step-by-step  
  19. outline of the whole server/client setup process.
  20.  
  21. ---------------------------------------------------------
  22. Well I got a lot of advice on how to make client filesystems identical to  
  23. their server's. I learned the following that I think is worth sharing  
  24. (assumes the standard Netinfo server/client arrangement):
  25.  
  26. 1. Backup all relevant files (of course). Attach cd-rom drive directly to  
  27. each machine in turn. Use complete install option of NS 3.0 installer  
  28. (init disk) for both server and clients. Install base OS ~70MB. It is not  
  29. necessary to partition the server's disk into read only and read/write  
  30. export sections (because I'm going to export root and keep everything  
  31. under root on the server on a 1GB drive). Use HostManager Local option for  
  32. each client to set them up on the network. Make then Netinfo clients. Add  
  33. /etc/resolv.conf file for domain name server (if any). Adjust client's  
  34. sendmail to use server's name in their From: field. That's it for the  
  35. clients. All other work is done on the server.
  36.  
  37. 2. Set up network accounts (at root domain level), but make their home  
  38. directories be /Users/person instead of /Net/server/Users/person (This  
  39. avoids the automounting associated with /Net. I tested it. The /Net  
  40. approach appeared to have about 3 times slower access times than a hard  
  41. mount ALL THE TIME. Does this make sense?) Restore account data from  
  42. backups as needed.
  43.  
  44. 3. Set up server as mail server.
  45.  
  46. 4. Export root as read/write from the server to each of the clients. NFS  
  47. Manager is great for doing this although you've got to double-click the  
  48. return button to get "/" to register. Each client gets root access.
  49.  
  50. 5. At Netinfo root domain level in NFS Manager set up the following  
  51. imports (another great use of NFS Manager):
  52.  
  53. server:/bin /bin                                    ro
  54. server:/lib /lib                                    ro
  55. server:/usr /usr                                    ro
  56. server:/LocalApps /LocalApps                        ro
  57. server:/LocalLibrary /LocalLibrary                  ro
  58. server:/NextApps /NextApps                          ro
  59. server:/NextDeveloper /NextDeveloper                ro         
  60. server:/NextLibrary /NextLibrary                    ro
  61. server:/private/spool/mail /private/spool/mail      rw
  62. server:/Users /Users                                rw
  63.  
  64. {One person suggested that /LocalApps and /LocalLibrary may need to be  
  65. mounted rw. So far no problem. When it is a problem, I'll change the  
  66. mount. It's trivial with NFS Manager. (If you haven't guessed by now, I  
  67. REALLY like NFS Manager.)}
  68.  
  69. All of the above mounts will be done on each Netinfo child of the root  
  70. domain at boot time. The mounter is smart enough to not mount to the  
  71. server even though it's a child of the root domain also. Messages appear  
  72. saying something like "server:/bin /bin  Not done because /bin is already  
  73. local to server"
  74.  
  75. The interesting thing I learned is that these mounts simply "override" the  
  76. existing directories on the clients without disturbing the existing  
  77. contents. Thus the existing contents are used at boot time and then simply  
  78. disappear to be replaced by the server's directories after booting is  
  79. completed. I never knew that mounting could work this way. It's not in the  
  80. Sys Admin Manual that's for sure.
  81. -----------------------------------------------------------------
  82. QUESTION: This seems to work great except I worry about things like page  
  83. faulting on processes that were started at boot time (for example  
  84. /usr/etc/netinfod) from the client's directories which now point to the  
  85. server due to "overmounting". I'm worried about mixed up inodes or  
  86. something. However, no apparent problems so far of any kind (we're been  
  87. running this way for 3 days). Any comments from the guru's? Have I  
  88. committed an unspeakable sin? Read on for more detailed analysis...
  89. ------------------------------------------------------------------
  90.  
  91. You might wonder why I would export directories like /bin, /lib, and /usr.  
  92. Well that's because typical software loaded on the server put things in  
  93. these directories. In fact I chose all the above directories as import  
  94. candidates by looking at the log file list from the package Installer for  
  95. the following packages:
  96.  
  97. Abbrv       Full Name
  98. -------     --------------------------------------------
  99. Imp         Improv
  100. Exe         Executor
  101. Drw         Draw
  102. Frm         Framemaker
  103. CoX         CoXist
  104. F77         Absoft Fortran 77
  105. Dan         Data Analyzer Plotting
  106. Dgm         Diagram
  107. Dem         NextStep 3.0 Demonstartions
  108. Dev         NextStep 3.0 Developer
  109. DgW         NextStep 3.0 DigitalWebster
  110. Doc         NextStep 3.0 Documentation
  111. Lit         NextStep 3.0 Literature
  112. Tex         NextStep 3.0 NeXTTeX
  113. ApT         NextStep 3.0 NeXT_AppleTalk
  114. Syb         NextStep 3.0 Sybase_DB-Library
  115.  
  116. Here is where they installed themselves on the server (and this is before  
  117. running any command-line install scripts like Tex has):
  118.  
  119.                                                   Packages Writing to Dir
  120. Directory (Dir)                                   or Somewhere Below Dir
  121. --------------------------------------------      -----------------------
  122. /LocalApps                                          Imp, Exe, Drw, Frm,
  123.                                                     CoX, F77, Dan, Dgm
  124.  
  125. /NextDeveloper                                      Tex, Dev, Dem
  126.  
  127. /NextLibrary                                        DgW, ApT, Doc, Lit,
  128.                                                     Tex, Dev, Syb
  129.  
  130. /NextApps                                           DgW, Lit
  131.  
  132. /LocalLibrary                                       Tex
  133.  
  134. /bin                                                Tex, Dev
  135.  
  136. /lib                                                Dev
  137.  
  138. /private/tftpboot/boot.cdrom, diagnostics, mach     Dev
  139.  
  140. /usr/bin                                            Dev
  141. /usr/dict                                           Dev
  142. /usr/etc                                            ApT
  143. /usr/netware                                        Dev
  144. /usr/pub                                            Dev
  145. /usr/template/client/tftpboot                       Dev
  146. /usr/sybase                                         Syb
  147. /usr/ucb                                            Dev
  148. /usr/tex                                            Tex
  149. /usr/include --> /NextDeveloper/Headers             Dev
  150. /usr/man --> /NextLibrary/Documentation/ManPages    CoX, F77, Dev
  151. /usr/lib                                            ApT, Doc, Dev, Syb,
  152.                                                     CoX
  153.  
  154.  
  155. COMMENTS:
  156.  
  157. Now the problem comes in that the boot scripts look for boot modules in  
  158. /bin, /usr/bin, /usr/etc, and (where else?).  How about /private/tftpboot?  
  159. Is it used at boot-time? I suspect so. That's why I haven't imported it  
  160. yet (see import table above). I suspect the additions made to  
  161. /private/tftpboot by the Developer package must be present at boot time.  
  162. If so, can I just copy them to the clients? (Why are these files  
  163. boot.cdrom, diagnostics, and mach added by the Developer package anyway?)
  164.  
  165. These packages make huge changes to all the above-mentioned boot target  
  166. directories. Is this a mess or what? I sure don't care to sift out  
  167. installed files from these directories (and make copies of them on the  
  168. clients) each time I install a package.
  169.  
  170. Why isn't all boot code isolated to /private or /etc anyway? For example  
  171. mach_init is in /etc as a LINK to /usr/etc/mach_init (where mach_init  
  172. really is). Since packages come along and modify /usr, the server should  
  173. serve /usr to its clients. But this means overmounting boot-time things  
  174. like /usr/etc/mach_init.
  175.  
  176. Please tell me I'm worrying about nothing....If so, the above importing  
  177. solution is quick, simple, and thorough.
  178.  
  179. -----------------------------------------------------------------
  180. Greg Colello
  181. Carnegie Institution, Department of Plant Biology
  182. Stanford University
  183. gcolello@biosphere.stanford.edu
  184.