Ich habe zwei 3TB-Festplatten, die ich hoffentlichgenau die gleiche Größe. Das heißt, ich kann dd
sie 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/sda
die beiden Geräte sind in meinem Fall über und erreichbar /dev/sdb
und 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 smartmontools
Pakets 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/sde
handelt es sich um eine 2-TB-Festplatte, oder zumindest sieht der Kernel das so. Natürlich sollten auch fdisk
, parted
und 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.