El manual para el clustering con openMosix - Live Linux CD! Funcionando desde cdrom (I)

44 - Live Linux CD! Funcionando desde cdrom (I)

[editar]
Tutorial creado por miKeL a.k.a.mc2 y Kris Buytaert. Extraido de: http://es.tldp.org/Manuales-LuCAS/doc-manual-openMosix-1.0/doc-manual-openMosix_html-1.0/
27 de Febrero de 2006
Un Live Linux cdrom es un disco cdrom que contiene un sistema operativo Linux completo y por consiguiente un sistema de ficheros. Los Live Linux CDROM arrancan directamente desde un dispositivo lector cdrom. Simplemente tendremos que configurar la BIOS de la computadora para que intente arrancar primero desde cdrom.

Generalmente el orden para el arranque en la BIOS es: disquetera, disco duro y CDROM. Hay otras posibilidades, como puede ser el arranque por red, tal y como se explica también en el segundo apartado de este mismo capítulo (Nodos sin discos).

Para acceder a las opciones de la BIOS de nuestra computadora simplemente tendremos que pulsar la tecla DEL (o SUPR según nuestro teclado indique) en el momento en que se proceda al chequeo de la memoria, breves instantes después de poner en marcha cualquier PC.

En la red podemos encontrar proyectos bien consolidados que consiguen dar una alta funcionalidad a sistemas a partir de un linux embebido en un cdrom. Entre estas posibilidades contamos actualmente con el disco SuSE Live-eval, que proporciona una demo para la distribución alemana SuSE, o la distribución Knoppix7.18. Google proporciona, como no, una referencia sobre las distribuciones live más extendidas en Google Live Linux 7.19.

Así pues, ahora que se ha puesto en conocimiento del lector la posibilidad de arrancar un sistema linux almacenado en cdrom, puede surgir la primera pregunta: ¿nos será posible guardar nuestros documentos o cambios en este sistema? Evidentemente NO en el propio cdrom, pero como veremos existen multitud de alternativas que linux nos brinda con un fácil manejo.

En primer lugar cabe señalar que ejecutar un sistema operativo desde cdrom será tanto más ameno cuanto más rápido sea el dispositivo lector. Actualmente se han llegado a las 72x7.20 en dispositivos que alcanzan a leer varias pistas simultáneamente (y es que esto de paralelizar los procedimientos cada vez es más una realidad) y esto se traduce en casi 11 mega-octetos por segundo. No obstante, cualquier reproductor de medianas prestaciones seguirá dándonos unos resultados más que aceptables.

En respuesta a si esta solución de arranque aporta algún tipo de beneficio extra, podemos referirnos básicamente al ahorro en material informático. Si sólo necesitamos el cdrom para poder realizar las funciones que nuestras necesidades requieren (navegar por la red, trabajar con un sistema de archivos remoto, etc...) nuestro terminal podrá carecer de disco duro y disquetera. Esto también implica, a su vez, un gran ahorro en tareas de mantenimiento de los equipos, puesto que cualquier actualización puede quemarse en nuevos cds (¡o borrarlos y reescribirlos!) y ningún usuario podrá modificar el sistema que hayamos generado.

Es importante pues que el sistema mínimo para arrancar desde cdrom contenga el hardware necesario para un arranque sin discos además del lector de discos compactos.

En resumidas cuentas, este sistema de arranque nos puede proporcionar ventajas en varios frentes:

  • crear un CD de instalación.
  • tener el sistema operativo en cdrom y utilizar los discos duros para otros fines.
  • tener un método de fácil actualización de sistemas, usando discos regrabables (CD-RW).

La idea, mirando al futuro de los sistemas informáticos, es poder contar con una computadora sin discos duros: utilizar el cdrom para el sistema operativo, un disco en memoria RAM para /tmp y un sistema de ficheros remoto NFS para lo demás.

Consideraciones previas

Es posible llegar a poner nuestra distribución favorita de manera que arranque desde cdrom, como veremos no supone un gran esfuerzo. Esto puede aportarnos las ventajas de configurar el kernel a nuesta manera, así como los módulos cargables y el entorno gráfico.

Para nuestro documento, y teniendo en cuenta que estamos sobrellevando todo esto mirando a la clusterización con openMosix, podremos llegar a poner en este CD un kernel con el soporte adecuado para él, y así poder incluir a nuestro cluster cualquier PC que tengamos conectado a la red, simplemente indicándole que arranque desde el cdrom.

Como puede deducirse a partir de lo visto hasta ahora, y para dejar claro que este sistema no va en detrimento de ningún recurso (sino al contrario) ni hace perder funcionalidades a los nodos, se indica que desde esta distribución podremos montar las particiones que tengamos en los discos locales de cada nodo, y así pues seguir con nuestras tareas mientras hemos convertido el PC en miembro de un cluster openMosix. Evidentemente podremos escribir en estas particiones montadas siempre que tengamos permiso para hacerlo.

En este documento se asume que el lector tiene conocimiento de utilidades como cdrecord para quemar cdroms o mkisofs para generar un sistema de ficheros ISO. No obstante, con los parámetros aquí utilizados debería ser suficiente para llegar a nuestra meta.

Dispositivos ramdisk en linux

Como ya hemos explicado, será necesario tener los conocimientos precisos para poder trabajar con /tmp en RAM para poder disponer de un lugar donde nuestro sistema sea capaz de almacenar sus archivos temporales. Crear estos dispositivos y trabajar con ellos en linux es trivial. A continuación se intentará dar una visión global de este método volátil de almacenaje.

Antes de proceder, comprueba que estás actuando como administrador (root) de tu sistema.

QUÉ ES UN RAMDISK

Consideraremos un dispositivo en RAM cualquier porción de memoria que hayamos dispuesto para usar como una partición más en nuestro sistema de ficheros. Podremos verlos como discos duros virtuales.

¿Por qué puede interesarnos trabajar con estos dispositivos? De todos debe ser sabido que la memoria de nuestra computadora está dispuesta mediante una jerarquía en cuanto a la velocidad de acceso (parámetro directamente proporcional a su coste por octeto). Así pues, el acceso a memoria principal (RAM) será varias veces más rápido que el acceso a memoria secundaria (discos duros) y varias veces más lento que cualquier memoria cache. Si disponemos los ficheros que más habitualmente usaremos en dispositivos RAM -ramdisks-, podemos llegar a aumentar considerablemente el potencial de nuestra computadora -método ampliamente utilizado en grandes servidores web-.
Evidentemente y para el caso concreto que nos atañe, este dispositivo nos servirá como una unidad de almacenaje temporal para que nuestro sistema pueda trabajar localmente con sus ficheros temporales (valga la redundancia).

COMO USAR UN RAMDISK

Su uso y configuración es altamente sencillo con linux: formatear tal dispositivo y montarlo en nuestro árbol de ficheros. Para ver todos los dispositivos ram con los que cuenta nuestro sistema solo tenemos que ejecutar:



ls -la /dev/ram*



No obstante, estos dispositivos se encuentran sin formato. Como se ha indicado, deberemos formatearlos y disponerlos en el árbol. Así el proceso con el primer dispositivo RAM /dev/ram0 sería:

  • crear un directorio donde montar el dispositivo



    mkdir -p /tmp/ramdisk0

  • generar su sistema de archivos (i.e. formatearlo)



    mkfs -t $ <$ext2, ext3,...$ >$ /dev/ram0

  • montar este sistema de ficheros en el árbol de directorios



    mount /dev/ram0 /tmp/ramdisk0

Ahora podremos trabajar con él de forma usual; podremos percatarnos que los movimientos de datos entre este tipo de dispositivos son más rápidos. Es importante remarcar que estos discos estan en memoria y por tanto al rearrancar la computadora PERDEREMOS los datos que les hubieramos grabado.

Para comprobar que el montaje de las unidades ha sido correcto, podemos consultar el fichero /etc/mtab o ejecutar el comando df para ver la relación de espacios libres y usados. Ambas salidas puedes encontrarlas en el apéndice Salidas de comandos y ficheros.

CAMBIAR EL TAMA~NO DE LOS RAMDISKS

Si hemos intentado generar un sistema de ficheros ReiserFS quizás nos hayamos topado con la desagadable sorpresa de no disponer de suficiente espacio para poder generar el jounal requerido. Los ramdisks vienen con un tamaño máximo, parámetro que evidentemente se puede modificar.

Hay 2 maneras de hacerlo. Veámoslas:

  • editar el fichero /usr/src/linux/block/rd.c y cambiar el valor de la variable
    int rd_size = 4096; /*Size of the ramdisks */
    por el valor el quilo-octetos deseado. Esta opción implica recompilar el kernel y rearrancar la máquina.
  • la solución fácil es editar /etc/lilo.conf y annexar una nueva linea ramdisk=$ <$N$ >$ en la partición de arranque de linux para obtener un tamaño de N quilo-octetos. Luego deberemos ejecutar el comando lilo para actualizar los cambios.

MONTAR DIRECTORIOS EN PARTICIONES RAMDISK

Para terminar se da un método fácil con el que podremos montar alguno de nuestros directorios en memoria. Esto es precisamente lo que utilizaremos para montar el /tmp en ramdisk en el proceso de arranque, para que podamos escribir en él con nuestro live linux cdrom.

Las instrucciones son éstas:

  • guardar una copia del directorio que queramos montar en memoria



    mv /tmp /tmp_real

  • crear un directorio con el nombre que linux espera



    mkdir /tmp

  • escribir los siguientes comandos para crear el FS y montarlo



    /sbin/mkfs -t ext2 /dev/ram2

    mount /dev/ram2 /tmp

  • hacer la copia de contenidos desde disco a memoria



    tar -C /tmp_real -c . | tar -C /tmp -x

  • para comprobar que la cosa funciona podemos ver el fichero /etc/mtab .

Estas lineas podremos utilizarlas igualmente en scripts para que nuestro linux haga estas operaciones, por ejemplo, al arranque. Esta técnica nos permitirá poder arrancar desde rom y normalmente se escriben en los ficheros del directorio /etc/rc.d/.
Los contenidos en cada distribución linux puede cambiar levemente. Es questión de investigar un poco para saber el orden en como se cargan. Quizás el fichero que más pueda ayudarnos en esta tarea sea, dentro de tal directorio, rc.sysinit.

[editar]

5 opiniones

Excelente informacion.

Que tal tambien me gusta recibir este tipo de iformacion en vez de ponerme a leer libros me da mas hueva en libro que leerlo en la computadora pero en fin. Estoy cursando igual el 5°semestre de universidad en la carrera de sitemas computacionales. Y me interes mucho. A qui dejo mi correo por si alguien quiere contartar y compartir informacion mas contigo isbelia, lo digo por el motivo que tambien estas estudiando lo mismo que yo, espero resivir respuesta de todos ustedes. Saludos... Y superence... Bye saludos... Mi correo: frg_28@hotmail.com.
Informacion sobre la redes.

Me parece excelente por que soy estudiante del 5to semestre de carrera de ingenieria de sistema.
Excelente resumen.

Quisiera ampliar mas la informacion, sobre todo en los inicios de este sistema mas a detalle.
Hola.

Me gustaria recibir cosas de este tipo en mi correo porfavor karen.
No usar corva para sistemas distribuidos.

Exelente resumen.

Tutoriales relacionados con 'El manual para el clustering con openMosix'

Autor y licencia de 'El manual para el clustering con openMosix'


Tutorial de miKeL a.k.a.mc2 y Kris Buytaert. Extraido de: http://es.tldp.org/Manuales-LuCAS/doc-manual-openMosix-1.0/doc-manual-openMosix_html-1.0/ CopyLeft
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.