systemadmin.es > Storage > Sistemas de ficheros > Rendimiento ext3: Creación del journal en otro dispositivo

Rendimiento ext3: Creación del journal en otro dispositivo

Normalmente en un sistema de ficheros ext3 la parte que más “sufre” es el journal. Por defecto, cada 5 segundo o cada vez que se llena se passa a disco. Podemos observar este comportamiento mediante el comando iostat:

# watch -n1 iostat

Mediante el watch veremos la salida de iostat actualizandose cada seguno.

En discos grandes va creciendo el problema… El journal tiende a llenarse antes, y si no lo hace, el flush cada 5 segundos hace que ese bolcado a disco se deje de escribir datos y se haga del journal por lo que el disco va saturandose. Mediante iostat se puede ver el estado del disco. Omitiendo columnas su salida sería similar a:

$ iostat -dx 5 5
Linux 2.6.9-55.0.9.ELsmp (obacs)         11/26/2008

Device:    rrqm/s wrqm/s   (...)  %util
sda          0.22  63.68 (..)   4.66
sdb          0.42   2.37 (...)  12.49

Device:    rrqm/s wrqm/s   (...)  %util
sda          0.00   5.33  (...)   0.86
sdb          0.00   0.00  (...)   2.30

Device:    rrqm/s wrqm/s   (...)  %util
sda          0.00  94.08  (...)   1.14
sdb          0.20   2.04 (...)  16.71

Device:    rrqm/s wrqm/s   (...)  %util
sda          0.00   1.43  (...)   2.54
sdb          6.35   7.58 (...)  48.83

Device:    rrqm/s wrqm/s   (...)  %util
sda          0.00  20.12  (...)   0.06
sdb          0.00   0.00  (...)   2.48

Interesa ir vigilando la última columna (%util)

Una buena práctica es, si se dispone de otro disco, especialmente si es en otra controladora, passar dedicar el otro disco al journal. Para hacerlo primero se tendrá que dar formato al dispositivo destinado al journal mediante mkfs:

# mkfs -t ext3 -b 1024 -O journal_dev /dev/cciss/c0d0p2

Existe soporte para el uso del journal externo para varios sistemas de ficheros, pero ni el kernel de Linux ni e2fsck lo soportan aún.

En el comando anterior, se ha usado el parámetro -b 1024. Esto se hace porque el tamaño de bloque del dispositivo journal tiene que coincidir con el del sistema de ficheros. Así, la creación de un sistema de ficheros sería:

# mkfs.ext3 -b 1024 -J device=/dev/cciss/c0d0p2 /dev/cciss/c0d1p1 

Si se desea hacer de un sistema de ficheros ya creado, no hace falta destruirlo y crear uno nuevo. Mediante tune2fs se puede realizar la operación:

# tune2fs -J device=/dev/cciss/c0d0p2 /dev/cciss/c0d1p1

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>