Liefert mir `/proc/partitions` und/oder `fdisk -l /dev/sdX` eine zuverlässige Gerätegröße?

Liefert mir `/proc/partitions` und/oder `fdisk -l /dev/sdX` eine zuverlässige Gerätegröße?

Ich habe zwei 3TB-Festplatten, die ich hoffentlichgenau die gleiche Größe. Das heißt, ich kann ddsie kopieren, ohne dass sie zu kurz oder zu lang werden oder einige Bytes überschreiten.

Daher habe ich versucht, die Kapazität/Größe des HDD-Blockgeräts herauszufinden und habe dafür verwendet

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

/dev/sdadie beiden Geräte sind in meinem Fall über und erreichbar /dev/sdbund mit dem obigen Befehl erhalte ich

Disk /dev/sda: 3000.6GB, 3000592982016

Und

Disk /dev/sdb: 3000.6GB, 3000592982016

und zu meiner großen Erleichterung scheinen die beiden Geräte tatsächlich genau gleich groß zu sein. Das heißt, sie haben die exakt gleiche Anzahl an Bytes.

Meine Frage

Kann man diesen Informationen vertrauen? Insbesondere würde ich gerne wissen, ob es zumindest gängige Praxis/Gewohnheit ist, dass die Festplattenlaufwerke die Anzahl der Bytes im Laufe der Zeit konstant halten (d. h. weder verlieren noch gewinnen sie einige Bytes, z. B. aufgrund fehlerhafter Sektoren usw.)?

Antwort1

Alle Anpassungen, die die beiden Festplatten im Laufe der Zeit vornehmen, dienen dazu, ihren nutzbaren Speicherplatz, der nicht beschädigt oder zerstört ist, auf der gleichen Byte-Anzahl zu halten. All dies geschieht für Sie, den Benutzer der Festplatte, auf einer niedrigeren Ebene, daher würde ich erwarten, dass beide Festplatten im Laufe der Zeit identische Kapazitäten melden.

NOTIZ:Alle modernen Festplatten verfügen über eine zusätzliche Speicherreserve, auf die sie zurückgreifen können, wenn Sektoren defekt werden oder sich abnutzen. Die Festplatte erkennt, dass diese Sektoren ausfallen oder beschädigt werden, und greift auf diese Reserve zu. Dabei wird der ausgefallene Sektor als unbrauchbar markiert, sodass er nicht mehr zum Gesamtpool der verfügbaren Sektoren gehört.

Die Festplatte sollte normal weiterarbeiten, bis dieser Speicherplatz erschöpft ist, vorausgesetzt, es liegen keine anderen Arten von katastrophalen Fehlern vor. Sobald der Speicherplatz aufgebraucht ist, muss die Festplatte mit den verbleibenden fehlerhaften Sektoren auskommen. Sie versucht, diese fehlerhaften Daten in gute Sektoren zu verschieben, weist dabei jedoch E/A-Fehler auf.

NOTIZ:Sie können den Reservespeicherplatz einer Festplatte über ihre Lebensdauer hinweg mit SMART überwachen. Bei der Betrachtung derSMART-AttributeIch würde vermuten, dass diese Zählung Nr. 5 wäre:

5-Anzahl neu zugewiesener SektorenDie Anzahl der ungenutzten Ersatzsektoren. Bei einem Lese-/Schreib-/Prüffehler ordnet ein Gerät einen fehlerhaften Sektor einem „fehlerfreien“ Sektor aus einem speziellen Reservepool zu. Der normalisierte Wert des Attributs nimmt ab, wenn die Anzahl der verfügbaren Ersatzsektoren abnimmt. Auf einer normalen Festplatte gibt der Rohwert die Anzahl der neu zugeordneten Sektoren an, die normalerweise Null sein sollte. Auf einer SSD gibt der Rohwert die Anzahl der ausgefallenen Flash-Speicherblöcke an.

Sie können dies mit dem Tool überprüfen smartctl, das normalerweise Teil des smartmontoolsPakets ist (so heißt es jedenfalls bei Fedora 20).

$ sudo smartctl --all /dev/sda

Diese Ausgabe enthält viele nützliche Informationen:

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

Die Information, auf die ich mich bezog, befindet sich in der letzten Tabelle, ID Nr. 5.

Verweise

Antwort2

Wenn Sie die Größe eines Geräts (in Bytes) wissen möchten, können Sie blockdev verwenden:

# blockdev --getsize64 /dev/sde
2000398934016

In diesem Beispiel /dev/sdehandelt es sich um eine 2-TB-Festplatte, oder zumindest sieht der Kernel das so. Natürlich sollten auch fdisk, partedund andere die gleichen Informationen anzeigen.

Diese Größe ändert sich nicht. Kapazitätsverlust aufgrund fehlerhafter Sektoren ist keine Option, da dies endlose Probleme verursachen würde. Durch die Neuzuweisung von Sektoren wird eine interne Reserve verbraucht, und das Laufwerk ist normalerweise völlig tot, bevor diese aufgebraucht ist. Sie sollten es ersetzen, bevor es so schlimm wird.

Manche Leute lassen gerne etwas unpartitionierten Speicherplatz (ein paar Megabyte) am Ende der Festplatte frei, da eine Ersatzfestplatte möglicherweise nicht genau dieselbe Größe wie die alte hat und Dinge wie der Austausch von RAID-Mitgliedern schwieriger werden können, wenn das neue Gerät etwas zu klein erscheint.

verwandte Informationen