Mejorar el rendimiento en el Ext3


Tal como ya se anunció en Bulma, el Ext3 ha sido finalmente bendecido por Linus para entrar en el kernel oficial. El Ext3 es mucho más lento que el ReiserFS o el XFS… pero os doy un truco para aumentar el rendimiento de escrituras.
ACTUALIZADO: problemas con el sistema de ficheros “root” y como solucionarlos.

Antes de nada, el Ext3 es un sistema de journaling como el ReiserFS, XFS
o JFS. Los diferentes tests han demostrado que es mucho más lento que sus
similares. Pero tiene una razón:
Ext3, a diferencia de ReiserFS o XFS,
impone un órden más estricto en las operaciones de E/S, y por lo tanto puede
asegurar también la consistencia de datos, no solamente de los metadatos
como se hace normalmente.

Claro,
eso tiene un coste, y se notan en las pruebas de rendimiento. La ventaja es que
ofrece mayor seguridad en los datos de la que pueden ofrecer ReiserFS o XFS.

Aunque se está trabajando para aumentar el rendimiento, Ext3 ofrece
opciones para asegurar, o no, ese orden más estricto. Si queremos tener la misma
garantía de consistencia que ReiserFS y XFS, basta con indicar que no
haga journaling de los datos. Eso se hace con la opción “data=writeback” en el
/etc/fstab.

O:

# mount -t ext3 -o data=writeback /dev/disco /mnt/dir

En cambio, si queremos volver a la opción por defecto (al día de hoy ;-), donde
también se asegura mejor consistencia de datos, basta con:

# mount -t ext3 -o data=ordered /dev/disco /mnt/dir

Estas opciones también pueden cambiarse en las opciones del lilo (o grub), por ejemplo:

LILO: linux rootflags=data=journal

Alerta!!!
ATENCIÓN: no usar esta opción para el sistema “root” (/).
El sistema se lía al arrancar, se cree que hay errores (?) y lo vuelve a montar
como “sólo lectura”, por lo que fallarán el arranque de todos los procesos. Si
os ocurre algo de esto (como a mí ;-), la solución es:

  • arrancarlo como “linux single” en las opciones del lilo o grub
  • volver a montar la partición como de lectura escritura: mount -t ext3
    -o rw /dev/hdxxx /

  • editar el fichero /etc/fstab y quitar la opción data=xxxxx
  • Si hacéis un exit, el sistema continuará y arrancará bien, pero quedarán
    algunos ficheros de estado mal (por ejemplo el mtab), por lo que recomiendo que
    lo reiniciéis.
  • Significado de las opciones de data=xxx
    Actualemente el Ext3 tiene tres opciones:

    • data=journal: se asegura la consistencia del sistema de ficheros y
      los datos propios de cada fichero. Antes de guardar cualquier dato de un fichero
      son almacenados en el journal y luego son pasados al sistema principal.

    • data=ordered: antes de guardar la modificación de los metadatos en el
      journal, se fuerza un sync de los datos. Es decir, se graban en el disco
      todos los bloques modificados del sistema principal.

    • data=writeback: sólo se guardan en el jorunal las
      modificaciones en los metadatos, por lo que pueden quedar datos antiguos en los
      ficheros en el caso de una caída antes que se hayan grabado.

    Más Información
    IBM Developer Works tiene un muy buen artículo, al menos hasta que aparezca el mío en Informatik/Informatique y Novática 😉

    Mas info aquí o en lo Howto. Si los enlaces fallan, ir al fallback de todos los enlaces perdidos.

    Ala!, Ext3 será el estándar de Linux, ya lo es de RedHat. Que luego digan que no os avisamos 😉

    Nota para RedHat: necesitáis el paquete RPM e2fsprogs para que funcione el tune2fs con las opciones de
    journal (-j y -J). Éste está incluido en la Red Hat 7.2.

    Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=985 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.