`/proc/partitions` 및/또는 `fdisk -l /dev/sdX`는 안정적인 장치 크기를 제공합니까?

`/proc/partitions` 및/또는 `fdisk -l /dev/sdX`는 안정적인 장치 크기를 제공합니까?

3TB 디스크가 2개 있는데, 그렇게 되기를 바랍니다.정확히 같은 크기. 이는 dd짧거나 일부 바이트를 초과하지 않고 복사하는 데 사용할 수 있음을 의미합니다 .

그래서 HDD 블록 장치의 용량/크기를 알아보고 이를 위해 사용했습니다.

fdisk /dev/sdX -l | grep "Disk /dev/sdX"

내 경우 두 장치는 /dev/sda/dev/sdb위의 명령을 사용하여 액세스할 수 있습니다.

Disk /dev/sda: 3000.6GB, 3000592982016

그리고

Disk /dev/sdb: 3000.6GB, 3000592982016

다행스럽게도 두 장치의 크기가 정말 똑같은 것 같습니다. 이것은 정확한 바이트 수를 가지고 있다는 것입니다.

내 질문

이 정보를 신뢰할 수 있나요? 특히 HDD 장치가 시간이 지나도 바이트 수를 일정하게 유지하는 것이 최소한 일반적인 관행/습관인지 알고 싶습니다(예: 불량 섹터 등으로 인해 일부 바이트를 잃거나 얻지 않음).

답변1

시간이 지남에 따라 2개의 HDD가 수행할 조정은 손상되지 않은 사용 가능한 공간을 동일한 바이트 수로 유지하는 것입니다. 이 모든 것은 HDD 사용자인 낮은 수준에서 발생하므로 시간이 지남에 따라 두 HDD 모두 동일한 용량을 보고할 것으로 예상됩니다.

메모:모든 최신 HDD에는 섹터에 결함이 있거나 마모될 때 사용할 수 있는 추가 공간이 포함되어 있습니다. HDD는 이러한 섹터가 실패하거나 손상되었음을 인식하고 예비에서 다시 할당하여 실패한 섹터를 사용할 수 없는 것으로 표시하므로 더 이상 사용 가능한 전체 섹터 풀의 일부가 아닙니다.

다른 치명적인 유형의 오류가 없다는 가정 하에 이 공간이 모두 소모될 때까지 HDD는 계속해서 정상적으로 작동해야 합니다. 공간이 모두 사용되면 HDD는 남아 있는 불량 섹터를 처리해야 합니다. 실패한 데이터를 양호한 섹터로 재배치하려고 시도하지만 프로세스에서 I/O 오류가 나타나기 시작합니다.

메모:SMART를 사용하면 HDD의 수명 동안 예비 공간을 모니터링할 수 있습니다. 살펴보면서SMART 속성나는 이 개수가 #5일 것이라고 생각합니다.

5-재할당된 섹터 수사용되지 않은 예비 섹터의 수입니다. 읽기/쓰기/확인 오류가 발생하면 장치는 불량 섹터를 특수 예약 풀에서 가져온 "정상" 섹터로 다시 매핑합니다. 사용 가능한 스페어 수가 감소하면 속성의 정규화된 값도 감소합니다. 일반 하드 드라이브에서 원시 값은 다시 매핑된 섹터 수를 나타내며 일반적으로 0이 됩니다. SSD에서 Raw 값은 실패한 플래시 메모리 블록 수를 나타냅니다.

smartctl일반적으로 패키지의 일부인 도구를 사용하여 이를 확인할 수 있습니다 smartmontools(어쨌든 Fedora 20에서는 이 도구가 호출됩니다).

$ sudo smartctl --all /dev/sda

이 출력에는 유용한 정보가 많이 있습니다.

smartctl 6.2 2014-07-16 r3952 [x86_64-linux-3.16.3-200.fc20.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     LITEONIT LMT-256M3M
Serial Number:    002244119905
LU WWN Device Id: 5 000000 000000000
Firmware Version: VZJ4
User Capacity:    256,060,514,304 bytes [256 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS, ATA/ATAPI-7 T13/1532D revision 4a
SATA Version is:  SATA 3.0, 6.0 Gb/s
Local Time is:    Fri Oct 10 12:32:12 2014 EDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (   10) seconds.
Offline data collection
capabilities:            (0x15) SMART execute Offline immediate.
                    No Auto Offline data collection support.
                    Abort Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
                    entering power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x00) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   1) minutes.
Extended self-test routine
recommended polling time:    (  10) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0003   100   100   070    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0003   100   100   000    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       2248
 12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       706
171 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
173 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       12
174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline      -       126
178 Used_Rsvd_Blk_Cnt_Chip  0x0003   100   100   000    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0003   100   100   000    Pre-fail  Always       -       126
230 Unknown_SSD_Attribute   0x0032   100   100   000    Old_age   Always       -       24851
232 Available_Reservd_Space 0x0003   100   100   010    Pre-fail  Always       -       2784
241 Total_LBAs_Written      0x0003   100   100   000    Pre-fail  Always       -       86211
242 Total_LBAs_Read         0x0003   100   100   000    Pre-fail  Always       -       25145

SMART Error Log Version: 0
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


Selective Self-tests/Logging not supported

제가 언급한 정보는 마지막 테이블 ID #5에 있습니다.

참고자료

답변2

장치의 크기(바이트)를 알고 싶다면 blockdev를 사용할 수 있습니다.

# blockdev --getsize64 /dev/sde
2000398934016

이 예에서는 /dev/sde2TB 디스크이거나 적어도 커널이 보는 것입니다. 당연히, fdisk, parted및 다른 것들도 동일한 정보를 표시해야 합니다.

이 크기는 변경되지 않습니다. 불량 섹터로 인한 용량 손실은 선택 사항이 아니며 끝없는 문제를 야기합니다. 섹터 재할당은 내부 예비 공간을 사용하며 일반적으로 드라이브는 모두 사용되기 전에 완전히 종료됩니다. 상황이 더 나빠지기 전에 교체해야 합니다.

어떤 사람들은 디스크 끝에 분할되지 않은 작은 공간(몇 메가)을 남겨 두는 것을 좋아합니다. 교체 디스크는 이전 디스크와 정확히 같은 크기가 아닐 수 있고 새 디스크가 있는 경우 RAID 멤버 교체와 같은 일이 더 어려워질 수 있기 때문입니다. 장치가 너무 작은 것 같습니다.

관련 정보