Servidor De Ra�ces NFS Mini-COMO
 Ofer Maor, [email protected]
 Traducido por Rodolfo Pilas, [email protected]
 v3, 5 Diciembre 1996

 El objetivo de este Mini-COMO es explicar c�mo crear directorios en un
 servidor que los clientes montar�n como su directorio ra�z por NFS.
 ______________________________________________________________________

 �ndice General:

 1.      Derechos

 1.1.    Agradecimientos

 2.      Prefacio

 2.1.    Nota

 3.      Creaci�n del directorio ra�z de los clientes

 3.1.    Creaci�n del �rbol de directorios

 3.2.    Creaci�n del sistema de archivos m�nimo para arrancar

 3.2.1.  Creaci�n del directorio /dev

 3.2.2.  Copia de los binarios necesarios

 3.2.3.  El directorio /var

 3.2.4.  El resto de los directorios

 3.3.    Preparaci�n del directorio /etc  y configuraci�n de los
 clientes

 3.3.1.  Creaci�n del �rbol etc  de los clientes

 3.3.2.  Creaci�n del directorio /etc  del cliente

 3.3.3.  Arrancando

 4.      Creaci�n de m�s clientes

 5.      Anexo: El INSFLUG
 ______________________________________________________________________

 1.  Derechos

 � 1996 Ofer Maor [email protected]

 Se puede encontrar la �ltima versi�n de este Mini-COMO (HTML o texto)
 en http://www.hadar.co.il/ofer/nfs-root-client/

 Salvo que exista una aclaraci�n en contra, los documentos COMO de
 Linux son propiedad de sus respectivos autores. Los documentos COMO de
 Linux pueden ser reproducidos o distribuidos en su totalidad o en
 parte, en cualquier medio f�sico o electr�nico, siendo estas
 declaraciones de derechos aplicables a todas las copias.  Se permite y
 fomenta las redistribuciones comerciales, pero en esos casos el autor
 debe ser notificado.

 Todas las traducciones y trabajos derivados que incorporen cualquier
 documento COMO de Linux est�n cubiertos por esta declaraci�n de
 derechos.  Esto es, Usted no puede producir trabajos derivados de un
 COMO e imponerle restricciones adicionales.  Pueden ser concedidas
 excepciones a estas reglas bajo ciertas condiciones; por favor,
 contacte con el coordinador de los COMO de Linux en la direcci�n que
 se indica m�s adelante.

 En resumen, deseamos promover la diseminaci�n de esta informaci�n a
 trav�s de tantos canales como sea posible.  Sin embargo, se desea
 retener los derechos sobre los documentos COMO, y nos gustar�a estar
 informados de cualquier plan de redistribuir los COMOs.

 Si tiene preguntas, por favor, contacte con Ofer Maor
 [email protected], o Greg Hankins, el coordinador de los Linux COMO,
 [email protected] v�a correo electr�nico.

 Si tiene cualquier cosa para agregar a este Mini-COMO, por favor env�e
 un email al autor (Ofer Maor [email protected]), con la informaci�n.
 Toda informaci�n nueva que sea relevante ser� bienvenida.

 1.1.  Agradecimientos

 Me gustar�a expresar mi agradecimiento al autor de Linux Con Ra�z NFS
 Mini-COMO, Andreas Kostyrca, [email protected].  A partir de su
 Mini-COMO pude dar los primeros pasos para montar mis clientes con
 directorio ra�z por NFS.  Este Mini-Como no pretende, de ninguna
 forma, suplantar dicho trabajo; lo ampl�a usando mi experiencia en
 este proceso.

 Tambi�n quiero agradecer a Mark Kushinsky, [email protected] por pulir
 el ingl�s y las expresiones de este Como, hasta lograr hacerlo mucho
 m�s legible.

 2.  Prefacio

 Este Mini-Como ha sido escrito para ayudar a las personas que desean
 preparar los directorios de un servidor para ser montados como
 directorio ra�z mediante por clientes NFS.

 Por favor, tenga en cuenta que existen muchas maneras de lograr esto,
 dependiendo de las necesidades y de sus intenciones.  Si cada cliente
 es individual, y cada uno de ellos tiene su propio usuario y
 administrador, ser� necesario que una parte significativa de los
 directorios de cada cliente no sea compartida con otro cliente.  Por
 otro lado, si el cliente es accesible a muchos usuarios y est�n todos
 administrados por la misma persona (como en un aula de clases), se
 buscar� que la mayor cantidad posible de archivos est�n compartidos a
 los efectos de hacer la administraci�n m�s manejable.  Este Como se
 enfoca en esta segunda opci�n.

 2.1.  Nota

 Cuando se construye el que ser� el directorio ra�z del cliente, y se
 trata de ocupar un espacio m�nimo, se debe atender principalmente a
 qu� archivos pueden ser compartidos o montados desde el servidor.  En
 este Como recomiendo la configuraci�n de un cliente basado en mi
 experiencia.  Pero antes de empezar tenga en cuenta que:

 �  Este Mini-COMO no explica la importaci�n del directorio ra�z por
    NFS. Refi�rase al Linux-Con-Ra�z-NFS Mini-COMO si necesita mayor
    informaci�n sobre esto.
 �  Yo baso la mayor�a de las configuraciones de mis clientes en
    montajes y enlaces simb�licos.  Muchos de los enlaces simb�licos
    pueden ser reemplazados por enlaces r�gidos (hardlinks).  Uno puede
    elegir de acuerdo a sus preferencias personales.  Utilizar enlaces
    r�gidos sobre lo montado en vez de enlaces simb�licos tiene sus
    ventajas, pero puede causar confusi�n.  Un archivo no es borrado
    definitivamente hasta que todos los enlaces r�gidos sean
    eliminados.  Por esto, en previsi�n del caso en que alg�n archivo
    sea puesto al d�a y el enlace r�gido todav�a se refiera a la
    versi�n vieja, es necesario tener especial cuidado en recordar cada
    enlace que utilice.

 �  Cuando se monta la informaci�n desde el servidor, pueden seguirse
    dos m�todos.  El primero (y m�s com�n), es montar la totalidad del
    directorio ra�z del servidor bajo un directorio local, y cambiar
    simplemente la trayectoria de b�squeda o enlazar los directorios
    relevantes all�.  Personalmente no me gusta montar la partici�n
    ra�z del servidor en los clientes.  Por ello, este Como sugiere un
    m�todo para montar los directorios relevantes del servidor en los
    lugares apropiados del sistema.

 �  Este Como est� basado en mi experiencia en la preparaci�n de
    directorios para clientes basados en la distribuci�n Slackware 3.1.
    Algunas cosas pueden resultar diferentes (especialmente en los
    archivos rc.*), para usuarios de otras distribuciones, sin embargo
    los m�todos y conceptos no var�an.

 3.  Creaci�n del directorio ra�z de los clientes

 3.1.  Creaci�n del �rbol de directorios

 Antes que nada, es necesario crear la estructura de directorios en s�.
 Yo creo todos los clientes bajo /clients/nombre-maquina y usar� esto
 en los ejemplos que cito a continuaci�n.  No obstante, se puede
 cambiar por cualquier otro nombre.  La primera etapa por tanto,
 consiste en crear los directorios relevantes en el que ser� directorio
 ra�z del cliente.  Se deben crear los siguientes directorios:

      /bin
      /dev
      /etc
      /home
      /lib
      /mnt
      /proc
      /sbin
      /server
      /tmp
      /usr
      /var

 y cualquier otro directorio que desee tener en su sistema.

 Los directorios locales /proc y /dev deben ser utilizados
 separadamente por cada m�quina, a diferencia del resto de directorios,
 que pueden estar compartidos parcial o completamente con el resto de
 los clientes.
 3.2.  Creaci�n del sistema de archivos m�nimo para arrancar

 3.2.1.  Creaci�n del directorio /dev

 Si bien el directorio /dev puede ser compartido, es mejor crearlo
 separado para cada cliente.  Puede crear dicho directorio en el
 cliente con la macro MAKEDEV; sin embargo, en muchos casos resulta m�s
 simple copiarlo del servidor:

      cp -a /dev /clients/nombre-maquina

 Debe recordar que /dev/mouse, /dev/cdrom y /dev/modem son enlaces
 simb�licos a los dispositivos actuales y por tanto, asegurarse de que
 queden enlazados correctamente para apuntar al hardware
 correspondiente del cliente.

 3.2.2.  Copia de los binarios necesarios

 Aunque montemos todo desde el servidor, existe un grupo de binarios
 que necesitamos copiar para cada cliente.  Para empezar, necesitamos
 "init", ya que nuestro sistema no podr� ejecutar nada antes de
 inicializarse (como su autor indica en los comentarios sobre el
 programa).

 Por tanto, primero deber� copiar /sbin/init al directorio /sbin del
 cliente y como ejecutar� rc.S, necesitar� copiar /bin/sh al directorio
 /bin del cliente. Para poder montar necesitar� copiar /sbin/mount al
 directorio /sbin del cliente.

 Esto es lo m�nimo, asumiendo que la primera l�nea de su rc.S es mount
 -av.  No obstante, recomiendo copiar algunos archivos m�s: update, ls,
 rm, cp y umount, y as� disponer de las herramientas b�sicas en caso de
 que el cliente tenga problemas para montar.  Si elige tener el swap
 habilitado antes de montar, tambi�n tendr�a que copiar el binario
 swapon.

 Ya que muchos de estos binarios est�n por defecto compilados
 din�micamente, necesitar� copiar una peque�a parte de /lib:

      cp -a /lib/ld.* /lib/libc.* /lib/libcurses.* /client/nombre-maquina/lib

 Tambi�n es posible enlazar los binarios a s� mismos, en lugar de
 copiarlos. Por favor, lea mis comentarios de la secci�n ``'' de este
 documento.

 Tenga en cuenta que estamos asumiendo que el n�cleo ha recibido todos
 los par�metros de red mientras se iniciaba. Si planea utilizar rarp o
 bootp, posiblemente necesite copiar tambi�n los binarios relevantes
 para esto.

 Generalmente, se necesitar� tener un m�nimo de archivos disponibles
 para configurar la red y ejecutar rc.S hasta el momento en que se
 monta el resto del sistema de archivos.

 3.2.3.  El directorio /var

 El directorio /var, en muchos casos, puede ser separado para cada
 cliente. Sin embargo, gran parte de la informaci�n puede estar
 compartida.  Cree bajo el directorio del servidor un directorio
 llamado var.  Montaremos el directorio /var de all�. Para crear el
 directorio local /var, simplemente escriba:

      cp -a /var /clients/nombre-maquina

 Ahora, tiene la posibilidad de elegir lo que desea separar, y lo que
 desea compartir.  Para compartir cualquier directorio/archivo,
 elim�nelo simplemente del directorio /var del cliente y enl�celo en al
 directorio /server/var.  Tenga en cuenta que debe enlazar tanto para
 /server/var como para ../server/var pero NO para /clients/nombre-
 maquina/server/var ya que esto no funcionar� cuando cambie el
 directorio ra�z en cada cliente.

 Generalmente recomiendo separar /var/run, /var/lock, /var/spool y
 /var/log.

 3.2.4.  El resto de los directorios

 �  /etc se explica en la siguiente secci�n.

 �  /mnt y /proc son para prop�sitos locales de cada cliente

 �  /usr y /home son solamente para montar

 �  /tmp depende de Usted.  Se puede crear un directorio tmp diferente
    para cada cliente, o crear un directorio /clients/tmp y montarlo
    para cada cliente en /tmp.  Yo recomiendo darle a cada cliente un
    directorio tmp separado.

 3.3.  clientes Preparaci�n del directorio /etc  y configuraci�n de los

 Tenga en cuenta lo siguiente: esta secci�n se refiere a la creaci�n
 del directorio etc que est� preferentemente compartido entre los
 clientes. Si sus clientes sin disco tienen administradores de sistema
 diferentes, lo mejor es configurar un directorio etc para cada
 cliente.

 3.3.1.  Creaci�n del �rbol etc  de los clientes

 Aunque separemos el directorio etc para los clientes, mantendremos
 compartida una gran parte de los archivos que all� se encuentran.
 Creo que compartir los archivos con el /etc del servidor es mala idea,
 y recomiendo crear un directorio /clients/etc que contenga la
 informaci�n compartida entre los clientes.  Para arrancar con esto,
 simplemente copie el contenido del /etc del servidor en el directorio
 /clients/etc.

 Se deber� colocar en este directorio todos los archivos de
 configuraci�n que no sean espec�ficos para una m�quina, como pueden
 ser motd, issue, etc. y no los que sean espec�ficos del cliente, como
 inittab o fstab.

 El cambio m�s importante que deberemos realizar estar� bajo el
 directorio rc.d. Primero, deberemos cambiar rc.inet1 para que refleje
 la configuraci�n local. Yo paso al n�cleo todos los par�metros de red
 usando LILO/Loadlin, por lo que quito todo lo relacionado del archivo
 rc.inet1.  Lo �nico que dejo all� son los binarios ifconfig y route
 del cliente.  Si utiliza rarp o bootp, necesitar� crearlo acorde a
 esto.

 En segundo lugar, deber� editar su rc.S y eliminar todas las partes
 responsables de la comprobaci�n por parte de fsck que tiene lugar
 cuando arranca el servidor.  Debe encontrar la l�nea que monta su
 fstab, que se parecer� a:

      mount -avt nonfs

 El par�metro -t nonfs se debe a que los clientes normales ejecutan
 primero rc.S, usando despu�s rc.inet1 para configurar la red.  Como
 esto provoca que no sea montada ninguna partition NFS, la l�nea es
 ignorada, y por ello, se debe cambiar a mount -av.  Si necesita
 ejecutar rarp/bootp para configurar la red, h�galo en rc.S (o incluya
 una llamada a alguna macro desde rc.S), antes de montar, y aseg�rese
 de que sus directorios /bin y /sbin tengan disponibles los archivos
 necesarios.

 Una vez se lleva a cabo mount -av, tendr� un sistema de archivos
 funcionando.  Cree un fstab general, luego puede copiarlo en cada
 cliente.  Su fstab debe ser aproximadamente como este:

        server/nfs                                    default  1 1
        server:/bin           /bin            nfs     default  1 1
        server:/usr           /usr            nfs     default  1 1
        server:/sbin          /sbin           nfs     default  1 1
        server:/home          /home           nfs     default  1 1
        server:/lib           /lib            nfs     default  1 1
        server:/clients/etc   /server/etc     nfs     default  1 1
        server:/clients/var   /server/var     nfs     default  1 1
        none                  /proc           proc    default  1 1

 Aseg�rese tambi�n de que el /etc/exports del servidor sea algo como:

   /clients/<nombre-m�quina>     maquina.dominio(rw,no_root_squash)
   /clients/etc                  maquina.dominio(ro,no_root_squash)
   /clients/var                  maquina.dominio(ro,no_root_squash)
   /usr                          maquina.dominio(ro,no_root_squash)
   /sbin                         maquina.dominio(ro,no_root_squash)
   /bin                          maquina.dominio(ro,no_root_squash)
   /lib                          maquina.dominio(ro,no_root_squash)
   /home                         maquina.dominio(ro,no_root_squash)

 Con excepci�n de la primera l�nea, que debe ser �nica para cada
 m�quina, el resto de las l�neas pueden ser reemplazadas por nombres
 que engloben a todas las m�quinas (por ejemplo pc*.dominio).  Le
 sugiero crear la mayor�a de los directorios como s�lo lectura, aunque
 esto es decisi�n suya. La indicaci�n no_root_squash har� que los
 usuarios administradores de los clientes tengan tambi�n los permisos
 vigentes de root sobre nfsd. Revise la p�gina man exports(5).  Si
 desea que los usuarios puedan ejecutar passwd desde los clientes,
 aseg�rese que /etc est� con permisos rw y no ro.  Aunque esto no es
 obligatorio.

 Por favor, tenga en cuenta otro detalle en el archivo rc.S.  En
 Slackware, por defecto, se crea un nuevo /etc/issue y /etc/motd cada
 vez que se ejecuta.  Esta funci�n DEBE ser deshabilitada si dichos
 archivos son montados como s�lo lectura desde el servidor, y
 recomiendo que est�n deshabilitados en todos los casos.

 Finalmente, si desea mantener la misma base de usuarios tanto en el
 servidor como en los clientes, deber� elegir entre:

 1. usar NIS (P�ginas Amarillas - revise el NIS-Como), cada cliente
    deber� disponer, por separado, de un /etc/passwd y un /etc/group
    tal y como lo recibe del servidor NIS.

 2. En la mayor�a de los casos, ser� suficiente con un simple enlace
    simb�lico.  Por lo tanto, necesitar� o bien un enlace r�gido
    (hardlink) de /clients/etc/passwd a /etc/passwd, o si prefiere, un
    enlace simb�lico, enlazando /etc/passwd a /clients/etc/passwd (y no
    de la otra forma, ya que los clientes no montar�n el directorio
    /etc del servidor).  Haga lo mismo para /etc/group.

 3.3.2.  Creaci�n del directorio /etc  del cliente

 Generalmente, la mayor�a de los archivos en el /etc del cliente
 estar�n enlazados simb�licamente con el directorio /server/etc.  Sin
 embargo, algunos archivos son diferentes para cada m�quina, y otros
 solamente tienen que estar all� cuando el n�cleo los carga.  Lo m�nimo
 que se necesita en el directorio /etc es lo siguiente:

      resolv.conf
      hosts
      inittab
      rc.d/rc.S
      fstab

 Ya que estos cinco archivos pueden ser id�nticos para todos los
 clientes, los puede simplemente enlazar r�gidamente o copiarlos una y
 otra vez.  No obstante, con los archivos rc.S y fstab debe tener
 presente que se necesita una copia separada para cada cliente.
 Tambi�n necesitar� separar el /etc/HOSTNAME de cada cliente.  Yo
 personalmente recomiendo tener todos los archivos de rc.d separados
 para cada cliente, ya que la configuraci�n de hardware puede variar de
 uno a otro.

 Para cada cliente, agregue en el fstab una l�nea apropiada para el
 archivo de intercambio:

         /dev/particion_swap              swap    swap    default 1 1

 Con el resto de los archivos del /etc del cliente, puede o bien
 enlazarlos r�gidamente a los archivos /clients/etc/* o bien
 simb�licamente con /server/etc (ya que es el punto de montaje de
 /clients/etc/)

 Aseg�rese de que su m�quina puede resolver apropiadamente, tanto a
 trav�s de named como de etc/hosts.  No es mala idea mantener el n�mero
 IP del servidor en /etc/hosts, en lugar de contar con resolverlo.  Si
 conf�a resolverlo con named solamente, cualquier problema con named
 puede impedir que sus clientes arranquen.

 3.3.3.  Arrancando

 Ahora, todo lo que necesita hacer es iniciar su m�quina, cruzar los
 dedos y esperar que todo funcione como debe :-).

 4.  Creaci�n de m�s clientes

 Si ha seguido mis instrucciones, lo cual deber�a haberle resultado
 simple, cambie al directorio /clients/ y escriba:

      cp -a hostname1 hostname2

 y aseg�rese de revisar estos puntos:

 los archivos rc.d/* coinciden con el hardware y la configuraci�n de
 software de /etc/HOSTNAME es correcta, la l�nea del archivo de swap en
 fstab es correcta, y los enlaces simb�licos a dev/mouse, dev/modem y
 dev/cdrom son correctos.

 Mucha suerte ...

 5.  Anexo: El INSFLUG

 El INSFLUG forma parte del grupo internacional Linux Documentation
 Project, encarg�ndose de las traducciones al castellano de los Howtos
 (Comos), as� como la producci�n de documentos originales en aquellos
 casos en los que no existe an�logo en ingl�s.

 En el INSFLUG se orienta preferentemente a la traducci�n de documentos
 breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
 :) ), etc.

 Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.

 En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
 traducciones:  www.insflug.org. Aseg�rese de comprobar cu�l es la
 �ltima versi�n disponible en el Insflug antes de bajar un documento de
 un servidor r�plica.

 Se proporciona tambi�n una lista de los servidores r�plica (mirror)
 del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
 recursos en castellano.

 Francisco Jos� Montilla, [email protected].