`/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

幸いなことに、両方のデバイスのサイズはまったく同じように見えます。これは彼らが持っている正確なバイト数です。

私の質問

この情報は信頼できますか?特に、ハードディスクデバイスが時間の経過とともに一定のバイト数を維持することが少なくとも一般的な慣行/習慣であるかどうかを知りたいです(たとえば、不良セクタなどによって一部のバイトを失ったり取得したりしません)。

答え1

2つのHDDで時間の経過とともに行われるすべての調整は、同じバイト数で空き容量(破損しない)を維持します。これはすべてハードドライブユーザーである低レベルで発生するため、時間の経過とともに両方のハードドライブが同じ容量を報告することが期待されます。

メモ:すべての最新のハードドライブには、セクタに欠陥があるか磨耗したときにスペースを確保するための追加スペースが含まれています。 HDDは、これらのセクタに欠陥があるか破損していることを認識し、スペアから再割り当てして失敗したセクタを使用できないとマークし、使用可能なセクタプール全体の一部ではありません。

他の致命的なタイプのエラーがないと仮定すると、このスペースがすべて消費されるまで、HDDは正常に動作し続けなければなりません。スペースが不足すると、ハードドライブは残りの不良セクタを強制的に回復する必要があります。失敗したデータを良好なセクタに再配置しようとしましたが、プロセスでI / Oエラーが発生し始めます。

メモ:SMARTを使用すると、HDDの寿命中に予約されたスペースを監視できます。報告スマートプロパティ私はこの番号が#5であると思います:

5-再割り当てされたセクタの数未使用の予備セクタの数。読み取り/書き込み/確認エラーが発生すると、デバイスは不良セクタを特別な予約プールから取得した「正常」セクタに再マッピングします。この属性の正規化された値は、使用可能なスペアパーツの数が減少するにつれて減少します。通常のハードドライブでは、生の値は再マップされたセクタの数を表し、通常ゼロになります。 SSDでは、生の値は失敗したフラッシュブロックの数を示します。

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ディスク、または少なくともカーネルが見るディスクです。もちろん、fdiskpartedのものも同じ情報を表示する必要があります。

このサイズは変更されません。不良セクタによる容量の損失は不可能であり、セクタの再割り当ては内部予約を使用し、ドライブがすべて使用される前に完全に失敗することがよくあります。状況が悪くなる前に交換する必要があります。

一部の人々は、交換ディスクのサイズが古いディスクとまったく同じではない可能性があり、新しいディスクのサイズがRAIDメンバーの交換と同じことを引き起こす可能性があるため、ディスクの最後に分割されていない小さなスペース(数メガバイト)を残す欲しいです。難しい機器は少し小さすぎるようです。

関連情報