Publicidad


Banner Servicios de Alcance Libre
Banner Delti

Encuesta

¿Que aplicaciones predeterminadas crees que deba llevar ALDOS 1.2?

¿Que navegador?

Mozilla Firefox
Epiphany

Esta encuesta tiene 4 preguntas más.
Resultados
Otras encuestas | 136 votos | 2 comentarios

Están en línea...

 Registrados: 14
     caos1982 
     darth_tradd
     emiliogm
     GOGO 
     ilidan 
     iron_brando
     jnobsa
     joelbarrios 
     JoelG
     Jordi Villegas
     josuepaz80
     manowar 
     udtecnovirtual
     ugustavo2003 
 Invitados: 1326
 Últimos registrados:
     udtecnovirtual
     cemolina
     Ruiz-Tapiador
     miguelcarmona
     YO
 Total registrados: 2170

Participan...

Noticias
joelbarrios (2853)
bartoloco (149)
Koalasoft (141)
capotes (90)
Flaquita (64)
gomezbjesus (63)
bakara (59)
ValeriaBueno (52)
RamOS (51)
The One (47)
domingov (43)
rlameda (32)
varisti (24)
adrianpazr (21)
core_dumped (19)

Comentarios
joelbarrios (343)
Koalasoft (228)
RamOS (181)
gomezbjesus (94)
Oscar Hernández (62)
The One (61)
juanroberto (51)
rdario (46)
Cause (42)
rlameda (40)
manowar (38)
julioe (37)
Micaelo (34)
bakara (34)
benfrid (32)

Cómo optimizar el sistema de archivos ext3.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2009 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

Cuando se trabaja con servidores y estaciones de trabajo con instalaciones de Ubuntu, CentOS, Red Hat o Fedora y se busca optimizar el uso del disco duro de sistemas de archivos ext3, hay ajustes que pueden mejorar el desempeño significativamente.

Acerca de ext3.

ext3 (third extended filesystem o tercer sistema de archivos extendido) es el sistema de archivo más utilizado por las distribuciones de GNU/Linux y. Se diferencia de ext2 en que trabaja con registro por diario (journaling) y porque utiliza un árbol binario balanceado (árbol AVL, creado por los matemáticos rusos Georgii Adelson-Velskii y Yevgeniy Landis) y también por incorporar el método Orlov de asignación para bloques de disco (el mismo que se gestiona a través de los mandatos lsattr y chattr). Además ext3 permite ser montado y utilizado como si fuera ext2 y actualizar desde ext2 hacia ext3 sin necesidad de formatear la partición y, por tanto, sin perder los datos almacenados en ésta.

Acerca del registro por diario (journaling).

El registro por diario (journaling) es un mecanismo por el cual un sistema de archivos implementa transacciones. Consiste en un registro en el que se almacena la información necesaria para restablecer los datos dañados por una transacción en caso de que ésta falle, como puede ocurrir durante una interrupción de energía.

Procedimientos

Para determinar que dispositivos corresponden a las particiones en el disco duro, se utiliza el mandato  df.  Ejemplo:

[root@m064 ~]# df
S.ficheros         Bloques de 1K   Usado    Dispon Uso% Montado en
/dev/hda2             19283024  17279260   1207584  94% /
/dev/sda1                77749     21905     51830  30% /boot
/dev/sdb1             17496684  10618980   5988912  64% /home
/dev/hda5             54158844  41284544  11223624  79% /var/ftp
/dev/sda2             15352348   4874232   9698164  34% /home/rpmbuild
tmpfs                   777732         0    777732   0% /dev/shm

Una vez determinados que dispositivos corresponden a las diferentes particiones, pueden aplicarse varios métodos de optimización.

Utilizando el mandato e2fsck.

El mandato e2fsck se utiliza regularmente para revisar y reparar particiones con formato ext2 y ext3. Incluye la opción -D que realiza la optimización de directorios en el sistema de archivos. La optimización de todos los directorios de una partición consiste en volver a posicionar (reindexing) los directorios, cuando el sistema de archivos incluye soporte para tal,  o volviendo a acomodar y comprimiendo directorios. La opción -D se debe utilizar junto con la opción -f para forzar la verificación de la partición del disco duro.

Para optimizar una partición en formato ext3, es indispensable que ésta esté desmontada. Para poder desmontar una partición es indispensable que el sistema funcione sin procesos haciendo uso de contenidos en dicha partición. Puede utilizarse el mandato lsof para determinar esto y así definir que es lo que se debe detener momentáneamente. Si el sistema funciona sin procesos haciendo uso de contenidos en la partición, se puede seguir el procedimiento ejemplificado a continuación con el dispositivo /dev/sda3 que en este particular ejemplo corresponde a la partición para /home:

umount /home
e2fsck -f -D /dev/sda3

La salida puede devolver algo similar a lo siguiente:

[root@m100 SPECS]# e2fsck -D -f /dev/sda3
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 3A: Optimizing directories
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/home: ***** FILE SYSTEM WAS MODIFIED *****
/home: 13/5244736 files (7.7% non-contiguous), 208319/5243214 blocks

Una vez terminado el procedimiento, se pueden volver a montar las particiones optimizadas.

En el caso de tratarse de particiones que sea imposible desmontar por encontrarse en uso, puede utilizarse el disco de instalación de CentOS, Fedora o Red Hat en modo de rescate (boot: linux rescue), o un Disco Vivo (LiveCD), en el caso de Ubuntu, y desmontando las particiones que se quiera optimizar antes de utilizar el mandato e2fsck -f -D.

Opciones de montado.

Los sistemas de archivos ext3 permiten tres opciones que particularmente son útiles. Todas se especifican en la columna de opciones de los dispositivos en el fichero /etc/fstab.

Opción noatime (no tiempos de acceso).

Es la forma más rápida y fácil de lograr mejoras en el desempeño. Esta opción impide se actualice los tiempos de acceso de los inodos (nodos índice), los cuales realmente son poco utilizados por la mayoría de los usuarios. Esto permite mejor desempeño en servidores de noticias y HTTP pues permite un más rápido acceso hacia el sistema de archivos. Es particularmente útil en computadoras portátiles pues reduce considerablemente la cantidad de procesos de E/S o Entrada y Salida (I/O o Input/Output) del disco duro. Equivale a utilizar chattr +A, pero aplicado a todos los datos de la partición.

En el siguiente ejemplo, se configurará la opción noatime para la partición /var/www en el fichero /etc/fstab de un servidor HTTP.

LABEL=/var/www      /var/www      ext3      defaults,noatime      1 2

Opción commit (consignación de cambios).

Esta opción controla el tiempo que se utilizará entra cada operación sincronización (sync) de datos y metadatos en una partición. El tiempo predeterminado es de 5 segundos. Puede incrementarse ligeramente para mejorar el desempeño, tomando en cuenta que si se específica demasiado tiempo y ocurre una interrupción de energía antes de hacer una operación de sincronización (sync), se perderán los datos más recientes con los que se haya trabajado. Esta opción solo se recomienda si se dispone de un sistema de respaldo de energía confiable.

En el siguiente ejemplo, se configurará la opción commit con el valor equivalente a 8 segundos para la partición /var/www en el fichero /etc/fstab de un servidor HTTP.

LABEL=/var/www      /var/www      ext3      defaults,commit=8      1 2

Opción data (datos).

Nota: Debido a que se debe desmontar y volver a montar, las modificaciones de esta opción requieren que la partición esté sin utilizar. Por lo cual se recomienda realizar este procedimiento desde un disco de rescate o bien iniciando el sistema en nivel de ejecución 1 (monousuario).

Esta opción permite tres posibles valores:

  • ordered: Es el valor predeterminado. Escribe los datos asociados a los metadatos primero en el sistema de archivos antes de hacerlo en el registro por diario. Si es prioritario garantizar la integridad de datos o bien se carece de un sistema de respaldo de energía confiable, es la opción que debe utilizarse.
  • writeback: Hace que el sistema de archivos se comporte de manera similar a XFS. Sin preservar el ordenamiento al escribir en el disco, de modo que las consignaciones de cambios (commits) en el registro por diario puede ocurrir antes de la escritura en el sistema de archivos. Este método es el más rápido porque solo los metadatos se almacenan en el registro por diario, pero puede hacer que se muestren datos viejos después de una falla del sistema o interrupción de energía. Solo se recomienda si se dispone de un sistema de respaldo de energía confiable.
  • journal: Es lo opuesto a ordered. Obliga a escribir primero los datos en el registro por diario y luego en el sistema de archivos, por lo cual utiliza un registro por diario más grande y que por lo tanto demora más tiempo en recuperarse en caso de una falla del sistema o interrupción de energía. Este es evidentemente el método más lento en la mayoría de los casos, salvo que se realicen operaciones de lectura y escritura al mismo tiempo, como ocurre con las bases de datos.

En el siguiente ejemplo se configurará en el fichero /etc/fstab de un servidor HTTP y base de datos la partición /var/www con la opción data con el valor writeback y la partición /var/lib con la opción data y el valor journal:

LABEL=/var/www      /var/www      ext3      defaults,data=writeback    1 2
LABEL=/var/lib      /var/lib      ext3      defaults,data=journal      1 2

Antes de desmontar y volver a montar o reiniciar el sistema, hay que convertir los registros de diarios a writeback o bien journal, dependiendo el caso. Para tal fin se utiliza el mandato tune2fs del siguiente modo, en el caso donde se desea cambiar al modo writeback el registro por diario de la partición LABEL=/var/www:

tune2fs -o journal_data_writeback LABEL=/var/www

En el caso donde se desea cambiar al modo journal el registro por diario de la partición LABEL=/var/lib, se utiliza lo siguiente:

tune2fs -o journal_data LABEL=/var/lib

Para revertir el cambio y volver a utilizar el modo ordered, se puede utilizar el mandato tune2fs con la opción -o journal_data.

Para aplicar los cambios, sin correr el riesgo de reiniciar con errores de sintaxis en el fichero /etc/fstab que impedirían montar las particiones configuradas, se puede utilizar el mandato umount para desmontar la partición a modificar, y posteriormente el mandato mount para volver a desmontarlas. Ejemplos:

umount /var/www
umount /var/lib
mount /var/www
mount /var/lib

Utilizar el mandato mount cn la opción -o remount siempre devolverá un error de opción incorrecta. Esta es la razón por la cual se desmontan y montan las particiones para cambiar el tipo de registro por diario de las particiones.

Si lo anterior devuelve el símbolo de sistema sin errores, significa que las opciones se aplicaron correctamente y que el sistema puede ser reiniciado con toda seguridad en el momento que se considere apropiado.

Para regresar todo a como estaba originalmente, se edita el fichero /etc/fstab y se quitando las opciones data=valor previamente configuradas:

LABEL=/var/www      /var/www      ext3      defaults    1 2
LABEL=/var/lib      /var/lib      ext3      defaults      1 2

Se desmontan las particiones:

umount /var/lib
umount /var/www

Y con el mandato tune2fs se define nuevamente el formato ordered:

tune2fs -o journal_data_ordered LABEL=/var/lib
tune2fs -o journal_data_ordered LABEL=/var/www

Y finalmente se vuelven a montar las particiones:

mount /var/lib
mount /var/www

Si lo anterior devuelve el símbolo de sistema sin errores, significa que las opciones fueron revertidas y aplicadas correctamente y que el sistema puede ser reiniciado con toda seguridad en el momento que se considere apropiado.

Última Edición martes 21 de julio de 2009 @ 12:38 CDT|4,796 Hits Ver la versión para imprimir