SMART User Capacity и значение fdisk -l size отличаются. Почему? Проблема безопасности?

SMART User Capacity и значение fdisk -l size отличаются. Почему? Проблема безопасности?

Мне просто интересно, почему размер моего диска, который показывает smartctl ("User Capacity"), отличается от значения, которое показывает fdisk -l, dmesg, hdparm, и отличается от значений спецификации диска из паспорта. Мне нужны некоторые подсказки, чтобы интерпретировать эти значения.

Сначала я сделал

dd_rescue /dev/zero /dev/sdf 

пока dd_rescue не прервалась с сообщением «на устройстве не осталось места».

Передано 3000558944256 байт. Это похоже на fdisk -l и dmesg количество байт.

smartctl -x говорит:

=== 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 говорит:

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 говорит:

[  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)

Технические характеристики накопителя с сайта WD:

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

hdparm --dco-identify /dev/sdf

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

hdparm -N /dev/sdf

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

Проблема: разница между 483840 байтами из информации SMART и значениями dd_rescue, fdisk и dmesg. А спецификация продукта показывает, что диск на 65535 секторов больше, чем сообщается в SMART, и к нему нельзя получить доступ через LBA. Итак, у меня есть 3 значения размера, которые я не понимаю.

Я подсчитал и выяснил, что

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

Может быть, это имеет какой-то смысл, что недостающие байты в n раз больше размера сектора? Некоторые сектора неадресуемы? Почему? Это из-за трансляции LBA -> CHS?

Диск новый из магазина. SMART не показывает ожидающих секторов, событий перераспределения и перераспределенных секторов.

Я провел несколько дополнительных экспериментов:
На моем внутреннем жестком диске "Hitachi Deskstar T7K500" значения SMART и fdisk не отличаются.
На моем внешнем жестком диске USB "SAMSUNG SpinPoint F2 EG" значения SMART и fdisk не отличаются. Это только на моем внешнем жестком диске USB (Western Digital My Book).

Может быть, есть зарезервированное место? Для чего? Может быть, это как-то связано с возможностью аппаратного шифрования (не включено)?

Может ли быть так, что на диске есть поврежденные сектора, которые прошивка переназначила внутренне и не передала в SMART?

Диск был с плохой файловой системой ntfs, которую можно было восстановить. Но новый жесткий диск не должен иметь поврежденную файловую систему, я думаю. Возможно, здесь была внутренняя переназначение секторов?

Я только что обнаружил, что у моего другого внешнего USB-накопителя Western Digital (Western Digital My Passport Essential SE) та же проблема: между выводом SMART и выводом fdisk -l отсутствует 2 842 624 байта (но на этом диске есть ожидающие секторы).

Я думаю, что это даже может быть проблемой безопасности:

Обычно с помощью команды dd_recue можно быть уверенным, что вы перезапишете весь диск, но из-за этой проблемы с разницей в байтах я не уверен, что все было перезаписано (я знаю, что физически поврежденные сектора и, вероятно, внутренне переназначенные сектора и ожидающие обработки сектора могут быть недоступны и не могут быть перезаписаны, но в журнале SMART нет переназначенных секторов).

В промежутке я слышал о концепции «защищенной области хоста» и DCO, но dmesg не показал никаких намеков на это. Операционная система — OpenSuse 12.2, а версия ядра (uname -r) — «3.4.11-2.16-desktop».

Кроме того, я нашел этот сайт:
https://unix.stackexchange.com/questions/139705/why-does-hdparm-see-two-different-values-for-the-size-of-a-drive
что также может быть подсказкой. Но я рассчитал свои значения и не нашел решения.

Есть ли у кого-нибудь намеки или объяснения по этому поводу?

Вопросы:
1. Почему между SMART Info и dmesg разница в 483840 байт?
2. Почему между спецификацией hd и LBA Sectors разница в 65535 секторов?
3. Есть ли на диске защищенная область Host или DCO? Как это узнать?
4. Каков фактический размер моего жесткого диска и как я могу безопасно стереть его (я предполагаю, что ATA SECURITY ERASE UNIT не будет работать через USB, я попробую позже)

Спасибо!

решение1

Это не ответ, но может помочь. У меня похожая ситуация с внешним жестким диском USB, который сообщает о разной емкости при разных запросах.

smartctl -i -d scsi /dev/sdbдает:

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.

Однако, smartctl -i -d sat /dev/sdbдает:

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

Они отличаются не только емкостью, но и названием модели, а также тем, сообщается ли, что физический размер сектора составляет 4096 байт. Теперь, в моем случае:

  • hdparm -I /dev/sdbпохоже, видит большую емкость / информацию о физическом секторе 4 КБ.

  • hdparm -g /dev/sdb, fdisk -l /dev/sdb, cat /sys/block/sdb/sizeи cat /sys/block/sdb/queue/physical_block_sizeвсе показывают меньшую емкость / информацию о физическом секторе 512B.

Что касается проблемы безопасности, то все должно быть в порядке, если никто никогда не записывал конфиденциальные данные в "недоступные" сектора. fdiskне вижу их, и, в моем случае, Windows их тоже не видит. Вероятно, они никогда не принадлежали разделу.

Однако, похоже, некоторые инструменты LVM действительно путаются из-за этого несоответствия:https://unix.stackexchange.com/questions/139705/why-does-hdparm-see-two-different-values-for-the-size-of-a-drive/180808

Связанный контент