Linux con Raíz-NFS Mini-COMO <author>Andreas Kostyrka <tt><htmlurl url="mailto:andreas@ag.or.at" name="andreas@ag.or.at"></tt> &nl; Traducido por Rodolfo Pilas <tt><htmlurl url="mailto:rodolfo@linux.org.uy" name="rodolfo@linux.org.uy"></tt> <date>v7, 3 Febrero 1997 <abstract> Este Mini-COMO intenta explicar el procedimiento para configurar una estación de trabajo Linux sin disco, que monte la totalidad de su sistema de archivos vía NFS. </abstract> <toc> <sect>Derechos <p> © 1996 Andreas Kostyrka (<tt><htmlurl url="mailto:andreas@ag.or.at" name="andreas@ag.or.at"></tt> o <tt><htmlurl url="mailto:h9207884@falbala.wuwien.ac.at" name="h9207884@albala.wuwien.ac.at"></tt>) La última versión de este Mini-COMO se puede encontrar generalmente en <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/NFS-Root" name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/NFS-Root"></tt> o en cualquier réplica de sunsite cerca de Usted. Salvo que se indique lo contrario, 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 se fomenta las redistribuciones comerciales, pero en esos casos el autor debe ser notificado. Todas las traducciones y trabajos derivados de cualquier documento COMO de Linux están cubiertos por esta declaración de derechos. Esto significa que Usted no puede producir trabajos derivados de un COMO e imponerle restricciones adicionales. Se puede conceder excepciones a estas reglas bajo ciertas condiciones; por favor, contacte el coordinador de los COMO de Linux en la dirección que se indica abajo. Resumiendo: 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 HOWTO, y nos gustaría estar informados de cualquier plan de redistribución. Si tiene preguntas, por favor, contacte con Andreas Kostyrka <tt><htmlurl url="mailto:andreas@ag.or.at" name="andreas@ag.or.at"></tt>, el autor de este mini-COMO, o Greg Hankins, el coordinador de los HOWTO de Linux, <tt><htmlurl url="mailto:gregh@sunsite.unc.edu" name="gregh@sunsite.unc.edu"></tt> vía email o en el teléfono +1 404 853 9989 <sect1>Contribuciones <p> <itemize> <item> Avery Pennarun <tt><htmlurl url="mailto:apenwarr@foxnet.net" name="apenwarr@foxenet.net"></tt> (cómo arrancar sin LILO) <item> Ofer Maor <tt><htmlurl url="mailto:ofer@hadar.co.il" name="ofer@hadar.co.il"></tt> (realizó un COMO muy bueno referido a configurar una estación de trabajo sin discos) <item> Christina Leutloff <tt><htmlurl url="mailto:leutloff@sundancer.tng.oche.de" name="leutloff@sundancer.tng.oche.de"></tt> (provee información sobre netboot) </itemize> <sect>Visión General <p> Generalizando, existen los siguientes problemas en las estaciones de trabajo sin disco: <itemize> <item>Deben encontrar su propia dirección IP, y necesitan también el resto de la configuración de red. <item>Deben conocer el servidor NFS y el camino para montar su sistema de archivo raíz. </itemize> La actual implementación de <it/NFSROOT/ en el núcleo de Linux (a partir de la versión 1.3.7x) permite las siguientes soluciones: <itemize> <item>La dirección IP puede ser averiguada mediante RARP, o bien la configuración total de la red puede ser pasada al núcleo vía parámetros al núcleo usando <tt/LILO/ o <tt/LOADLIN/. <item>La ruta NFS a montar puede ser pasada vía parámetros al núcleo. Si no se hace esto, el núcleo asume que el servidor RARP es también servidor NFS, y utilizará lo que esté compilado por defecto como la ruta. (el valor actual por defecto en el núcleo es: <tt>/tftpboot/direccion_IP_de_la_maquina</tt>) <item>La configuración del cliente puede averiguarse por <tt/BOOTP/. </itemize> Antes de iniciar la configuración de un entorno sin disco, deberá decidir si arrancará vía <tt/LILO/ o <tt/LOADLIN/. La ventaja de hacerlo es la flexibilidad, la desventaja es la velocidad. El arranque de un núcleo de Linux sin <tt/LILO/ es más rápido. Esto puede ser o no de importancia. <sect>Configuración del servidor <p> <sect1>Compilación del núcleo <p> Incluir soporte <tt/RARP/ en el núcleo del servidor será probablemente una buena idea. Deberá estar habilitada si se arranca el núcleo sin parámetros. Por otro lado, ésto no le ayudará si el cliente no está en la misma subred que el servidor. El núcleo para la estación de trabajo necesita como configuraciones mínimas compiladas las siguientes: <itemize> <item>Soporte para sistema de archivos NFS compilado (no es necesario que tenga soporte <tt/ext2/ compilado monolíticamente, como módulo es suficiente) <item>La opción "<tt/Root on NFS/" debe estar habilitada. <item>El controlador que da soporte a la tarjeta de red de la estación de trabajo debe estar compilado. <item>De acuerdo a sus necesidades tendrá que incluir soporte <tt/RARP/ o <tt/BOOTP/ para <tt/NFS-Root/. (con esto me refiero a las opciones que siguen al apartado NFS del menú configurador del núcleo) </itemize> Si la estación de trabajo va a ser iniciada sin pasar parámetros al núcleo, será necesario declarar el dispositivo raíz en <tt/0:255/. Haga esto creando el fichero de dispositivo: <tscreen><verb> mknod /dev/nfsroot b 0 255 </verb></tscreen> Una vez creado, puede establecer el directorio raíz de la imagen del núcleo con: <tscreen><verb> rdev imagen_del_nucleo /dev/nfsroot </verb></tscreen> <sect1>Creación del sistema de archivos raíz <p> <sect2>Copiando el sistema de archivos <p> <bf>Atención:</bf> si bien estas instrucciones pueden resultar suficientes para Usted, no significa que sean óptimas en un sistema de trabajo. Hay un método mejor para configurar máquinas clientes con el sistema archivos raíz en NFS en el <it/Cliente-Con-Raíz-NFS mini-COMO/ de Ofer Maor, <tt><htmlurl url="mailto:ofer@hadar.co.il" name="ofer@hadar.co.il"></tt> Una vez decida dónde va a ser colocado el árbol raíz, cree éste con (por ejemplo): <tscreen><verb> mkdir -p directorio tar cClf / - | tar xpCf directorio </verb></tscreen> Si inicia el núcleo sin LILO, entonces el directorio raíz tiene que ser <tt>/tftpboot/dirección-IP</tt>. Si no le gusta esto, debe cambiarlo en la cabecera del <tt/Makefile/ de los fuentes del núcleo, busque una línea como: <tt>NFS_ROOT = -DNFS_ROOT=</tt>. Si cambia esto, será necesario recompilar el núcleo. <sect2>Cambios en el sistema de archivos raíz <p> Elimine los archivos innecesarios y revise las instrucciones de los ficheros de inicialización de <tt>/etc/rc.d.</tt> Algunos puntos importantes: <itemize> <item>Un aspecto importante es la configuración de la tarjeta ethernet. La estación de trabajo llega con una, al menos parcial, configuración de <tt/eth0/. Configurar la dirección-IP de la estación de trabajo como la dirección-IP del servidor no es correcto. (Como comprobó el autor en uno de sus primeros intentos) <item>Otro punto es el archivo <tt>/etc/fstab</tt> de la estación de trabajo, que debe estar configurado para un sistema de archivos NFS. <item><bf>CUIDADO:</bf> No confundir el sistema de archivos raíz del servidor y el sistema de archivos raíz de la estación de trabajo. (Yo configuraba el <tt/rc.inet1/ del servidor y me sorprendía al ver que la estación de trabajo seguía sin funcionar) </itemize> <sect2>Exportando el sistema de archivos <p> Exporte el directorio raíz a la estación de trabajo. Consulte <tt/exports(5)/. Se deberá reiniciar <tt>nfsd/mountd</tt> después de este cambio. Con RedHat esto puede llevarse a cabo fácilmente ejecutando: <tscreen><verb> /etc/rc.d/init.d/nfs stop /etc/rcd/init.d/nfs start </verb></tscreen> <sect2>Configuración RARP <p> Configure <tt/RARP/ en algún servidor de su red. Si arranca sin parámetros en <tt/nfsroot/, el servidor <tt/RARP/ debe además ser servidor NFS. Generalmente este será el servidor NFS. Para poder hacerlo, se necesita que el núcleo tenga soporte <tt/RARP/. Para hacer esto, ejecute (y coloque en algún lugar de <tt>/etc/rc.d</tt> en el servidor): <tscreen><verb> /sbin/rarp -s direccion-ip direccion-MAC-de-la-tarjeta </verb></tscreen> donde <descrip> <tag>direccion-ip:</tag>Dirección IP de la estación de trabajo y, <tag>direccion-MAC-de-la-tarjeta:</tag>Dirección MAC o hardware de la tarjeta de red de la estación de trabajo. </descrip> ejemplo: <tscreen><verb> /sbin/rarp -s 131.131.90.200 00:00:c0:47:10:12 </verb></tscreen> También puede usar un mnemónico en lugar de la dirección-IP, cuando el servidor esté capacitado para resolverlo, bien por poder encontrarlo en (<tt>/etc/hosts</tt> o por búsquedas en DNS) <sect2>Configuración de <tt>BOOTP</tt> <p> Para configurar BOOTP necesita editar <tt>/etc/bootptab</tt>. Por favor consulte las páginas <tt/man/ sobre <tt/bootpd(8)/ y <tt/bootptab(5)/. <sect2>Cómo averiguar las direcciones del hardware <p> <it>¡No sé cuáles son las direcciones MAC o de hardware! ¿Cómo puedo averiguarlas?</it> <itemize> <item>Arranque Linux con el disquete que ha hecho y busque la línea donde se reconoce la tarjeta de red. Normalmente se muestran 6 bytes hexadecimales que son la dirección de la tarjeta. <item>Arranque la máquina con cualquier sistema operativo que tenga soporte TCP/IP y haga un <tt/ping/ a la estación de trabajo desde el servidor. Revise el cache-ARP ejecutando: <tt>/sbin/arp -a</tt> </itemize> <sect>Arranque de la estación de trabajo <p> <sect1>Uso de una ROM de inicio (<it>BOOT ROM</it>) <p> Como yo no he usado ninguna en mis pruebas, solamente puedo dar algunas ideas (cortesía de Christian Leutloff, <tt><htmlurl url="mailto:leutloff@sundancer.tng.oche.de" name="leutloff@sundancer.tng.oche.de"></tt>): <itemize> <item>No es posible utilizar ROMs de arranque "normales". <item>Existe el paquete <tt/netboot/ de Gero Kuhlmann, que permite crear ROMs de inicio para Linux y que contiene la información necesaria. <tt/netboot/ está disponible en servidores ftp de Linux o como paquete Debian (<tt/netboot-0.4/). <item>Lea detenidamente la documentación que viene con su ROM de arranque. <item>Probablemente sea necesario habilitar <tt/tftpd/ en el servidor, dependerá de la forma en que su ROM de inicio cargue el núcleo. <item>Cualquier información sobre vendedores de ROMs con estas características para Linux será bienvenida, ya que nadie tiene acceso a una máquina grabadora (especialmente en Europa donde yo resido). Y yo la incluiría aquí. </itemize> <sect1>Uso de un disquete de arranque <p> Si ha exportado el sistema de archivos con el nombre correcto y su servidor NFS es también el servidor RARP (lo cual implica que las máquinas están en la misma subred), puede entonces simplemente arrancar Linux desde un disquete (necesita tener configurado como dispositivo raíz de dicho núcleo <tt/0:255/). Esto asume que el directorio raíz en el servidor es <tt>/tftpboot/dirección-IP</tt> (este valor puede ser modificado cuando se compila el núcleo). <sect1>Uso de un gestor de arranque y RARP <p> Pase al núcleo todos los parámetros cuando arranca y agregue <tscreen><verb> nfsroot=dir-IP-servidor:/ruta/a/montar </verb></tscreen> donde <tt>dir-IP-servidor</tt> es la dirección IP de su servidor NFS, y <tt>/ruta/a/montar</tt> es la trayectoria (<it/path/) al directorio raíz. Sugerencias: <itemize> <item>Cuando utilice LILO considere usar la opción "<tt/lock/": Simplemente escriba una vez los parámetros correctos y agregue "<tt/lock/". La siguiente vez que arranque deje que LILO haga todo. <item>Cuando genere un disco específico para una estación de trabajo, puede utilizar la opción <tt/append=/ en el fichero de configuración <tt/lilo.conf/ </itemize> <sect1>Uso de un gestor de arranque sin RARP <p> Además de <tt/nfsroot/ ponga el argumento <tt>nfsaddrs=maq-IP:serv-IP:pasa-IP:masc-IP:nombre-maq</tt> como parámetros para el núcleo. El núcleo configurará <tt/eth0/ con los parámetros que le ha proporcionado: <descrip> <tag><tt/maq-IP/</tag>Dirección IP de la estación de trabajo <tag><tt/serv-IP/</tag>Dirección IP del servidor NFS <tag><tt/pasa-IP/</tag>Dirección de la pasarela <tag><tt/masc-IP/</tag>Máscara de red <tag><tt/nombre-maq/</tag>Nombre de la máquina </descrip> <sect>Temas relacionados <p> <itemize> <item>Puede encontrar un cliente BOOTP en: <tt><htmlurl url="ftp://sunsite.unc.edu/system/Network/admin/bootpc.v045.tgz" name="ftp://sunsite.unc.edu/system/Network/admin/bootpc.v045.tgz"></tt> Con las nuevas actualizaciones, <tt/bzImage/ y <tt/initrd/ (que según entiendo se incorporan a partir de la versión 1.3.73), se puede hacer que funcione una estación de trabajo correctamente. <item>En el directorio de documentación de las fuentes del núcleo se encuentra un archivo documentando los sistemas Raíz-NFS. <item>Existe una actualización en circulación que permite tener un archivo de intercambio (swap) sobre NFS. </itemize> <sect>Anexo: El INSFLUG <label id="Grupos"> <p> El <em/INSFLUG/ forma parte del grupo internacional <it/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 <bf/INSFLUG/ se orienta preferentemente a la traducción de documentos breves, como los <em/COMOs/ y <em/PUFs/ (<bf/P/reguntas de <bf/U/so <bf/F/recuente, las <it/FAQs/. <tt/:)/ ), etc. Diríjase a la sede del INSFLUG para más información al respecto. En la sede del INSFLUG encontrará siempre las <bf/últimas/ versiones de las traducciones: <tt><htmlurl url="http://www.insflug.org" name="www.insflug.org"></tt>. 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 (<it/mirror/) del Insflug más cercanos a Vd., e información relativa a otros recursos en castellano. Francisco José Montilla, <tt><htmlurl url="mailto:pacopepe@insflug.org" name="pacopepe@insflug.org"></tt>. </article>