これはノートブックのSSDについてです。 SSDはすでに故障しており、データが破損している可能性もあります。使用していないときにアクセスするたびに異なるデータを返すようです(詳細については、以下を参照してください)。この疑いを確認するために使用できるツールはどれですか?
HDDがゆっくりと死に始めたとき、通常SMART出力に明確な表示があり、gsmart control
のようなグラフィカルツールは特定の値を赤で強調表示し、smartd
はすでに警告を生成している可能性があります。その時点で、ドライブがデータの破損を開始する前に、ユーザーがバックアップを作成する時間がまだある可能性があります。もちろん、ドライブがすでにデータの破損を開始している場合は、その中のいくつかのファイルバックアップが破損する可能性があります。
このSSDのSMART出力には明確な警告がないようです。カーネルエラーはdmesgなどに記録されていません(一方、ecryptfsはエラーを記録しています)。偶然にも、このSSDはすでにひどいため、使用していないときでもデータが破損している可能性があることがわかりました。
このSSD(sda)のバックアップ(1:1 ddイメージ)を作成した後、イメージファイルのチェックサムがSSDのチェックサムと一致しないことを発見しました。もちろん、これはライブシステムにあったため、SSDはマウントされませんでした。つまり、バックアッププロセス中にその内容を変更することはできませんでした。
これは私がバックアップコピーを作成するためにしたことです。 「BUTTER」は、BTRFSでフォーマットされた外部ドライブをマウントした場所です。これにより、バックアップドライブも不良の場合にデータエラーを見つけることができます(他のほとんどのファイルシステムとは異なり、BTRFSにはチェックサムがあります)。
[root@localhost mnt]# time dd if=/dev/sda of=BUTTER/SSD.dd.img bs=400M && echo OK
610+1 records in
610+1 records out
256060514304 bytes (256 GB, 238 GiB) copied, 5188.27 s, 49.4 MB/s
real 86m28.726s
user 0m0.008s
sys 7m3.597s
OK
イメージファイルのMD5チェックサムとSSDの別のチェックサムを作成しましたが、一致しませんでした。この手順を繰り返した後、私はSSDのMD5チェックサムは毎回異なるであることに気付きました。
[root@localhost mnt]# time dd if=/dev/sda bs=400M | md5sum >/tmp/MD5-again
610+1 records in
610+1 records out
256060514304 bytes (256 GB, 238 GiB) copied, 1059.87 s, 242 MB/s
real 17m39.904s
user 8m21.708s
sys 3m58.466s
[root@localhost mnt]# cat /tmp/MD5-again
24e71715359158f3ab38e748af93718c -
[root@localhost mnt]# time dd if=/dev/sda bs=400M | md5sum >>/tmp/MD5-again
610+1 records in
610+1 records out
256060514304 bytes (256 GB, 238 GiB) copied, 1073.7 s, 238 MB/s
real 17m53.735s
user 8m28.494s
sys 4m23.993s
[root@localhost mnt]# cat /tmp/MD5-again
24e71715359158f3ab38e748af93718c -
569d517626c1b7394acca0c4020c99bc -
繰り返しになりますが、SSDはそのプロセス中のどの時点でもマウントされませんでした。
# mount | grep -c sda
0
SMARTテストを実行しましたが、何も見つかりませんでした。SMARTエラーはログに記録されません。
SMART属性:
デバイスモデル:SanDisk SD8TN8U256G1001
[root@localhost mnt]# smartctl -A /dev/sda
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.16.3-301.fc28.x86_64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 4
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0032 100 100 --- Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 --- Old_age Always - 3173
12 Power_Cycle_Count 0x0032 100 100 --- Old_age Always - 1117
170 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
171 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
172 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 0
173 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 37
174 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 41
178 Used_Rsvd_Blk_Cnt_Chip 0x0032 100 100 --- Old_age Always - 0
180 Unused_Rsvd_Blk_Cnt_Tot 0x0033 100 100 010 Pre-fail Always - 100
184 End-to-End_Error 0x0033 100 100 097 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 --- Old_age Always - 0
194 Temperature_Celsius 0x0022 056 062 --- Old_age Always - 44 (Min/Max 13/62)
199 UDMA_CRC_Error_Count 0x0032 100 100 --- Old_age Always - 0
233 Media_Wearout_Indicator 0x0033 093 100 001 Pre-fail Always - 15484248
234 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 11127
241 Total_LBAs_Written 0x0030 253 253 --- Old_age Offline - 3192
242 Total_LBAs_Read 0x0030 253 253 --- Old_age Offline - 66461
249 Unknown_Attribute 0x0032 100 100 --- Old_age Always - 9346
何が起こっていますか?
この質問を投稿した直後、私は自分の間違いを見つけました。私はライブシステムとしてFedoraXFCEを使用しました。これにより、問題のSSDにあるスワップパーティションが自動的に有効になります。そしてもちろん、ライブシステムがSSDのスワップパーティションをアクティブに使用している間、それによってSSDのコンテンツが変更されていました。
[root@localhost mnt]# swapon --show
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 8G 103.3M -2
私がすでに質問を投稿したので、それは少し厄介です。しかし、同じ過ちを犯している可能性のある他の誰かに役立つことを願って、そのままにしておきます。
私がしなければならなかったのは、以前に自動的にマウントされたスワップパーティションを無効にすることだけでした。
[root@localhost mnt]# swapoff -a
ライブシステムを起動すると、スワップパーティションが自動的にマウントされたことを指摘しておきます。そのスワップパーティションをマウントしたくありませんでした。そのスワップパーティションに休止状態のイメージがあった場合はどうなるのだろうか。
不要なスワップパーティションを無効にした後、すべてが期待どおりに機能しました。上記のコマンドを使用すると、イメージファイルのチェックサムがSSDのチェックサムと一致するようになります。言い換えれば、このSSDは悪くありません。