Loading




Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
[howto]Discos con sectores de 4KB
 
15-06-2010, 01:24 PM (Este mensaje fue modificado por última vez en: 15-06-2010 05:33 PM por p_eter.)
Mensaje: #1
[howto]Discos con sectores de 4KB
Desde los primeros días de los discos rígidos, la mínima unidad de almacenamiento direccionable fue el sector, de 512 Bytes de capacidad. Esta granularidad se eligió porque siempre fue un buen balance entre la fragmentación interna de los archivos y el manejo físico del disco relativo a la corrección de errores, flags de inicio/fin del sector más la separación inter-sector (gap). Toda la industria de la PC y el software creado para ella se apoyó en este estándar de facto, y casi ningún utilitario, BIOSes, ni Sistema Operativo se pensaron para un posible cambio… sólo hasta hace unos pocos años.

Western Digital es una de las primeras marcas en sacar al mercado discos con sectores 8 veces más grandes que los anteriores, de 4 KBytes (4096 Bytes); estos discos son etiquetados como que poseen “Advanced Format Technology” (“Tecnología de Formato Avanzado”), y es lo primero que uno debería empezar a mirar al comprar discos nuevos de gran tamaño (1 TB o superior), ya sean de WD o de otros fabricantes.

El motivo del cambio, se debe a que existen 3 factores esenciales que deben compensarse para buscar capacidades de almacenamiento cada vez mayores en el mismo tamaño de disco (que por lo general es de 3,5 pulgadas):

1. Densidad de área: Cuántos bits se pueden guardar en un área determinada (Bits/Pulgada cuadrada). Hasta ahora, con la Grabación Perpendicular, estamos en el orden de unos 300/500 Gigabits por pulgada cuadrada (1, 2).
2. Relación Señal/Ruido: Al leer de los platos del disco, pueden ocurrir fallos, ya que el almacenamiento magnético en definitiva es analógico; y la señal, para ser convertida desde/hacia binario, debe ser procesada. Cuanto mejor sea la relación de la señal con respecto al ruido en el momento de leer o escribir en los platos, más confiable es la operación.
3. El uso del Código de Corrección de Errores – ECC: Cada sector del disco incluye un área reservada para almacenar el ECC, imprescindible para recuperarse ante cualquier error de lectura/escritura.

A medida que la Densidad del Area se incrementa, los sectores (siempre de 512 Bytes) lógicamente se reducen en el área que ocupan físicamente. Esto hace que se incremente el Ruido con respecto a la Señal porque las señales son más débiles y hay más interferencia de los datos adyacentes; por lo tanto el valor de SNR disminuye, y a su vez, la probabilidad de errores de lectura aumenta. Entonces, es necesario mejorar la capacidad del ECC para detectar y corregir errores, generalmente agregándole más bits. Esto requiere de más espacio físico reservado para un sector (siempre de 512 Bytes), y aquí volvemos a empezar.

Lo que sucede es que aquí está el punto; se está llegando a un límite donde no se puede seguir con sectores de 512 Bytes y aumentar el tamaño total del disco, ya que todo este nuevo espacio obtenido con una mayor densidad termina no siendo utilizable, sino que será mayormente para el ECC (es decir, redundancia para contemplar posibles errores).

La solución al problema es que, para almacenar más información, hay que incrementar la eficiencia del ECC. Y esto se logra haciendo que éste abarque más datos que sólo 512 Bytes; el ECC es mucho más eficiente (ocupa menos espacio en comparación) si su código de corrección abarca más datos, digamos, 4096 Bytes.

Por ejemplo, para detectar y corregir corregir 4096 Bytes divididos en 8 sectores de 512 Bytes (de la vieja forma), necesitamos “gastar” 320 Bytes de ECC (ya que tenemos 40 Bytes por cada ECC de 512 Bytes), mientras que si usamos 1 sector de 4096 Bytes sólo vamos a usar 100 Bytes de ECC. Como se puede ver, uno se ahorra 220 Bytes de overhead por cada 4KB que tiene el disco para guardar cosas; en 1500 GB (= 1.500.000.000 KB / 4 = 375.000.000 sectores de 4 KB * 0,22 KB) son 82,5 GB más de espacio disponible para almacenar datos de usuario y no ECC (un 5,5% más). Esto y sin contar el espacio “desperdiciado” para los gaps entre sectores y el flag de sincronización/inicio de sector (para 4 KB, antes eran 8 y ahora es sólo 1). Además, estos 100 Bytes de ECC mejoran en un 50% la capacidad de detectar errores en “ráfaga” comparado con el anterior, es decir, el nuevo es un mejor y más eficiente ECC.

Por todo esto, para tamaños tan grandes de disco, usar sectores de 4KB nos permite aprovechar de manera más eficiente la mayor densidad del área que disponemos. ¿Y por qué 4 KB? No es un número al azar; coincide con el tamaño de las páginas de memoria en la arquitectura x86 y con el tamaño de cluster por defecto de la mayoría de los sistemas de archivos que pululan por ahí, con lo cual la velocidad de transferencia de páginas desde/hacia el disco no se ve afectada, y la fragmentación interna de los archivos almacenados es la misma que con sectores de 512 Bytes.

¿Y qué problema hay con Linux? Particiones desalineadas.

Teniendo en mente esto, esta serie de discos de WD emula ser un disco con sectores “lógicos”de 512 bytes, pero en realidad trabaja internamente con sectores “físicos” de 4 KB.

La mínima unidad “direccionable” real del disco son 4 KB (un sector), y el tamaño de cluster por defecto (la mínima unidad “direccionable” por el sistema de archivos) son 4 KB; esto quiere decir en definitiva que el disco, cada vez que lee y escribe lo hace en unidades de 4 KB. Luego le agregamos la capa de emulación, para hacerlo compatible con los SOs que tenemos ahora. Bien, supongamos que vamos a crear una sola partición en el disco. ¿Qué pasa si esta partición, donde vamos a guardar los datos, comienza en el sector 1 (o cualquier sector no múltiplo de 8 ) del disco en vez del sector 0? Lo que sucede es que el primer cluster empieza y termina en dos sectores físicos; está “desalineado” con respecto a ellos.

El problema es que el disco “le dice” a Linux que tiene sectores físicos de 512 bytes por la emulación, cuando internamente trabaja con 4 KB. ¿Y cuál es la consecuencia? La posibilidad de no tener los sectores alineados. Fdisk y cualquier software particionador de discos de Linux comienza la primer partición en el sector 63 de aquellos discos que reconoce como de sectores de 512 Bytes**. Esto hace que el disco funcione muy lento.

Cómo particionar estos discos en general y en Linux en particular

Bueno, ¿cómo se hace para crear particiones de manera alineada? Es relativamente fácil. Según Ted Ts’o, donde explica que hay un problema parecido con los nuevos discos SSD, hay que ejecutar fdisk con los parámetros “-H 224 -S 56 /dev/sdX”, siendo /dev/sdX el disco en cuestión; esto hace que todas las particiones se creen en la sesión interactiva de fdisk en sectores múltiplos de 8. Otra opción es usar GNU Parted con los parámetros “unit s”, y de esta manera deja a uno configurar el primer sector de cada partición.

Crear 4 particiones. Este es un ejemplo de particiones bien alineadas, el último comando es para mostrar el tamaño de cada partición nada más:

Código:
marcelo@marcelo:~$ sudo parted /dev/sdb unit s print
Modelo: ATA WDC WD15EARS-00S (scsi)
Disco /dev/sdb: 2930277168s
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones. msdos

Numero  Inicio       Fin          Tamaño       Tipo     Sistema de ficheros  Banderas
1      56s          41959679s    41959624s    primary  ext4
2      41959680s    46161919s    4202240s     primary
3      46161920s    1673570303s  1627408384s  primary  ext4
4      1673570304s  2930265855s  1256695552s  primary                       raid

marcelo@marcelo:~$ sudo fdisk -lu /dev/sdb

Disco /dev/sdb: 1500.3 GB, 1500301910016 bytes
224 cabezas, 56 sectores/pista, 233599 cilindros, 2930277168 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x00094da1

Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sdb1   *          56    41959679    20979812   83  Linux
/dev/sdb2        41959680    46161919     2101120   82  Linux swap / Solaris
/dev/sdb3        46161920  1673570303   813704192   83  Linux
/dev/sdb4      1673570304  2930265855   628347776   fd  Linux raid autodetect

marcelo@marcelo:~$ sudo parted /dev/sdb print
Modelo: ATA WDC WD15EARS-00S (scsi)
Disco /dev/sdb: 1500GB
Tamaño de sector (lógico/físico): 512B/512B
Tabla de particiones. msdos

Numero  Inicio  Fin     Tamaño  Tipo     Sistema de ficheros  Banderas
1      28,7kB  21,5GB  21,5GB  primary  ext4
2      21,5GB  23,6GB  2152MB  primary
3      23,6GB  857GB   833GB   primary  ext4
4      857GB   1500GB  643GB   primary                       raid

Nuevamente: Lo más importante para que los clusters estén alineados con los sectores físicos del disco es que cada partición debe comenzar en un sector múltiplo de 8, como el 56, 41959680, 46161920 y 1673570304 de este caso.

Recomendaciones al trabajar con discos +1TB:

* “Las unidades de medida son críticas. Asegúrate que estás realmente operando a nivel de sectores
* Después , hacer un test de performance es buena idea.
* Para esto, primero trata de crear una partición desalineada, crea un sistema de archivos, y ejecuta el benchmark de postmark usando el archivo de configuración: http://olo.org.pl/files/hw/postmark-auto...quick.conf – modifica la opción “location” en ese archivo acorde al disco a comprobar.
* Luego, borra todas las particiones y haz lo mismo en una partición alineada. Los resultados deben ser mucho mejores en cuanto al rendimiento. Si no lo son, el disco probablemente tiene sectores físicos de 512 Bytes.”

Extracto del excelente artículo de Marcelo Fernández
http://blog.marcelofernandez.info/2010/0...-en-linux/
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
18-09-2010, 12:03 AM (Este mensaje fue modificado por última vez en: 18-09-2010 12:06 AM por p_eter.)
Mensaje: #2
RE: [howto]Discos con sectores de 4KB
Western Digital (quien ya lo ha implementado en varias modelos de las lineas Caviar: Green y Blue ) ha estado trabajando con el equipo del Linux kernel y gente de populares distros.

Comenzando Linux Kernel Version 2.6.34, ya durante la instalación por omisión alinea de la manera más apropiada durante lo que llama Advanced Format disk drives.

Como ser el caso de Ubuntu 10.04, Fedora 13, Redhat 6 y derivados. También (sin confirmar) Debian 6 "Squeeze" y openSUSE 11.3

Para quienes construyen sus distros, una buena lectura de referencia:
https://ata.wiki.kernel.org/index.php/AT...tor_issues
Visita su sitio web Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
08-03-2012, 12:09 AM
Mensaje: #3
RE: [howto]Discos con sectores de 4KB
hola//... acabo de empezar a trabajar con linux ya saben por una falla en windows.... y quise respaldar la informacion de mi HD en un HD con un adaptador externo todo iba bien hasta que se me ocurrio =por cuestiones de tiempo= copiar todo el disco de 220gb a uno de 300gb pero sorpresa no entraron todos los datos me marca disco lleno,

descarge el beesoft para comparar los discos y todos los archivos peque;os tienen 4096 kb y en los directorios de windows varian de 0 a multiplos de 4096

eso es lo que consume el espacio en el disco, no esntiendo como es que mencionas que es una mejor manera de aprovechar el espacio......

me gustaria estar informado porque si pienso migrar todas mis PC a linux,gracias

PD la info que tienes esta muy completa, solo lo mencionado no me cuadra
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
 
08-03-2012, 01:15 PM
Mensaje: #4
RE: [howto]Discos con sectores de 4KB
(08-03-2012 12:09 AM)hagel escribió:  hola//... acabo de empezar a trabajar con linux ya saben por una falla en windows.... y quise respaldar la informacion de mi HD en un HD con un adaptador externo todo iba bien hasta que se me ocurrio =por cuestiones de tiempo= copiar todo el disco de 220gb a uno de 300gb pero sorpresa no entraron todos los datos me marca disco lleno,

descarge el beesoft para comparar los discos y todos los archivos peque;os tienen 4096 kb y en los directorios de windows varian de 0 a multiplos de 4096

Verifica con la ficha técnica de los HD, pero por lo que mencionas es que uno tiene sectores de 512 bytes y el HD nuevo es de 4096 bytes.

Te diría que comprimas, o al menos los empaquetes (con tar por ej.) .. sobre todo si es backup.


(08-03-2012 12:09 AM)hagel escribió:  eso es lo que consume el espacio en el disco, no esntiendo como es que mencionas que es una mejor manera de aprovechar el espacio......

me gustaria estar informado porque si pienso migrar todas mis PC a linux,gracias

PD la info que tienes esta muy completa, solo lo mencionado no me cuadra

El artículo trata de como aprovechar ( la perfomance en velocidad de ) la geometría de los nuevos discos.

Cuando son archivos chicos, es claro que resulta en mayor espacio de disco consumido. Pero con grandes archivos sacas partido.

La nueva geometría es necesaria para manejar discos de gran capacidad. Independientemente del sistema operativo.
Encuentra todos sus mensajes
Cita este mensaje en tu respuesta
Enviar respuesta 


Posibles temas similares...
Tema: Autor Respuestas: Vistas: Último mensaje
  Ver Discos Duro tinch 13 76.206 24-04-2011 09:59 AM
Último mensaje: unapreguntita
  RAID1 con discos de diferente tamaño magtec 10 12.119 02-08-2010 08:10 PM
Último mensaje: rebollo
  [howto]Reparación de Monitores p_eter 0 2.311 14-07-2010 01:13 PM
Último mensaje: p_eter
  [howto]Fuentes de Alimentación - UL Online Certification Directory p_eter 1 3.644 08-06-2010 12:22 PM
Último mensaje: p_eter

Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)
Contáctanos | Portal de Noticias | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS