BTRFSファイルシステムを含むストレージデバイスでエラーが発生したタイミングを確認する方法

BTRFSファイルシステムを含むストレージデバイスでエラーが発生したタイミングを確認する方法

BTRFSファイルシステムの一部を含むHDDデバイスパーティションにいくつかの破損エラーが見つかりました。

matt@ryzen3950 ~> btrfs device stats /dev/dm-2
[/dev/mapper/cryptsda1].write_io_errs    0
[/dev/mapper/cryptsda1].read_io_errs     0
[/dev/mapper/cryptsda1].flush_io_errs    0
[/dev/mapper/cryptsda1].corruption_errs  12
[/dev/mapper/cryptsda1].generation_errs  0

また、btrfs-scrubを使用してエラーを修正することはできません。これは必ずしもハードドライブにエラーが発生したことを意味しますか?ハードドライブを交換して廃棄する必要がありますか?それとも別の問題が原因で破損が発生しましたが、ハードドライブは正常ですか?ハードドライブが本当に健康であるかどうかはどうすればわかりますか?


編集する

下記rickhg12hsのコメントからインスピレーションを受けて設置しました。インテリジェントモニタリングツールそしてクエリデバイスの状態を使用してくださいsmartctl。端末を確認してみる

sudo smartctl -a -d sat /dev/sda

/dev/sda機器と交換)

これは何よりも次のように報告します。

SMART overall-health self-assessment test result: PASSED

その後、拡張セルフテストを実行しました。

sudo smartctl -t long /dev/sda

後で上記の最初のコマンドで結果を確認しました。

$ sudo smartctl -a -d sat /dev/sda
[sudo] password for matt: 
smartctl 7.1 2020-06-01 r5062 [x86_64-linux-5.9.6] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Seagate BarraCuda 3.5
Device Model:     ST2000DM008-2FR102
Serial Number:    ZFL0JANK
LU WWN Device Id: 5 000c50 0b61e994b
Firmware Version: 0001
User Capacity:    2,000,398,934,016 bytes [2.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-3 T13/2161-D revision 5
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Mon Jun 28 07:11:26 2021 PDT
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:                (    0) seconds.
Offline data collection
capabilities:                    (0x73) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine 
recommended polling time:        (   1) minutes.
Extended self-test routine
recommended polling time:        ( 201) minutes.
Conveyance self-test routine
recommended polling time:        (   2) minutes.
SCT capabilities:              (0x30a5) SCT Status supported.
                                        SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   080   046   006    Pre-fail  Always       -       194321836
  3 Spin_Up_Time            0x0003   099   098   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       37
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       1664
  7 Seek_Error_Rate         0x000f   083   060   045    Pre-fail  Always       -       190898752
  9 Power_On_Hours          0x0032   086   086   000    Old_age   Always       -       12558 (250 148 0)
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       37
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   099   000    Old_age   Always       -       1 1 1
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   063   058   040    Old_age   Always       -       37 (Min/Max 31/42)
191 G-Sense_Error_Rate      0x0032   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       492
193 Load_Cycle_Count        0x0032   094   094   000    Old_age   Always       -       13428
194 Temperature_Celsius     0x0022   037   042   000    Old_age   Always       -       37 (0 21 0 0 0)
195 Hardware_ECC_Recovered  0x001a   083   064   000    Old_age   Always       -       194321836
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       12100h+54m+59.286s
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       29153824028
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       49954137838

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     12548         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

私の知る限り、このデバイスは完全に動作しています。 btrfs破損エラーの原因は何であるかわかりません(したがって、この編集内容を回答として投稿していません)。

答え1

生の読み取りエラー率とナビゲーションエラー率の両方が高く、過去には両方が悪かった。これは、ドライブがプラッタのビットパターンを読み取ることができないことを示します。ドライブは、内蔵のエラー修正機能(ハードウェアECC回復値を参照)のため、まだほとんどの時間を処理しますが、完全に健康ではありません。

再割り当てされたセクタの標準数は100ですが、生の値は0ではありません。つまり、過去に一部のセクタが再割り当てされた可能性があることを意味します(生の値は正規化されていないため、正確に何を言うのが難しい)。これは破損エラーを説明し、BTRFSがすべての破損エラーを見つけることができない可能性があります。一部のファイルに読み取りエラーがあると予想されます。

したがって、ドライブはまだ使用可能ですが、磨耗した兆候が見られ、将来のある時点でエラーが発生することが予想されます(通常これは非常に突然発生します)。貴重なデータを入れないで、必ずバックアップしてください。システムドライブとして使用でき、オペレーティングシステムを再インストールして復元できます。

関連情報