Teoría informática – Optimizando unidad de asignación (Tamaño de cluster)

teoría

Muy buenas a todos, puesto que no me esta dando tiempo a publicar y probar todo lo que yo quisiera por temas de trabajo si voy a hacer un esfuerzo este domingo con la intención de dejar algunas novedades preparadas para la semana, de momento voy con un artículo muy interesante que puede pasar por excesivamente básico y sencillo pero que a más de uno le va a dar buenas ideas, y es que es algo que hace muchos años dejamos en el olvido y la correcta optimización de un sistema informático pasa por muchos factores, algunos más importantes y acusados que ortos pero al final ya sabéis, son los pequeños detalles los que marcan la diferencia.

Antes de nada quiero remarcar y enlazar a un artículo publicado por el tan estimado colaborador Juancitux y que hace referencia y explica mucho de los discos SSD, que aunque su funcionamiento difiere bastante de los actuales discos mecánicos así como su rendimiento cuando estamos trabajando con redes de datos y necesitamos disponer de grandes cantidades de almacenamiento y más aún, cuando necesitamos que todo este sea redundante entonces nuestra única opción pasa por discos mecánicos… vamos con el enlace y tras este empezamos con el tema que nos ocupa.

Cómo son y para que sirven los dispositivos SSD

Bien, ahora pasamos a seguir con el tema del tamaño de asignación o de cluster. Como ya sabemos los discos duros están compuestas por unos discos rígidos de aluminio, cristal o cerámica que están divididos en finas pistas, que a su vez se dividen en clusters…

La cosa es que nosotros podemos definir dentro de unos límites el tamaño de estos clusters según nuestras necesidades, o mejor dicho, dependiendo del tipo de ficheros que vamos a almacenar en el disco.

A continuación dejo un gráfico que he realizado.


Tamaños de cluster en Windwos con NTFS

Tamaños de cluster en Windwos con NTFS


Aquí he tratado de representar el tamaño de cluster que podemos emplear al dar formato en NTFS a un disco, con el sistema de archivos actual podemos elegir entre los siguientes tamaños de asignación de cluster:

1. 512 bytes
2. 1024 bytes
3. 2048 bytes
4. 4096 bytes
5. 8192 bytes
6. 16 Kbytes
7. 32 Kbytes
8. 64 Kbytes

Como vemos partimos de 512 bytes los cuales se van duplicando lo que viene claramente definido por el sistema binario, pero eso son otros rollos…

Bien, el gráfico solo representa el tamaño de un cluster, recuerda que el disco esta dividido en diferentes pistas y cada pista en diferentes clusters, vamos a verlo en un nuevo e impresionante gráfico (hecho con el paint…)


Disco duro - gráfico distribución lógica

Disco duro - gráfico distribución lógica


Aquí podemos ver los siguiente:

En color rojo: El perímetro de un plato del disco duro
En color verde: El tamaño de cluster
En colores azul claro, oscuro y negro: Los clusters repartidos en las diferentes pistas

Aunque obviamente esto es un gráfico representativo a escala gigante en un disco encontraremos muchísimas más pistas y aún más clusters, pero… ¿Que son los clusters? ¿Cómo nos afectan?

Un cluster es el tamaño mínimo de almacenamiento del disco duro, es decir, si almacenamos un fichero este se alojará en un cluster para el solo, claro esta, si el archivo ocupa más este utilizará más clusters pero no compartirá un cluster con ningún otro fichero del sistema.

Dicho esto ya podemos deducir que:

1. El tamaño de cluster delimita el tamaño mínimo que un fichero ocupará en nuestro disco duro
Explicación: Si nuestro tamaño de cluster (o de asignación de archivos) es de 4096 bytes y guardamos un fichero de 1758 bytes realmente estamos ocupando en el disco un total de 4096 bytes, ya que este es el tamaño de asignación de nuestro disco duro o partición, en este caso desperdiciamos 4096 – 1758 = 2338 bytes.

2. Cuanto más pequeño es el cluster menos espacio desaprovechamos
Explicación: Obviamente si tenemos un tamaño de cluster de 512 bytes el archivo del ejemplo anterior ocupara 4 cluster y esto nos dará una pérdida de, 512 * 4 = 2048 bytes – 1758 = 290 bytes, como vemos la pérdida es mucho menor.

3. Cuanto más pequeño es el cluster mayor es la fragmentación del disco
Explicación: obviamente al tener el disco dividido en trocitos más pequeños la fragmentación es mayor y mayor pérdida de rendimiento sufriremos, por otro lado, al elegir un mayor tamaño de cluster, si la fragmentación se reduce pero también desaprovechamos un mayor espacio en disco.

de todo esto ya podemos sacar muchas conclusiones, las cuales deberíamos de tener siempre muy presentes ya que nos pueden ser de gran ayuda, y puede que esto no suceda si hablamos de el pc de nuestra casa con 2Tbytes (aunque si sucedería solo que se acusaríamenos) pero no es lo mismo cuando montas un servidor de ficheros con una capacidad de 25 Tbytes para una empresa y debes obtener el máximo rendimiento en todos los puntos de la red.

En cuanto a unaaplicación doméstica yo por ejemplo formateo el disco de virtualización y el de las ISOs con un tamaño de cluster de 64 Kbytes, la pérdida es muy poca incluso comparándola con el tamaño recomendado (creo que es de 4096) y a cambio obtengo un mayor rendimiento y una menor fragmentación, aunque la verdad en el caso de las máquinas virtuales lo primordial para mi es el rendimiento siendo muy secundario el espacio que pueda desaprovecharse.

En cuanto a cuando utilizar un mayor o menor tamaño de cluster esto es cosa de cada uno, pero queda muy claro que si vas a almacenar archivos grandes utiliza el tamaño máximo, si no el mínimo y si lvas a darle un uso mixto entonces puede que el tamaño de asignación predeterminado sea el que necesitabas…

Un saludo y espero que te haya sido de ayuda el artículo, por cierto los gráficos estan hechos uno con excel y el otro con Paint…

Saludos!!

Sin categoría

Deja una respuesta