ext4のブロック損傷防止

ext4のブロック損傷防止

私は走っています

$ uname -a
Linux myhostname 4.14.15-041415-generic #201801231530 SMP Tue Jan 23 20:33:21 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Nitrux
Description:    Nitrux 1.1.4
Release:        1.1.4
Codename:       nxos

ext4システムとスワップパーティションがあるハードドライブがあります。ハードドライブはスマートshortテストまたはスマートテストを完了できませんlong

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed: read failure       90%     32232         11202419
# 2  Extended offline    Completed: read failure       90%     32229         11202419

ディスクの交換が必要な場合があります。

その間、そのブロックを避けるようにファイルシステムに簡単に指示することは可能ですかLBA?これにより、読み書きエラーが発生しなくなります。実際、これは孤立したエラーであるように見え、ハードドライブ(もちろんその領域を除く)はまだ機能します。


SMARTパラメータには再割り当てするセクタもありますが、再0割り当てされたセクタもあるため奇妙です。このドライブは約10年ほどのものです。

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       19
  3 Spin_Up_Time            0x0027   140   139   021    Pre-fail  Always       -       3966
  4 Start_Stop_Count        0x0032   098   098   000    Old_age   Always       -       2058
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   100   253   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   056   056   000    Old_age   Always       -       32232
 10 Spin_Retry_Count        0x0032   100   100   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -       2001
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       206
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       1851
194 Temperature_Celsius     0x0022   103   086   000    Old_age   Always       -       40
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       78
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       70
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       89

内部にリンクページ選択した回答はありません。システムを動作させ続ける必要がありますが、これを避けたいと思いますdd(そしてこの場合の使い方の明確な例はありません)。fsck.ext2 -cマウントされたファイルシステムで実行できますか?

答え1

e2fsckマニュアルページから(namesとにもe2fsckリンクされています):fsck.ext2fsck.ext3fsck.ext4

マウントされたファイルシステムでe2fsckを実行することは通常安全ではありません。唯一の例外は、-nこのオプションが指定されている場合、または-cオプションが次のような-l場合です。-Lいいえ指定されました。ただし、そうすることが安全であっても、e2fsckファイルシステムがマウントされている場合、印刷された結果は無効です。マウントされたファイルシステムを調べる必要があるかどうかを尋ねる場合、e2fsck唯一の正しい答えは「いいえ」です。自分が何をしているのかを知っている専門家だけが、この質問に異なる方法で答えることを検討する必要があります。

したがって、答えは「いいえ。fsckファイルシステムを変更するどのモードでもマウントされたext2/3/4ファイルシステムを実行できません」です。

起動時に読み取り専用モードでマウントされているか、システムがまだinitramfsで実行されている間にルートファイルシステムを確認できます。ただし、この場合、システムでfsck変更が必要であると表示されたら、すぐにシステムを再起動する必要があります。


ディスクブロックが完全に失敗した場合、再試行を繰り返してもディスクはデータが正しく読み取られたかどうかわからず、オペレーティングシステムが内容を上書きするまでディスクは自動的にブロックを再割り当てできません。正しいデータがある場合、Yuは自動的にデータを削除します(データブロックを0に置き換えて)。それは悪い破損したデータは追加の処理に使用され、最終的に見つかるまで他の結果が自動的に破損する可能性があるため、これを単に読み取りエラーを生成するファイルと比較してください。

読み取りエラーを生成するファイルは重要なシステムファイルではなく、ファイルが欠落しているとシステムがクラッシュしたり回復ツールを実行できない場合を除き、通常はバックアップから簡単に復元できます。

SMARTが再割り当てを保留中ですが、実際に再割り当てされていないセクタを表示するという事実は、単に失敗したセクタが通常読み取るだけで実際に書き込まないシステムファイルによって占有されることを意味します。これらのファイルがどのパッケージに属しているかを知ることができる場合は、パッケージ管理システムにパッケージを再インストールするように指示できます。 Nitruxは.debパッケージを使用しているように見えますapt-get reinstall <package name>。これによりファイルが上書きされ、ディスクを再割り当てできます。

残念ながら、一部のディスクメーカーは、不完全なSMART実装でディスクを作成するため、すべてが大丈夫だと言っていますが、OSが読み取り/書き込みエラーを報告すると、SMARTがすべてを言っても問題がある場合にのみSMARTを信頼できます。 - HDDは摩耗部品なので、ほとんどの場合ディスクが故障します。


私は20年以上にわたり、サーバー管理の分野でさまざまな役割を果たしてきました。 10年以上のディスクがまだ使われているのを見た私たちのチームの反応はいつもそうで、今でもそうです。

「マッソッサ!何らかの理由でディスクの回転が止まったら再起動するという保証はありません。リーズナブルな価格と応答時間でこのような古いハードウェアのスペアパーツを入手できますか?少なくとも必要なものは何ですか?セヨいつ(いいえもし)そのことが失敗した場合は、できるだけ早くその古いものを交換または仮想化することをお勧めします。 」

私たちが扱うサーバーは、生涯の間、ほぼ毎年1日24時間稼働しているのが事実です。しかし、あなたのシステムにはそうではないかもしれません。

しかし、10年後のディスクが設計されたセグメントに対して「一般的な」方法で使用されている場合は、確かに上昇傾向に乗っているのです。浴槽曲線:設計寿命を超えて古い。

関連情報