¿Porqué Linux no necesita desfragmentar sus discos?

por | junio 4, 2012

Si eres usuario de Linux probablemente hayas escuchado que este OS no necesita, ni tiene una herramienta para desfragmentar sus discos, pero porqué?

Para entender por que los sistemas de archivos para Linux no necesitar ser desfragmentados y Windows si lo necesita, debemos comprender por que Linux y Windows trabajan de diferente manera.

¿Que es la desfragmentación?

Muchos usuarios de Windows, incluso los usuarios inexpertos creen que desfragmentar sus discos regularmente ayuda a amejorar la velocidad de su sistema, algunas personas ni siquiera lo saben y lo hacen.

En resumen, una unidad de disco duro tiene una serie de sectores, cada uno de los cuales puede contener una pequeña parte de información. Los archivos, en particular los grandes archivos, deben ser almacenados a través de una serie de sectores diferentes. Digamos que se guarda un número de diferentes archivos. Cada uno de estos archivos se almacenan en un grupo contiguo de sectores. Más tarde, se actualiza uno de los archivos guardados originalmente, digamos que aumenta su tamaño. El sistema de archivos intentará almacenar las partes nuevas del archivo al lado de las partes originales. Por desgracia, si no hay espacio suficiente contiguo, el archivo debe ser dividido en varias partes, todo esto ocurre de forma transparente para el usuario. Cuando el disco duro lee el archivo, sus cabezas deben saltar de un lado a otro entre las distintas ubicaciones físicas en el disco duro para leer cada fragmento de los sectores y presentar el archivo completo, esto ralentiza las cosas.

La desfragmentación es un proceso de gran demanda que mueve los bits de un archivo de un lado a otro para reducir la fragmentación, asegurando que cada archivo sea contiguo en el disco.

Desfragmentador de Windows 7

¿Cómo funciona el sistema de archivos de Windows?

El sistema de archivos FAT que estuvo presente de forma prederminada en Windows 98 y Windows ME es poco práctico para almacenar archivos. Cuando un archivo se almacenaba en el sistema de archivos FAT, este se guardaba tan cerca como sea posible al principio del disco, cuando se guarda un segundo archivo, este se almacena a la derecha después del primer archivo y así sucesivamente. Cuando el primer archivo crece en tamaño siempre estará desfragmentado ya que no hay espacio para su almacenamiento contiguo.

Las ediciones posteriores con el sistema de archivos NTFS como Windows XP, intentan ser un poco mas inteligente al reservar un espacio libre al estilo de un «buffer» alrededor del archivo en el disco duro, esta «solución» con el tiempo llega al mismo problema, el archivo crecerá tanto que su buffer no permitirá mas almacenamiento contiguo y el disco se fragmentará.

Debido a la manera de funcionar de estos sistemas de archivos, la desfragmentación es necesaria para tener un sistema optimizado para las tareas cotidianas. Microsoft ha aliviado este problema con la desfragmentación en segundo plano en las versiones mas recientes de Windows.

¿Cómo funciona el sistema de archivos de Linux?

Los sistemas de archivos de Linux mas conocidos y utilizados son: Ext2, Ext3 y Ext4, siendo este último el que se utiliza en la mayoría de distribuciones linux como Ubuntu, Debian, CentOS, etc, estos sistemas de archivos funcionan de forma inteligente. En lugar de colocar los archivos uno a continuación de otro, estos sistemas de archivos dispersa cada archivo por tod0 el espacio del disco duro, de manera que siempre tendrán bastante espacio libre entre ellos, si un archivo es editado o crece en tamaño generalmente siempre hay el suficiente espacio para que permanezca contiguo, si la fragmentación ocurre, el sistema de archivos intentará mover los archivos mas cercanos a otra ubicación con el afan de evitar el uso de una herramienta de desfragmentación.

Utilidad de discos en Debian 6

Debido a la forma en que este enfoque funciona, la fragmentación de un disco duro con sistema de archivos de Linux se hará presente cuando el tamaño del disco duro supere el 95% de uso. Sin embargo, el sistema de archivos está diseñado para evitar la fragmentación en condiciones normales de uso.

Si se tiene problemas con la fragmentación en Linux, es probable que se necesite ya de un disco duro más grande. Si realmente se necesita desfragmentar un sistema de archivos en Linux, la forma más sencilla es probablemente la más confiable: Respalde los archivos de la partición, elimine toda la data ya respaldada del disco duro, entonces copie nuevamente los archivos a la partición. El sistema de archivos asiganará inteligentemente su respectivo espacio a medida que se copia los archivos.

Se puede obtener la medida de fragementación de un sistema de archivos de Linux con el comando fsk, una buena señal es la salida «non-contiguous inodes».

Fuente:

http://www.howtogeek.com/115229/htg-explains-why-linux-doesnt-need-defragmenting/