私は多くのLinuxサーバーを管理しており、他のどのオペレーティングシステムよりもLinuxサーバーを使用する方が簡単です。しかし、Linuxオペレーティングシステムで私が時々直面する問題の1つは、ファイルシステムが破損していることです。 Windows サーバーではこの問題は発生しません。
インターネットで解決策を詳しく調べてみましたが、ほとんどは皆が提示した提案でした。
- バックアップと復元の維持
私の意見==> 100%同意しますが、クラッシュしたOSを回復するのに苦労する必要がない解決策を探しています。
- fsck 実行
私の意見==>私の経験では、これは時々追加の問題を引き起こします。
- 適切なシャットダウン/再開。
私の意見==>誰もが正しく終了/再開したいと思います。サーバーが応答しなくなったり、正常にシャットダウンしたり再起動したりすることができない、まれなケースについて話しています。
- Btrfs==>
私の意見==>生産するのに十分安定していません。
- Ext4にアップグレード
私のコメント==>すでにext4を使用しています。
- ハードドライブをアップグレードしてください 私の意見==>私たちが直面している問題は、ディスクエラーによるものではなく、主に不適切なシャットダウンによって引き起こされました。
私のfsckの質問:
-y オプションを使用して fsck を実行すると、ファイルシステムが破損する場合があります。
fsckはシステムの回復に1〜2日かかりますが、これは本番環境では適していません。
私の質問は、btrfsが安定するまでこの問題を解決するための回避策はありますか?
これは、数分でファイルシステムを「同期」するのと同じです。または、再起動する前に、すべてのファイルシステムの変更を同期するスクリプトを作成します。
私はアドバイスではなく、この問題に対する解決策を探しています。
答え1
ext4はプラグを抜いても抵抗できなければなりません。ただし、これを行うには、ストレージサブシステムがコミットされた書き込みを失うことはありません。
barrier=0
まず/を使用してインストールしていないことを確認してくださいnobarrier
。これは通常パフォーマンスを向上させますが、適切なシャットダウンが実行されないと破損が発生する可能性があります。また、カーネルログをチェックして、スタック内のどのエントリがバリアをサポートしていないため、ext4がバリアを無効にしないかを確認してください。
次に試すことは、少なくとも磁気(SSDではない)ディスク上のディスク書き込みキャッシュを無効にすることです。場合によっては、データが実際にプラッタに書き込まれる時点でディスクが嘘をつくため、パフォーマンスが向上する可能性があります(電源が中断されない限り)。通常、hdparm -W0
(IDE / SATAの場合)または(SCSI / SASの場合)を使用してsdparm --clear=WCE
これを実行できます。これは、特に電源を入れ直すとデフォルト値にリセットされる可能性があるSATAの場合、起動スクリプトに追加する必要があるかもしれません。
キャッシュに書き込んでもデータが失われないことを確認する(かなり古い)スクリプトがあります。Brad Fitzpatrickによるdiskchecker.plブログ投稿スクリプトと使用方法を学びます。
残念ながら、SSDを使用していますが、問題がある場合は別のディスクを見つける必要があります。