La capacidad de usuario SMART y el valor de tamaño de fdisk -l difieren. ¿Por qué? ¿Problema de seguridad?

La capacidad de usuario SMART y el valor de tamaño de fdisk -l difieren. ¿Por qué? ¿Problema de seguridad?

Me pregunto por qué el tamaño de mi unidad que muestra smartctl ("Capacidad de usuario") difiere del valor que muestra fdisk -l, dmesg, hdparm y difiere de los valores de especificación de la unidad de la hoja de datos. Necesito algunas pistas para interpretar estos valores.

Primero hice un

dd_rescue /dev/zero /dev/sdf 

hasta que dd_rescue interrumpió y dijo "no queda espacio en el dispositivo".

La cantidad transferida fue 3000558944256 bytes. Es similar a la cantidad de bytes de fdisk -l y dmesg.

smartctl -x dice:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar Green (Adv. Format)
(...)
Firmware Version: 80.00A80
User Capacity:    3.000.559.428.096 bytes [3,00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ACS-2 (revision not indicated)
Local Time is:    Thu Jul  3 19:10:34 2014 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

fdisk -l dice:

Note: sector size is 4096 (not 512)

Disk /dev/sdf: 3000.6 GB, 3000558944256 bytes
255 heads, 63 sectors/track, 45599 cylinders, total 732558336 sectors
Units = sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

dmesg dice:

[  176.168005] sd 5:0:0:0: [sdf] Spinning up disk.............ready
[  186.352957] sd 5:0:0:0: [sdf] 732558336 4096-byte logical blocks: (3.00 TB/2.72 TiB)

hdparm -I -g /dev/sdf

/dev/sdf:
 geometry      = 364797/255/63, sectors = 5860466688, start = 0             
(that's the fdisk -l value / 512)

 LBA48  user addressable sectors: 5860467633 
(that's the SMART reported value / 512)

Especificaciones de la unidad del sitio web de WD:

User sectors per drive: 5860533168
(That is LBA48 Value + 65 535) (?!)

hdparm --dco-identificar /dev/sdf

DCO Revision: 0x0002
(...)
Real max sectors: 5860533168

hdparm -N /dev/sdf

/dev/sdf:
 READ_NATIVE_MAX_ADDRESS_EXT failed: Input/output error    

El problema: hay una diferencia de 483840 bytes de la información SMART a los valores dd_rescue, fdisk y dmesg. Y la especificación del producto muestra que la unidad tiene 65535 sectores más grande de lo informado a SMART y no se puede acceder a ella a través de LBA. Entonces tengo 3 valores de tamaño que no entiendo.

Calculé y descubrí que

483840 / 4096 = 118
483840 / 512 = 945
(483840 / 63 (sectors/track) = 7 680)

¿Quizás esto tenga algún significado, que los bytes que faltan son n veces el tamaño del sector? ¿Algunos sectores son inabordables? ¿Por qué? ¿Es de la traducción LBA -> CHS?

El disco es nuevo del taller. SMART no muestra sectores pendientes, eventos de reasignación ni sectores reasignados.

Hice algunos experimentos adicionales:
en mi disco duro interno "Hitachi Deskstar T7K500" los valores SMART y fdisk no difieren.
En mi disco duro USB externo "SAMSUNG SpinPoint F2 EG", los valores SMART y fdisk no difieren. Está solo en mi disco duro USB externo (Western Digital My Book).

¿Quizás haya algún espacio reservado? ¿Para qué? ¿Quizás tenga algo que ver con la capacidad de cifrado del hardware (no activada)?

¿Podría ser que haya sectores defectuosos en la unidad que el firmware reasignó internamente y no informó a SMART?

La unidad venía con un sistema de archivos ntfs defectuoso que se podía reparar. Pero creo que un disco duro nuevo no debería tener un sistema de archivos corrupto. ¿Quizás aquí hubo una reasignación interna de sectores?

Acabo de descubrir que mi otra unidad USB externa Western Digital (Western Digital My Passport Essential SE) tiene el mismo problema: faltan 2 842 624 bytes entre la salida SMART y la salida fdisk -l. (pero hay sectores pendientes en este disco).

Creo que esto podría ser incluso un problema de seguridad:

Normalmente, con el comando dd_recue puedes estar seguro de sobrescribir todo el disco, pero con ese problema de diferencia de bytes no estoy seguro de si todo se sobrescribió (lo sé, los sectores físicamente defectuosos y probablemente los sectores reasignados internamente y los sectores pendientes podrían no ser accesibles y no se pudo sobrescribir pero no hay sectores reasignados en el registro SMART).

En el medio escuché sobre el concepto de "área protegida de acogida" y DCO, pero dmesg no mostró ningún indicio al respecto. El sistema operativo es OpenSuse 12.2 y la versión del kernel (uname -r) es "3.4.11-2.16-desktop".

Además encontré este sitio:
https://unix.stackexchange.com/questions/139705/por qué-hdparm-ve-dos-valores-diferentes-para-el-tamaño-de-una-unidad
lo que también podría ser una pista. Pero calculé mis valores y no encontré la solución.

¿Alguien tiene alguna pista o explicación para esto?

Las preguntas son:
1. ¿Por qué hay una diferencia de 483840 bytes entre SMART Info y dmesg?
2. ¿Por qué hay una diferencia de 65535 sectores entre la especificación HD y los sectores LBA?
3. ¿Existe un área protegida del Host o un DCO en la unidad? ¿Cómo saberlo?
4. ¿Qué tamaño real tiene mi disco duro y cómo puedo borrarlo de forma segura (supongo que la UNIDAD DE BORRADO DE SEGURIDAD ATA no funcionará a través de USB, lo intentaré más tarde)?

¡Gracias!

Respuesta1

Esta no es una respuesta, pero podría ayudar. Tengo una situación similar con un disco duro externo USB que informa una capacidad diferente cuando se le consulta de diferentes maneras.

smartctl -i -d scsi /dev/sdbda:

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.14.27-std-def-alt1] (ALT Linux 6.2-alt0.M70P.1)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor:               BUFFALO
Product:              HD-PNTU3
Revision:             0001
User Capacity:        1,000,173,428,736 bytes [1.00 TB]
Logical block size:   512 bytes
Logical Unit id:      0x6000039426a846b30000000000000000
Device type:          disk
Local Time is:        Thu Jan 22 19:57:29 2015 JST
SMART support is:     Unavailable - device lacks SMART capability.

Sin embargo, smartctl -i -d sat /dev/sdbda:

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.14.27-std-def-alt1] (ALT Linux 6.2-alt0.M70P.1)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 2.5" HDD MQ01ABD...
Device Model:     TOSHIBA MQ01ABD100
Serial Number:    72D7F1JHS
LU WWN Device Id: 5 000039 426a846b3
Firmware Version: AX0A1U
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Thu Jan 22 19:57:36 2015 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Se diferencian no sólo en la capacidad, sino también en el nombre del modelo y en si se informa o no que el tamaño del sector físico es de 4096 bytes. Ahora, en mi caso:

  • hdparm -I /dev/sdbParece ver la información del sector físico de mayor capacidad/4KiB.

  • hdparm -g /dev/sdb, y fdisk -l /dev/sdbtodos muestran la información del sector físico de menor capacidad/512B.cat /sys/block/sdb/sizecat /sys/block/sdb/queue/physical_block_size

En cuanto al tema de seguridad, debería estar bien si nadie ha escrito datos confidenciales en los sectores "inaccesibles". fdiskNo puedo verlos y, en mi caso, Windows tampoco los ve. Probablemente nunca hayan pertenecido a una partición.

Sin embargo, parece que algunas herramientas LVM se confunden con la discrepancia:https://unix.stackexchange.com/questions/139705/por qué-hdparm-ve-dos-valores-diferentes-para-el-tamaño-de-una-unidad/180808

información relacionada