« El valor del tiempo y el dineroSistemas económicos, el valor de la confianza »

Linux RAID root (II)

Tras los últimos problemas de disco duro, en los que por suerte no he perdido nada importante gracias al RAID que tengo montado, he decidido dar un poco más en la configuración de discos.

Esta vez: journals cruzados para aumentar la velocidad.

La parte más compleja de esta configuración, realmente está sobre el papel. Una vez decidido dónde van los journals, es todo mucho más simple que el paso de root a RAID.

distribución de particiones con RAIDs

El journal se graba de forma síncrona en disco, lo que significa que para cada operación en disco se debe primero grabar los datos del journal en una posición, y luego desplazar el cabezal del disco a la posición donde se graban los datos en sí. Dado que la mayor pérdida de tiempo en los discos duros viene por los tiempos de acceso, situar el journal en un disco diferente hace que el rendimiento aumente de forma espectacular.

Es más, al usar el modo "data=ordered" (opción por defecto al crear ext3), se requiere otro desplazamiento más, pues la secuencia es: desplazar cabezal, grabar datos a disco (sin sobreescribir), desplazar cabezal, grabar metadatos al journal, desplazar cabezal, grabar metadatos al disco.

Dado que la cantidad de metadatos a grabar es bastante pequeña, y es lo único que se graba de forma síncrona (en modo ordered) se puede lograr incluso un mayor aumento de rendimiento usando una memoria USB cualquiera. Aunque su velocidad de lectura/grabación sea bastante inferior a la de un disco duro, las velocidades de acceso suelen ser varios órdenes de magnitud superiores a las de estos.

En este caso sin embargo, he optado por una configuración en la que no tenga que conectar nada "externo" al equipo. La pérdida de un journal externo requiere reconfigurar los discos antes de poder seguir usándolos, cosa que preferiría que no ocurriese por algo tan tonto como quitar una memoria USB. Tal vez si pudiese ponerla dentro de la caja del PC... pero no me quedan más puertos libres en la placa base.

Pasos a seguir, en el post ampliado.

Follow up:

Ante cualquier duda, se recomienda consultar la página man correspondiente ;)

  1. Crear las particiones de journal. Cada una debe de tener un tamaño entre 1024 y 102400 bloques, lo que con bloques de 4096 bytes significa de 4MB a 400MB. Si la partición tiene un mayor tamaño, sólo se utilizarán los primeros 400MB.
  2. En las particioes que van a ser de journal, ejecutamos mkfs.ext3 -o journal_dev -b 4096
    (si la partición principal no tiene bloques de 4096 bytes, se debe especificar aquí el mismo tamaño de bloque)
  3. Apuntamos el UUID de la partición de journal: dumpe2fs /dev/discojournal | grep UUID
  4. Ejecutamos e2fsck -f en la partición principal
  5. Quitamos el journal de la principal tune2fs -O ^has_journal
  6. Añadimos el journal externo a la principal tune2fs -J device=UUID=el_uuid_de_antes

En caso de que se pierda el journal y resulte irrecuperable (ej: fallo de un disco duro), tendremos que quitarlo a la fuerza con tune2fs -O ^has_journal -f. Es recomendable seguirlo de un e2fsck -f por si las moscas (si no se ha desmontado de forma incorrecta el sistema de ficheros, no debería dar problemas).

Trackback address for this post

This is a captcha-picture. It is used to prevent mass-access by robots.
Please enter the characters from the image above. (case insensitive)

No feedback yet

Deja un comentario


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)

¿Cuántos PELUCHES hay en la foto?

(si fallas, puedes volver a intentarlo... al menos por ahora)

Jaroslaw Filiochowski
jar<QUIT@ESTO>fil@gmail.com
(e-mail, jabber, gtalk)
Desde: Bilbao, España

Agosto 2008
Lun Mar Mié Jue Vie Sáb Dom
 << <   > >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Ordenar por:

Yo NO veo TV

Yo NO veo TV
00 horas de TV a la semana

powered by

powered by b2evolution free blog software

+

Gentoo
Gentoo


photos powered by

Foto de una cámara de fotos difital Nikon Coolpix 7600
Nikon Coolpix 7600

+

Foto de un móvil Nokia 3650 con logo personalizado
Nokia 3650

Por cortesía de NokiaGame 2002


Creative Commons License
Esta obra está bajo una licencia Creative Commons salvo donde se especifique explícitamente otra licencia.


IBSN: 3-3718-9164-1