私は3TBのディスクを2つ持っていますが、まったく同じサイズつまり、 を使用してdd
、不足したりバイト数を超えたりすることなくコピーできるということです。
そこで、HDDブロックデバイスの容量/サイズを調べて、これに使用しました
fdisk /dev/sdX -l | grep "Disk /dev/sdX"
/dev/sda
私の場合、2つのデバイスは、およびを介してアクセス可能であり/dev/sdb
、上記のコマンドを使用すると、
Disk /dev/sda: 3000.6GB, 3000592982016
そして
Disk /dev/sdb: 3000.6GB, 3000592982016
そして、嬉しいことに、2 つのデバイスのサイズは実際にはまったく同じであるようです。つまり、バイト数がまったく同じなのです。
私の質問
この情報は信頼できるでしょうか? 特に、HDD デバイスが時間の経過に伴ってバイト数を一定に保つ (つまり、不良セクタなどによってバイトが減ったり増えたりしない) のが少なくとも一般的な方法/習慣であるかどうかを知りたいです。
答え1
2 つの HDD が時間の経過とともに行う調整は、破損または損傷していない使用可能なスペースを同じバイト数に保つために行われます。これはすべて、HDD のユーザーにとっては低レベルで行われるため、時間の経過とともに両方の HDD が同じ容量を報告することが予想されます。
注記:最新の HDD にはすべて、セクターに欠陥が生じたり、摩耗したりしたときに利用できる予備スペースが含まれています。HDD は、これらのセクターが故障したり、損傷したりしていることを認識し、予備スペースから再割り当てして、故障したセクターを使用不可としてマークし、使用可能なセクターのプール全体から除外します。
他の壊滅的な障害が発生しない限り、このスペースが使い果たされるまで HDD は正常に動作し続けるはずです。スペースが使い果たされると、HDD は残っている不良セクターで間に合わせることを余儀なくされます。HDD は、この障害データを正常なセクターに再配置しようとしますが、その過程で I/O エラーが発生し始めます。
注記:SMARTを使用すると、HDDの寿命全体にわたってHDDの予備容量を監視できます。SMART属性この数は 5 になると思われます:
5-再割り当てされたセクター数未使用のスペア セクターの数。読み取り/書き込み/チェック エラーが発生すると、デバイスは不良セクターを特別な予備プールから取得した「正常な」セクターに再マップします。使用可能なスペアの数が減るにつれて、属性の正規化された値は減少します。通常のハード ドライブでは、Raw 値は再マップされたセクターの数を示します。これは通常 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/sde
2TB のディスクです。少なくともカーネルはそれを認識しています。当然、、fdisk
およびparted
その他にも同じ情報が表示されるはずです。
このサイズは変わりません。不良セクタによる容量の損失は許されません。問題が尽きることはありません。セクタの再割り当てには内部予備が使用され、それが使い果たされる前にドライブは完全に機能しなくなります。状況が悪化する前に交換する必要があります。
交換用ディスクは古いディスクとまったく同じサイズではない可能性があり、新しいデバイスが少し小さすぎると思われる場合は RAID メンバーの交換などが困難になる可能性があるため、ディスクの最後にパーティション化されていない小さな領域 (数メガバイト) を残すことを好む人もいます。