Nodos sin disco

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Diskless nodes and the translation is 63% complete.

Other languages:
English • ‎español • ‎français • ‎日本語 • ‎한국어 • ‎русский

Este CÓMO le ayudará a crear y poner en marcha nodos sin disco en Gentoo Linux


Acerca de este CÓMO

This HOWTO will help setting up diskless workstations based on the Gentoo Linux distribution. This is guide is intended to make the process as user friendly as possible and cater to the Linux newbie, because everyone was at a certain point :) While an experienced user could easily tie the multiple HOWTOs available on diskless nodes and networking together it's hoped that this guide can ease the installation for all interested users, geeks or not.

¿Qué es una máquina sin disco?

A diskless machine is a PC without any of the usual boot devices such as hard disks, floppy drives or CD-ROMs. The diskless node boots off the network and needs a server that will provide it with storage space as a local hard disk would. From now on the server will be the master , while the diskless machine gets called the slave (what's in a name :). The slave node needs a network adapter that supports PXE booting or Etherboot; check for support listings. Most modern cards support PXE and many built-in adapters on motherboards will also work.

Antes de empezar

Gentoo should be installed on the master node and enough space on the master to store the file systems of the slave nodes that are going to be hosted. Also make sure there is one interface to the internet separated from the local area connection.

Configurar el maestro y los esclavos

Acerca de los núcleos

The kernel is the software that sits between the hardware and all other software that is loaded on the machine, essentially the heart of a kernel based operating system. When a computer is started, the BIOS executes the instructions found at the reserved boot space of the hard drive. These instructions are typically a boot loader that loads a kernel. After a kernel has been loaded all processes are handled by the kernel.

For more information on kernels and kernel configuration check out the kernel HOWTO .

Configurar el núcleo maestro

The master kernel can be as large and as customized as desired but there are a few required kernel options that need to be selected. Go into the kernel configuration menu by typing:

root #cd /usr/src/linux
root #make menuconfig

There should be a grey and blue GUI that offers a safe alternative to manually editing the /usr/src/linux/.config file. If the kernel is currently functioning well it might be a good idea to save the current configuration file by exiting the GUI and typing:

root #cp .config .config_working

Go into the following sub-menus and make sure the listed items are checked as built-in (and NOT as modular). The options show below are taken from the 2.6.10 kernel version. If a different version is used, the text or sequence might differ. Just make sure to select at least those shown below.

KERNEL master's kernel options
[*] Networking support --->
  Networking options --->
    <*> Packet socket
    <*> Unix domain sockets
    [*] TCP/IP networking
    [*]   IP: multicasting
    [ ] Network packet filtering (replaces ipchains)
File systems --->
  Network File Systems  --->
    <*> NFS server support
    [*]   Provide NFSv3 server support

If access to internet through the master node is required and/or a secure firewall is needed make sure to add support for iptables:

KERNEL Habilitar el soporte para iptables
 [*] Network packet filtering (replaces ipchains)
 IP: Netfilter Configuration --->
  <*> Connection tracking (required for masq/NAT)
  <*> IP tables support (required for filtering/masq/NAT)

Si se necesita filtrado de paquetes, añada el resto como módulos más tarde. Asegúrese de leer el Manual de seguridad Gentoo Capítulo 12 acerca de los Cortafuegos para saber cómo configurarlo de manera adecuada.

Se deben añadir estas opciones de configuración del núcleo a las opciones de configuración específicas para el sistema, no están diseñadas para reemplazar completamente la configuración del núcleo.

Una vez haya reconfigurado el núcleo, necesitará reconstruirlo:

root #make && make modules_install
root #cp arch/i386/boot/bzImage /boot/bzImage-master

Then add an entry for that new kernel into lilo.conf or grub.conf depending on which bootloader that is being used and make the new kernel the default one. Now that the new bzImage has been copied into the boot directory all that has to be done is to reboot the system in order to load these new options.

Acerca del núcleo esclavo

It is recommended that the slave kernel be compiled without any modules, since loading and setting them up via remote boot is a difficult and unnecessary process. Additionally, the slave kernel should be as small and compact as possible in order to efficiently boot from the network. The slave's kernel is going to be compiled in the same place where the master was configured.

Para evitar cualquier confusión y desperdicio de tiempo es una buena idea hacer una copia de seguridad del fichero de configuración del núcleo maestro tecleando:

root #cp /usr/src/linux/.config /usr/src/linux/.config_master

The slave's kernel is now to be configured in the same fashion as the master's kernel. If a fresh configuration file is needed it can be recovered from the default /usr/src/linux/.config file by typing:

root #cd /usr/src/linux
root #cp .config_master .config

Ahora entremos a la interfaz visual de configuración tecleando:

root #cd /usr/src/linux
root #make menuconfig

Make sure to select the following options as built-in and NOT as kernel modules:

KERNEL slave's kernel options
[*] Networking support --->
  Networking options --->
    <*> Packet socket
    <*> Unix domain sockets
    [*] TCP/IP networking
    [*]   IP: multicasting
    [*]   IP: kernel level autoconfiguration
    [*]     IP: DHCP support
File systems --->
  Network File Systems  --->
    <*> file system support
    [*]   Provide NFSv3 client support
    [*]   Root file system on NFS
Una alternativa al servidor dhcp es configurar un servidor BOOTP.
It is important to add the network adapter into the kernel (and not as a module) on the nodes. Using modules however is generally not a problem for diskless nodes.

Now the slave's kernel needs to be compiled. Be careful here not to overwrite or mess up the modules (if any) that have been built for the master:

root #cd /usr/src/linux
root #make

Now create the directory on the master that will be used to hold slaves' files and required system files. The /diskless is used but any location preferred may be chosen here. Now copy the slave's bzImage into the /diskless directory:

If there are different architectures being used it might be useful to save each config into .config_arch . Do the same with the images: save them into the /diskless as bzImage_arch .

root #mkdir /diskless
root #cp /usr/src/linux/arch/i386/boot/bzImage /diskless

Configurar un sistema de ficheros esclavo preliminar

The master and slave filesystems can be tweaked and changed a lot. Right now the only point of interest is in getting a preliminary filesystem of appropriate configuration files and mount points. First it's required to create a directory within /diskless for the first slave. Each slave needs its own root file system because sharing certain system files will cause permission problems and hard crashes. These directories can be called anything the administrator deems appropriate but the author suggests using the slaves IP addresses as they are unique and not confusing. The static IP of the first slave will be, for instance, :

root #mkdir /diskless/

Various configuration files in /etc need to be altered to work on the slave. Copy the master's /etc directory onto the new slave root by typing:

root #cp -r /etc /diskless/

Este sistema de ficheros no está listo aún porque necesita varios puntos de montaje y directorios. Para crearlos, teclee:

root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #chmod a+w /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/
root #mkdir /diskless/

Most of these "stubs" should be recognizable; stubs like /dev , /proc or /sys will be populated when the slave starts, the others will be mounted later. The /diskless/ file should also be changed to reflect the hostname of the slave. Binaries, libraries and other files will be populated later in this HOWTO right before attempting to boot the slave.

Even though /dev is populated by udev later on, the console entry needs to be created. If not, the error message "unable to open initial console" will be encountered.

root #mknod /diskless/ c 5 1

Configurar el servidor DHCP

Acerca del servidor DHCP

DHCP son las iniciales (en inglés) de Protocolo Dinámico de Configuración del Anfitrión. El servidor DHCP es la primera máquina con la que el esclavo se comunicará en el momento del arranque PXE. El propósito principal del servidor DHCP es el de asignar las direcciones IP. El servidor DHCP puede asignar direcciones IP basándose en la dirección MAC Ethernet del anfitrión. Una vez que el esclavo tiene su dirección IP, el servidor DHCP le dirá donde conseguir su sistema de ficheros inicial y el núcleo.

Antes de empezar

There are several things to make sure of, that they are working properly before beginning. First check the network connectivity:

root #ifconfig eth0 multicast
root #ifconfig -a

Asegúrese de tener un dispositivo "eth0" funcionando. La salida de la orden anterior debe parecerse algo a esto:

CÓDIGO Un dispositivo eth0 funcionando correctamente
eth0 Link encap:Ethernet HWaddr 00:E0:83:16:2F:D6
    inet addr: Bcast: Mask:
    RX packets:26460491 errors:0 dropped:0 overruns:2 frame:0
    TX packets:32903198 errors:0 dropped:0 overruns:0 carrier:1
    collisions:0 txqueuelen:100
    RX bytes:2483502568 (2368.4 Mb) TX bytes:1411984950 (1346.5 Mb)
    Interrupt:18 Base address:0x1800

It's important that it says MULTICAST, if it doesn't then the kernel will have to be recompiled to include multicast support.

Instalar el servidor DHCP

If the network does not already have a DHCP server installed, one needs to be installed now:

root #emerge --ask dhcp

If the network already has a DHCP server installed, edit the configuration file to get the PXE boot to function correctly.

Configurar el servidor DHCP

There is only one configuration file that needs to be edited before starting the DHCP server: /etc/dhcp/dhcpd.conf. Copy and edit the provided sample file:

root #cp /etc/dhcp/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
root #nano -w /etc/dhcp/dhcpd.conf

La disposición general con sangrías del fichero se asemeja a esta:

CÓDIGO Disposición ejemplo de dhcpd.conf
# global options here
ddns-update-style none;
shared-network LOCAL-NET {
 # shared network options here
 subnet netmask {
  # subnet network options here
  host slave{
    # host specific options here
  group {
    # group specific options here

The shared-network block is optional and should be used for IPs that are required to be assigned that belong to the same network topology. At least one subnet must be declared and the optional group block allows options to be grouped between items. A good example of dhcpd.conf looks like this:

CÓDIGO Ejemplo de fichero dhcpd.conf
# Ejemplo del fichero dhcpd.conf de los clientes
# Desactiva el DNS dinámico
ddns-update-style none;
# Asume una puerta de enlace predeterminada para el tráfico IP
option routers;
# Provee información DNS a los clientes
option domain-name-servers;
option domain-name "";
# Especifica el servidor TFTP a utilizar
# Declara una opción del buffer específica del vendedor para los clientes PXE:
# Código 1: Dirección IP Multicast del servidor de ficheros de arranque
# Código 2: Puerto UDP que el cliente debe monitorear para recibir
#           respuestas MTFTP
# Código 3: Puerto UDP que los servidores MTFTP utilizan para escuchar
#           solicitudes MTFTP
# Código 4: Número de segundos que el cliente debe escuchar por actividad antes
#           de iniciar una nueva transferencia MTFTP
# Código 5: Número de segundos que el cliente debe escuchar antes de reiniciar
#           una transferencia MTFTP
option space PXE;
option PXE.mtftp-ip               code 1 = ip-address;
option PXE.mtftp-cport            code 2 = unsigned integer 16;
option PXE.mtftp-sport            code 3 = unsigned integer 16;
option PXE.mtftp-tmout            code 4 = unsigned integer 8;
option PXE.mtftp-delay            code 5 = unsigned integer 8;
option PXE.discovery-control      code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr   code 7 = ip-address;
# Declara la subred en la cual van a existir nuestro nodos sin disco
subnet netmask {
  # Provee a los clientes PXE con la información apropiada
  class "pxeclient" {
    match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
    vendor-option-space PXE;
    # Al menos 1 de las opciones PXE específicas del fabricante deben
    # ser definidas para que el ROM de arranque de los clientes se de
    # cuenta que el servidor tienes las características PXE. Definimos
    # la dirección IP MCAST a para indicarle al ROM de arranque
    # que no podemos proveerle un TFTP multicast.
    option PXE.mtftp-ip;
    # Este es el nombre del fichero que el ROM arranque debe descargar
    filename "pxelinux.0";
  # Provee a los clientes Etherboot con la información apropiada
  class "etherboot" {
        match if substring(option vendor-class-identifier, 0, 9) = "Etherboot";
        filename "vmlinuz_arch";
  # Agrega una declaración por cada máquina sin disco
  host slave21 {
       hardware ethernet                00:02:A5:04:3B:66;
       fixed-address          ;
There is nothing prohibiting the use of both PXE boot and Etherboot together. The above Code Listing is merely an example; if there are issues, please consult the DHCPd documentation.

The IP address after next-server will be asked for the specified filename. This IP address should be the IP of the tftp server, usually the same as the master's IP address. The filename is relative to the /diskless directory (this is due to the tftp server specific options which will be covered later). Inside the host block, the hardware ethernet option specifies a MAC address, and fixed-address assigns a fixed IP address to that particular MAC address. There is a pretty good man page on dhcpd.conf with options that are beyond the scope of this HOWTO. The man page can be read by typing:

user $man dhcpd.conf

Iniciar el servidor DHCP

Before starting the dhcp initialization script edit the /etc/conf.d/dhcp file so that it looks something like this:

CÓDIGO Ejemplo de /etc/conf.d/dhcp
# Inserte cualquier otra opción que necesite

The IFACE variable is the device that the DHCP server will be running on, in this case eth0. Adding more arguments to the IFACE variable can be useful for a complex network topology with multiple Ethernet cards. To start the dhcp server type:

root #/etc/init.d/dhcp start

To add the dhcp server to the start-up scripts type:

root #rc-update add dhcp default

Solucionar problemas con el servidor DHCP

To see if a node boots, take a look at /var/log/messages. If the node successfully boots, the messages file should have some lines at the bottom looking like this:

CÓDIGO Entradas ejemplo en el fichero de registro creado por dhcp
DHCPDISCOVER from 00:00:00:00:00:00 via eth0
DHCPOFFER on to 00:00:00:00:00:00 via eth0
DHCPREQUEST for from 00:00:00:00:00:00 via eth0
DHCPACK on to 00:00:00:00:00:00 via eth0
This log file can also help in discovering the slaves' MAC addresses.

If the following message is encountered it probably means there is something wrong in the configuration file but that the DHCP server is broadcasting correctly.

CÓDIGO Ejemplo de un error en el servidor dhcp
no free leases on subnet LOCAL-NET

Every time after changing the configuration file the DHCP server must be restarted. To restart the server type:

root #/etc/init.d/dhcpd restart

Configurar el servidor TFTP y el cargador de arranque PXE y/o Etherboot

Acerca del servidor DHCP

TFTP son las (en inglés) siglas del Protocolo Trivial de Transferencia de Archivos. El servidor TFTP les va a dar a los esclavos el núcleo y un sistema de fichero inicial. Todos los núcleos esclavos y sistemas de ficheros deben estar almacenados en el servidor TFTP, así que es una buena idea hacer que el maestro también sea el servidor TFTP.

Instalar el servidor TFTP

Un servidor tftp altamente recomendado está disponible en el paquete tftp-hpa. Este servidor lo escribió el autor de SYSLINUX y funciona muy bien con pxelinux. Para instalarlo simplemente escriba:

root #emerge --ask tftp-hpa

Configurar el servidor TFTP

Edit /etc/conf.d/in.tftpd. The tftproot directory needs to specified with INTFTPD_PATH and any command line options with INTFTPD_OPTS. It should look something like this:

ARCHIVO /etc/conf.d/in.tftpd

The -l option indicates that this server listens in stand alone mode so inetd does not have to be run. The -v indicates that log/error messages should be verbose. The -s /diskless specifies the root of the tftp server.

Iniciar el servidor TFTP

Para iniciar el servidor tftp, escriba:

root #/etc/init.d/in.tftpd start

This should start the tftp server with the options that were specified in the /etc/conf.d/in.tftpd. If this server is to be automatically started at boot type:

root #rc-update add in.tftpd default

Acerca de PXELINUX

This section is not required if only Etherboot is being used. PXELINUX is the network bootloader equivalent to LILO or GRUB and will be served via TFTP. It is essentially a tiny set of instructions that tells the client where to locate its kernel and initial filesystem and allows for various kernel options.

Before getting started

Now the file pxelinux.0 is required, which comes in the SYSLINUX package by H. Peter Anvin. This package can be installed by typing:

root #emerge --ask syslinux

Configurar PXELINUX

Esta parte no es necesaria para Etherboot

Before starting the tftp server pxelinux needs to be set up. First copy the pxelinux binary into the /diskless directory:

root #cp /usr/share/syslinux/pxelinux.0 /diskless
root #mkdir /diskless/pxelinux.cfg
root #touch /diskless/pxelinux.cfg/default

Esto creará el fichero de configuración por defecto del cargador de arranque. El binario pxelinux.0 buscará en el directorio pxelinux.cfg un fichero cuyo nombre sea la dirección IP del cliente en hexadecimal. Si no lo encuentra, eliminará el dígito más a la derecha del nombre del fichero y lo volverá a intentar hasta que se terminen los dígitos. Las versiones a partir de la 2.05 de syslinux realizan en primer lugar una búsqueda de un fichero cuyo nombre sea la dirección MAC. Si no se encuentra, ejecuta la rutina ya descrita. Si no se localiza ningún fichero, se utiliza default.

CÓDIGO Ficheros que busca PXE secuencialmente en pxelinux.cfg
## (El 01 del comienzo indica ethernet, los demás son la dirección MAC del esclavo)
## (Dirección IP asignada en hexadecimal)
Todos son en minúsculas.

Comencemos con el fichero default:

CÓDIGO Ejemplo de pxelinux.cfg/default
DEFAULT gentoo
LABEL gentoo
LINUX /bzImage
APPEND ip=dhcp root=/dev/nfs nfsroot=

The DEFAULT tag directs pxelinux to the kernel bzImage that was compiled earlier. The APPEND tag appends kernel initialisation options. Since the slave kernel was compiled with NFS_ROOT_SUPPORT , the nfsroot will be specified here. The first IP is the master's IP and the second IP is the directory that was created in /diskless to store the slave's initial filesystem.

Acerca de Etherboot

This isn't required if PXE boot is being used.

Etherboot boots network boot images from a TFTP server. As the PXE this is equivalent to LILO or GRUB. The mknbi utility enables the creation of different images using different options.

Before getting started

The mknbi (utility for making tagged kernel images useful for netbooting) package is needed to create the Etherboot images. This tool will create a preconfigured kernel image from the original kernel. This contains the boot options as shown further down.

root #emerge --ask mknbi

Configurar Etherboot

In this section a simple etherboot image will be created. As the dhcp server gives out the clients root-path in the "option root-path" dhcp.conf, this does not have to be included here. More details can be found in the mknbi manual.

user $man mknbi

Crear la imagen de arranque. La siguiente orden creará la imagen ELF de arranque capaz de pasar el dhcp y la dirección del directorio raíz al núcleo. También obliga al núcleo a buscar en la red un servidor dhcp.

root #mkelf-linux -ip=dhcp /diskless/bzImage > /diskless/vmlinuz
For the arch specific images bzImage_arch and vmlinuz_arch have to be typed.

Solucionar problemas en el proceso de arranque por red

There are a few things that can be done to debug the network boot process. Primarily a tool called tcpdump can be used. To install tcpdump type:

root #emerge --ask tcpdump

Now various network traffic can be listened to, to make sure the client/server interactions are functioning. If something isn't working there are a few things that could be checked. First make sure that the client/server is physically connected properly and that the networking cables are not damaged. If the client/server is not receiving requests on a particular port make sure that there is no firewall interference. To listen to interaction between two computers type:

root #tcpdump equipo ip_cliente e ip_servidor

The tcpdump command can also be configured to listen on particular port such as the tftp port by typing:

root #tcpdump port 69

A common error that might be received is: "PXE-E32: TFTP open time-out". This is probably due to firewall issues. If TCPwrappers is being used, it might be worth checking /etc/hosts.allow and etc/hosts.deny and make sure that they are configured properly. The client should be allowed to connect to the server.

Configurar el servidor NFS

Acerca del servidor NFS

NFS stands for Network File System. The NFS server will be used to serve directories to the slave. This part can be somewhat personalized later, but right now all that is wanted is a preliminary slave node to boot diskless.

Acerca de Portmapper

Algunos servicios cliente/servidor no escuchan en un puerto en particular, en cambio utilizan RPCs (llamadas a procedimientos remotos). Cuando se inicializa un servicio, escucha en un puerto al azar y luego registra este puerto en la utilidad Portmapper. NFS utiliza RPCs y por lo tanto requiere tener a Portmapper corriendo antes de su inicio.

Before starting

The NFS Server needs kernel level support so if the kernel does not have this, the master's kernel needs to be recompiled. To double check the master's kernel configuration type:

root #grep NFS /usr/src/linux/.config_master

The output should look something like this if the kernel has been properly configured:

KERNEL Opciones específicas y adecuadas para NFS en la configuración del núcleo maestro
# CONFIG_NFS_V4 is not set
# CONFIG_NFSD_V4 is not set
# CONFIG_NFSD_TCP is not set

Instalar el servidor NFS

El paquete NFS se puede instalar mediante portage escribiendo:

root #emerge --ask nfs-utils

Este paquete instalará la utilidad portmapping, el servidor nfs, y las utilidades nfs del cliente y automáticamente gestionará la inicialización de las dependencias.

Configurar el servidor NFS

There are three major configuration files that will have to be edited:

CÓDIGO Ficheros de configuración de nfs

El fichero /etc/exports especifica como, a quién y qué se debe exportar a través de NFS. Se debe modificar el fstab del esclavo para que pueda montar el sistema de ficheros NFS que el maestro está exportando.

Un fichero /etc/exports típico del maestro se parece a esto:

ARCHIVO etc/exportsFichero maestro de exportaciones
# Una línea como esta para cada esclavo
# Línea común para todos los esclavos
/home,rw,no_root_squash,no_all_squash) # Si quiere tener un registro compartido

El primer campo indica el directorio que será exportado y el siguiente indica a quién y cómo. Este campo puede dividirse en dos partes: a quién se le debe permitir montar ese directorio en particular, y qué puede hacer el cliente con él: ro de solo lectura, rw de lectura y escritura; no_root_squash y no_all_squash son importantes para clientes sin disco que escriben en el disco de manera que no sean "apretados" al hacer pedidos de E/S. El fichero fstab del esclavo, /diskless/, debe ser similar a este:

CÓDIGO Ejemplo de fichero fstab en el esclavo
# Estas entradas son esenciales
master:/diskless/ / nfs sync,hard,intr,rw,nolock,rsize=8192,wsize=8192 0 0
master:/opt /opt nfs sync,hard,intr,ro,nolock,rsize=8192,wsize=8192 0 0
master:/usr /usr nfs sync,hard,intr,ro,nolock,rsize=8192,wsize=8192 0 0
master:/home /home nfs sync,hard,intr,rw,nolock,rsize=8192,wsize=8192 0 0
none /proc proc defaults 0 0
# Útil pero superfluo
master:/var/log /var/log nfs hard,intr,rw 0 0

In this example, master is just the hostname of the master but it could easily be the IP of the master. The first field indicates the directory to be mounted and the second field indicates where. The third field describes the filesystem and should be NFS for any NFS mounted directory. The fourth field indicates various options that will be used in the mounting process (see mount(1) for info on mount options). Some people have had difficulties with soft mount points so here they are made hard mounts, a look into various /etc/fstab options should be done to make the cluster more efficient.

The last file that should be edited is /etc/conf.d/nfs which describes a few options for nfs when it is initialised and looks like this:

CÓDIGO Fichero ejemplo /etc/conf.d/nfs para el maestro
# Fichero de configuración para /etc/init.d/nfs
# Número de servidores a arrancar por defecto
# Opciones que se deben pasar a rpc.mountd RPCMOUNTDOPTS=""

The RPCNFSDCOUNT should be changed to the number of diskless nodes on the network.

Iniciar el servidor NFS

The nfs server should be started with its init script located in /etc/init.d by typing:

root #/etc/init.d/nfs start

If this script is to be started every time the system boots simply type:

root #rc-update add nfs default

Completar el sistema de ficheros del esclavo

Copiar los ficheros que faltan

Now the slave's file system will be made in sync with the master's and provide the necessary binaries while still preserving slave specific files.

root #rsync -avz /bin /diskless/
root #rsync -avz /sbin /diskless/
root #rsync -avz /lib /diskless/
La razón por la que utilizamos -avz en vez de cp es la de mantener los enlaces simbólicos y los permisos.

Configurar la red sin disco

In order to prevent the networking initscript from killing the connection to the NFS server, an option needs to be added to /etc/conf.d/net on the diskless client's filesystem.

CÓDIGO Editar /etc/conf.d/net
config_eth0=( "noop" )
Para obtener más información, por favor, lea /usr/share/doc/openrc-*/net.example.bz2.

Guiones de inicialización

Init scripts for slaves are located under /diskless/ for services needed on the diskless nodes. Each slave can be set up and customized here, it all depends on what each slave is meant to do.

Do not use the rc-update program to add or remove scripts from the slave runlevels when logged on to the master. This would change the master runlevels. The links need to be manually created or by logging into the slave nodes using ssh or connecting a screen and keyboard to the slave.
CÓDIGO Niveles de ejecución típicos del esclavo
total 16
drwxr-xr-x    2 root     root         4096 2003-11-09 15:27 boot
drwxr-xr-x    2 root     root         4096 2003-10-01 21:10 default
drwxr-xr-x    2 root     root         4096 2003-03-13 19:05 nonetwork
drwxr-xr-x    2 root     root         4096 2003-02-23 12:26 single
total 0
lrwxrwxrwx    1 root     root           20 2003-10-18 17:28 bootmisc -> /etc/init.d/bootmisc
lrwxrwxrwx    1 root     root           19 2003-10-18 17:28 checkfs -> /etc/init.d/checkfs
lrwxrwxrwx    1 root     root           17 2003-10-18 17:28 clock -> /etc/init.d/clock
lrwxrwxrwx    1 root     root           22 2003-10-18 17:28 domainname -> /etc/init.d/domainname
lrwxrwxrwx    1 root     root           20 2003-10-18 17:28 hostname -> /etc/init.d/hostname
lrwxrwxrwx    1 root     root           22 2003-10-18 17:28 localmount -> /etc/init.d/localmount
lrwxrwxrwx    1 root     root           19 2003-10-18 17:28 modules -> /etc/init.d/modules
lrwxrwxrwx    1 root     root           18 2003-10-18 17:28 net.lo -> /etc/init.d/net.lo
lrwxrwxrwx    1 root     root           20 2003-10-18 17:28 netmount -> /etc/init.d/netmount
lrwxrwxrwx    1 root     root           21 2003-10-18 17:28 rmnologin -> /etc/init.d/rmnologin
lrwxrwxrwx    1 root     root           19 2003-10-18 17:28 urandom -> /etc/init.d/urandom
total 0
lrwxrwxrwx    1 root     root           23 2003-10-18 17:28 consolefont -> /etc/init.d/consolefont
lrwxrwxrwx    1 root     root           19 2003-10-18 17:28 distccd -> /etc/init.d/distccd
lrwxrwxrwx    1 root     root           19 2003-10-18 17:28 keymaps -> /etc/init.d/keymaps
lrwxrwxrwx    1 root     root           17 2003-10-18 17:28 local -> /etc/init.d/local
lrwxrwxrwx    1 root     root           16 2003-10-18 17:28 sshd -> /etc/init.d/sshd
lrwxrwxrwx    1 root     root           21 2003-10-18 17:28 syslog-ng -> /etc/init.d/syslog-ng
lrwxrwxrwx    1 root     root           17 2003-10-18 17:28 vixie-cron -> /etc/init.d/vixie-cron
total 0
lrwxrwxrwx    1 root     root           17 2003-10-18 17:28 local -> /etc/init.d/local
total 0

Ahora es un buen momento para iniciar los esclavos y cruzar los dedos. ¿Funciona? Felicidades, ahora es un orgulloso poseedor de un(os) nodo(s) sin disco.

This article is based on a document formerly found on our main website
The following people have contributed to the original document: Michael Andrews, Kristian Jerpetjoen, Sven Vermeulen, Xavier Neys
They are listed here as the Wiki history does not provide for any attribution. If you edit the Wiki article, please do not add yourself here; your contributions are recorded on the history page.