¿Por qué parece una buena práctica establecer límites de partición a valores de MB completos?

¿Por qué parece una buena práctica establecer límites de partición a valores de MB completos?

Recientemente me mudé a un nuevo hardware con todas las alegrías y tareas de aprender cómo cambiaron las cosas y cómo funcionan ahora.

cuando me encontré con elre/particionar tarea usando gpartedéleligió automáticamente establecer los límites de la partición en valores de MB completos, dejando así pequeños huecos entre los tabiques ocasionalmente.

ahora me pregunto:

ya que es solo un número arbitrario (especialmente cuando se consideran los SSD con sus controladores de almacenamiento de bajo nivel en su interior) donde comienza o termina mi partición,

¿Por qué parece una buena opción dejar esos huecos en el disco??

salud

Respuesta1

Esto tiene que ver con la alineación de la partición. Básicamente, bajo el capó, su disco duro está dividido en sectores. Cada vez que el disco duro realiza una operación, actúa sobre todo el sector a la vez; es decir, cuando lee cualquier dato que esté almacenado dentro de un sector, debe leer el sector completo. Si los datos se dividen en varios sectores, deben leer la totalidad de cada uno de esos sectores. El sistema de archivos que va en una partición también asigna el espacio disponible en bloques (cuyo tamaño suele ser un parámetro ajustable en la creación del sistema de archivos; para un FS que consistirá principalmente en archivos pequeños, usaría un tamaño de bloque pequeño, para algo principalmente grande, usaría un tamaño de bloque grande, el objetivo es minimizar el espacio desperdiciado: si un archivo es más pequeño que el tamaño del bloque, el resto del bloque se desperdicia, pero cuanto más pequeño sea el tamaño del bloque, más grandes serán las tablas que abordan todos los los bloques deben ser).

Ahora, esencialmente, necesita que los bloques de su sistema de archivos y los sectores de su disco estén alineados: uno debe encajar en el otro sin restos y, lo que es más importante, deben comenzar en el mismo lugar, para que no haya una superposición fraccionaria. Supongamos que tiene un disco que tiene un tamaño de sector de 4 kb y su sistema de archivos está en bloques de 1 kb. Si su partición comienza en un pequeño desplazamiento desde el inicio de un sector, incluso si son solo unos pocos bytes, cada cuarto bloque en su sistema de archivos en realidad se dividirá en dos sectores, por lo que debe leer/escribir ambos sectores en el disco cada vez que interactúe. con ese bloque. Esto supone una sobrecarga del 25%, lo que rápidamente puede traducirse en una reducción considerable del rendimiento. Si el tamaño del bloque de asignación de FS es el mismo que el tamaño del sector HD (4k no sería irrazonable para ambos) y tiene este desplazamiento, cada lectura/escritura tendría este problema, lo que tendría un impacto enorme en el rendimiento.

Para evitar esto, alineamos de manera conservadora el inicio de las particiones con los límites de los megabytes (ya que un megabyte aún debería ser un buen múltiplo del tamaño del bloque/sector incluso dentro de varios años con las unidades masivas que tengamos). Esto puede dar lugar a pequeños "espacios" en el disco si los tamaños de las particiones no coinciden perfectamente y terminan exactamente en un límite de megabytes. Siempre queda un espacio al inicio del disco porque los primeros sectores del disco están reservados para otros fines.

https://www.thomas-krenn.com/en/wiki/Partition_Alignmentdescribe el problema con más detalle. Sin embargo, como se señaló, el espacio perdido en comparación con el tamaño de un disco moderno es bastante trivial.

Respuesta2

¿Por qué parece una buena opción dejar esos espacios en el disco?

Parece ser un uso de "bandas de guardia".
A veces veía la no asignación (¿intencional?) de la última o dos pistas al final de una partición.
En teoría no deberían ser necesarios.

Para una unidad de disco duro, las particiones solían asignarse para comenzar en un límite de cilindro. Esta asignación minimizaría el número de búsquedas dentro de la partición y, por tanto, mejoraría los tiempos de acceso generales.
Pero hoy en día, con los discos duros que utilizan grabación de bits de zona, el programa de partición realmente no conoce la geometría real de la unidad ni dónde están los cilindros físicos, por lo que cualquier "alineación de cilindros" esencialmente no tiene sentido.

Para una unidad de estado sólido, es necesario asignar particiones para ocupar un número entero de bloques de borrado. Dado que los chips flash NAND dimensionan sus sectores y páginas de lectura/escritura y borran bloques en potencias de 2, se supone que dimensionar y alinear la partición SSD en unidades de una gran potencia de 2, como 1 megabyte, abarca un número entero de dichas páginas/bloques.

información relacionada