smartctl("사용자 용량")이 표시하는 내 드라이브의 크기가 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
문제: SMART 정보의 483840바이트와 dd_rescue, fdisk 및 dmesg 값의 차이입니다. 그리고 제품 사양에 따르면 해당 드라이브는 SMART에 보고된 것보다 65535 섹터 더 크며 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 파일 시스템이 함께 제공되었습니다. 하지만 새 하드 드라이브에는 손상된 파일 시스템이 없어야 한다고 생각합니다. 아마도 여기에 섹터의 내부 재맵핑이 있었을까요?
방금 다른 Western Digital 외장 USB 드라이브(Western Digital My Passport Essential SE)에 동일한 문제가 있는 것을 발견했습니다. SMART 출력과 fdisk -l 출력 사이에 2,842,624바이트가 누락되었습니다. (그러나 이 드라이브에는 보류 중인 섹터가 있습니다).
나는 이것이 보안 문제일 수도 있다고 생각합니다.
일반적으로 dd_recue 명령을 사용하면 전체 디스크를 덮어쓸 수 있지만 바이트 차이 문제로 인해 모든 것을 덮어썼는지 확실하지 않습니다. (물리적으로 불량 섹터와 아마도 내부적으로 다시 매핑된 섹터 및 보류 중인 섹터에 액세스할 수 없으며 덮어쓸 수 없지만 SMART 로그에 다시 매핑된 섹터가 없습니다).
그 사이에 "호스트 보호 영역"과 DCO 개념에 대해 들었지만 dmesg에서는 이에 대한 힌트가 표시되지 않았습니다. OS는 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 섹터 간에 65535 섹터의 차이가 있는 이유는 무엇입니까?
3. 드라이브에 호스트 보호 영역이나 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
더 큰 용량/4KiB-물리적 섹터 정보를 보는 것 같습니다.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