Só estou me perguntando por que o tamanho da minha unidade que o smartctl ("Capacidade do usuário") mostra difere do valor que fdisk -l, dmesg, hdparm mostra e difere dos valores de especificação da unidade na folha de dados. Preciso de algumas dicas para interpretar esses valores.
Primeiro fiz um
dd_rescue /dev/zero /dev/sdf
até que dd_rescue seja interrompido com "sem espaço no dispositivo".
O valor transferido foi de 3000558944256 bytes. É semelhante à quantidade de bytes fdisk -l e dmesg.
smartctl -x diz:
=== 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 diz:
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 diz:
[ 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)
Especificação da unidade no site da 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
O problema: é uma diferença de 483.840 bytes das informações SMART para os valores dd_rescue, fdisk e dmesg. E a especificação do produto mostra que a unidade é 65.535 setores maior do que o relatado à SMART e não pode ser acessada através do LBA. Então eu tenho 3 valores de tamanho que não entendo.
Eu calculei e descobri que
483840 / 4096 = 118
483840 / 512 = 945
(483840 / 63 (sectors/track) = 7 680)
Talvez isso tenha algum significado, que os bytes ausentes sejam n vezes o tamanho do setor? Alguns setores são inacessíveis? Por que? É da tradução LBA -> CHS?
A unidade é nova na loja. SMART não mostra setores pendentes, eventos de realocação e setores realocados.
Fiz alguns experimentos adicionais:
No meu disco rígido interno "Hitachi Deskstar T7K500" os valores SMART e fdisk não diferem.
No meu disco rígido USB externo "SAMSUNG SpinPoint F2 EG" os valores SMART e fdisk não diferem. Está apenas no meu disco rígido USB externo (Western Digital My Book).
Talvez haja algum espaço reservado? Para que? Talvez tenha algo a ver com a capacidade de criptografia do hardware (não ativada)?
Será que existem setores defeituosos na unidade que o firmware remapeou internamente e não reportou à SMART?
A unidade veio com um sistema de arquivos NTFS defeituoso que pode ser reparado. Mas acho que um novo disco rígido não deveria ter um sistema de arquivos corrompido. Talvez aqui houvesse um remapeamento interno de setores?
Acabei de descobrir que minha outra unidade USB externa Western Digital (Western Digital My Passport Essential SE) tem o mesmo problema, há 2.842.624 bytes faltando entre a saída SMART e a saída fdisk -l. (mas existem setores pendentes nesta unidade).
Acho que isso pode até ser um problema de segurança:
Normalmente, com o comando dd_recue você pode ter certeza de sobrescrever todo o disco, mas com esse problema de diferença de bytes, não tenho certeza se tudo foi sobrescrito (eu sei, setores fisicamente defeituosos e provavelmente setores remapeados internamente e setores pendentes podem não estar acessíveis e não pôde ser substituído, mas não há setores remapeados no log SMART).
Nesse meio tempo, ouvi falar do conceito de "área protegida de host" e DCO, mas o dmesg não deu nenhuma dica sobre isso. O sistema operacional é OpenSuse 12.2 e a versão do kernel (uname -r) é "3.4.11-2.16-desktop".
Além disso encontrei este site:
https://unix.stackexchange.com/questions/139705/why-does-hdparm-see-dois-valores-diferentes-para-o-tamanho-de-uma-unidade
o que também poderia ser uma dica. Mas calculei meus valores e não encontrei a solução.
Alguém tem dicas ou uma explicação para isso?
As perguntas são:
1. Por que existe uma diferença de 483.840 bytes entre o SMART Info e o dmesg?
2. Por que existe uma diferença de 65.535 setores entre a especificação HD e os setores LBA?
3. Existe uma área protegida de host ou DCO na unidade? Como descobrir?
4. Qual é o tamanho real do meu disco rígido e como posso apagá-lo com segurança (presumo que a ATA SECURITY ERASE UNIT não funcionará via USB, tentarei mais tarde)
Obrigado!
Responder1
Esta não é uma resposta, mas pode ajudar. Tenho uma situação semelhante com um disco rígido externo USB relatando capacidade diferente quando consultado de maneiras diferentes.
smartctl -i -d scsi /dev/sdb
dá:
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.
No entanto, smartctl -i -d sat /dev/sdb
dá:
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
Eles diferem não apenas na capacidade, mas também no nome do modelo e se é ou não relatado que o tamanho do setor físico é de 4.096 bytes. Agora, no meu caso:
hdparm -I /dev/sdb
parece ver a maior capacidade / informações do setor físico de 4KiB.hdparm -g /dev/sdb
, efdisk -l /dev/sdb
todos mostram informações de menor capacidade/setor físico 512B.cat /sys/block/sdb/size
cat /sys/block/sdb/queue/physical_block_size
Quanto à questão de segurança, não haveria problema se ninguém jamais gravou dados confidenciais nos setores “inacessíveis”. fdisk
não consigo vê-los e, no meu caso, o Windows também não os vê. Provavelmente eles nunca pertenceram a uma partição.
No entanto, parece que algumas ferramentas LVM ficam confusas com a discrepância:https://unix.stackexchange.com/questions/139705/why-does-hdparm-see-dois-valores-diferentes-para-o-tamanho-de-uma-unidade/180808