Compré un disco duro Seagate ST3000DM001 3TB. Fue vendido dentro de un recinto. Formateé a ext4, copié algunos datos y luego lo saqué del gabinete y lo conecté directamente a la placa base. Mis datos no eran visibles para el sistema operativo (estaba viendo una partición desconocida de ~ 300GiB y el resto como espacio libre), así que comencé a leer sobre el formato avanzado y las unidades> 2TB.
Volví a conectar el disco con USB, copié todos los datos y volví a conectarlo a sata. Solía gparted para crear una tabla de particiones GPT (la utilidad de disco ubuntu no me dejaba Error synchronizing after initial wipe: Timed out waiting for object (udisks-error-quark, 0
), creé una gran partición Ext4 de 3Tb, dejé el Align to
valor predeterminado MiB
y formateé.
La unidad se reconoce correctamente y se monta correctamente. Los archivos se pueden copiar desde y hacia la unidad con éxito.
Sin embargo:
Gparted muestra el disco que tiene 512k sectores que sé que no es cierto 1
mientras cat /sys/block/sdb/queue/physical_block_size
informes4096
He encontrado algunos informes que libparted
tienen un problema con sectores no 512k 2 y otros 3 que dicen que alinearse con MiB es suficiente.
Parted informa que la unidad está alineada cuando elijo mínimo:
(parted) align-check
alignment type(min/opt) [optimal]/minimal? min
Partition number? 1
1 aligned
(parted)
¿Es correcta mi configuración? ¿Tengo una penalización de rendimiento porque el disco está formateado con 512k sectores, gParted informa de valores falsos o he entendido todo mal?
fuente
Respuestas:
Informa 512 bytes porque ese es el tamaño del sector lógico para la compatibilidad con versiones anteriores de sistemas operativos (Windows). (g) parted alinea las particiones a 1 MiB, que es más que suficiente para funcionar correctamente con unidades que utilizan sectores físicos de 4k, por lo que está bien como está.
fuente
Primero, la mayoría de las unidades de formato avanzado presentan un tamaño de sector lógico de 512 bytes, aunque el tamaño del sector físico es de 4096 bytes (4KiB). Esto se hace a través de malabares de datos en el firmware de la unidad, y puede provocar problemas de rendimiento si las particiones no están alineadas correctamente. Sin embargo, es probable que esta no sea la fuente de su problema, y su enfoque en la alineación de la partición está fuera de lugar. (Para estar seguro, la alineación de la partición es importante; simplemente no es la fuente de su problema).
Mi corazonada (y essolo una corazonada) es que su problema es el resultado de cambiar entre un gabinete USB y la conexión directa del disco. Algunos gabinetes traducen sectores lógicos de 512 bytes en el disco en sectores lógicos de 4096 bytes presentados a la computadora, es decir, lo contrario de lo que hace el firmware en un disco de formato avanzado. No soy positivo, pero sospecho que algunos gabinetes hacen esto solo en discos de más de 2TiB. Los esquemas de partición MBR y GPT se refieren a datos por números de sector, por lo que cambiar el tamaño del sector invalida los datos de partición. Por lo tanto, si prepara el disco en un gabinete USB que se traduce de esta manera y luego intenta usar el disco directamente (o viceversa), verá errores porque las particiones (e incluso los datos de respaldo GPT) no serán donde la computadora espera que sea. Sería como decirle a una persona con los ojos vendados que "
La solución a este problema consiste en preparar y utilizar el disco de una manera - ya sea utilizar el recinto del USB o utilizar una conexión directa, no ambos. Si ambos son necesarios por algún motivo, deberá encontrar un recinto que funcione sin aplicar este tipo de traducción.
Para probar mi hipótesis, puede usar una herramienta (como
parted
) que informa los tamaños de sectores lógicos . Por ejemplo:He omitido un montón de información de esta salida. El detalle importante está en la línea final que se muestra aquí: los tamaños del sector lógico y físico son 512 bytes. Si ejecuta esta prueba, luego vuelva a conectar el disco de la otra manera y ejecútelo nuevamente, puede comparar los resultados. Si el tamaño del sector lógico cambia dependiendo de cómo conecte el disco, entonces mi hipótesis es correcta y es la fuente de su problema. O al menos, es un problema; puede haber otros también. En particular, el
Error synchronizing after initial wipe
error que mencionó podría indicar otro problema. OTOH, eso podría ser un efecto secundario departed
tratando de leer datos GPT de respaldo desde más allá del final del disco. De cualquier manera, si ve un cambio en el tamaño del sector lógico, debe abordar ese problema antes de tratar con cualquier otra cosa. Si desea volver a particionar el disco pero tiene problemas debido alError synchronizing
error, intente usargdisk
ocgdisk
(en elgdisk
paquete) en lugar departed
o GParted; Lagdisk
familia es más robusta frente a los errores que laparted
familia.fuente
parted /dev/sdb print
regresa,512/4096
por lo que parece que gParted informa el tamaño del sector lógico, lo que explica por qué @LiveWireBT ve 4096 para el mismo disco (conectado a través de USB) y también confirma su presentimiento como anteriormente.Se han realizado cambios tanto en el kernel de Linux como en las utilidades para admitir unidades de formato avanzado. Estos cambios aseguran que todas las particiones en unidades de formato avanzado estén correctamente alineadas en los límites del sector 4K. El soporte del núcleo para unidades de formato avanzado está disponible en las versiones del núcleo 2.6.31 y superiores. El soporte para dividir y formatear unidades de formato avanzado está disponible en las siguientes utilidades de Linux:
Fdisk: GNU Fdisk es una utilidad de línea de comandos que divide los discos duros. Las versiones 1.2.3 y superiores admiten unidades de formato avanzado.
Parted: GNU Parted es una utilidad gráfica para particionar discos duros. Las versiones 2.1 y superiores admiten unidades de formato avanzado.
Los discos nativos 4K (4Kn) tienen un tamaño de sector lógico de 4 KB. Los sistemas operativos modernos pueden almacenar datos en estos discos, pero generalmente no pueden arrancar desde estos discos. Estos discos son comúnmente unidades externas con conexión USB.
Para crear una partición utilizada como dispositivo de almacenamiento de medios, simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:
La mayoría de los discos 4k tienen un tamaño de sector físico de 4096 bytes para que 3 TB puedan caber en las placas, pero aún tienen un tamaño de sector lógico de 512 B para compatibilidad con sistemas operativos que esperan que un sector sea 512B. Es por eso que cuando utiliza el comando de impresión en parte para imprimir los detalles, se dice tamaño de sector lógico / físico 512B / 4096B. Eso es normal.
Esta "conversión" se realiza mediante la inteligencia en el disco, y es normal. Así es como debería funcionar.
Si no puede ver los 3TB completos primero verifique en BIOS que no está limitando el tamaño del disco. Tal vez necesite una actualización de BIOS para admitir el disco.
También usando parted para crear una partición a partir de 0, lo cual es un error. Debe iniciar la primera partición en el sector 2048, que es equivalente a 1MiB para que las particiones en el disco estén alineadas para un rendimiento óptimo.
Por lo tanto, cambie la unidad a MiB, imprima los detalles del disco, que también imprimirá el tamaño del disco en MiB, y cree la partición (si solo desea una partición) comenzando desde 1MiB y terminando en el último MiB (o uno antes del último) .
Por ejemplo, un disco de 3TB debería tener en realidad algo así como 2.861.022 MiB. Por lo tanto, crear una única partición que abarque todo el disco en un dispositivo de disco llamado / dev / sdX sería como (reemplace la X con la letra correcta):
Si el tamaño del disco es poco MiB más o menos de 2861022, ajuste la ubicación final.
Eso es. Después de eso, cree el sistema de archivos que desea en la partición.
Fuentes y lectura extra
Unidades del sector 4K y Linux
Comprobación de errores e instalación de unidades 4k en Linux
Foros de Ubuntu
fuente
Siempre y cuando alinee sus particiones en un múltiplo de 4KB, está bien. De lo contrario, no tiene que hacer nada especial para unidades con sectores físicos de 4KB.
El software de particionamiento antiguo alineó las particiones en un múltiplo de 63x512B sectores, lo que resultará en un mal rendimiento si el disco tiene sectores físicos de 4KB porque eso es 31 kilogramos y medio, NO un múltiplo de 4KB.
Prácticamente ningún software de partición disponible ahora en Ubuntu lo hará más (a menos que lo solicite específicamente de alguna manera). La mayoría se alineará a un múltiplo de 1MiB (sectores de 2048x512B, que también son sectores de 256x4KB) de forma predeterminada.
¿Qué pasaría si no lo alineas?
Si no alinea las particiones a múltiplos de 4KB, lo peor que sucederá es una pérdida de rendimiento (bastante significativa para archivos pequeños). Las unidades con sectores de 4KB tienden a emular sectores de 512B para la compatibilidad con los sistemas existentes. Por lo tanto, funcionan perfectamente bien si solo los trata como una unidad de sector 512B. Pero cuando escribe en un área de 512B, reescribirá un sector completo de 4KB.
Por lo tanto, por razones de rendimiento, es importante asegurarse de que los clústeres de 4KB que usa en su sistema de archivos se alineen con los sectores de 4KB en la unidad, de modo que una sola escritura de clúster no resulte en la necesidad de escribir dos sectores de 4KB en la unidad.
fuente