2TBの大規模なRAIDアレイでe2fsckを使用しようとしていますが、パーティション化にGPTを使用しています(サイズが原因)。
システムにインストールされているRAMは1GBしかなく、現時点では追加することはできません。
問題は、デバイスでfsckを起動した直後に、次のようなエラーが発生することです。
Error storing directory block information (inode=115343515, block=0, num=108120142): Memory allocation failed
e2fsck: aborted
オンライン検索と調査を少し行った後、私は以下のこの投稿に出くわしました:
大きなファイルシステムでfsckを実行しているメモリが不足しています
MAN e2fsck.conf
のページを検索した後、アドバイスに従い、基本的に次のような/etc/e2fsck.confファイルを作成しました。
[scratch_files]
directory = /var/cache/e2fsck
/var/cache/e2fsck
ディレクトリを作成したことを確認した後、fsckを再試行しました。 fsckをもう一度起動して、使用可能なメモリ、CPUの使用状況、および/var/cashe/e2fsck
のディレクトリサイズを確認した後、明らかに役立ちましたが、結局同じエラーが発生して失敗しました。基本的に、それはメモリ消費を遅くするのに役立ちましたが、それをすべて一緒に否定することはありませんでした。
そこで、次を使用してe2fsck.conf
ファイルの追加フラグを試してみました。
dirinfo = false
または
dirinfo = true
そして
icount = false
または
icount = true
しばらくすると同じエラーが発生するため、どちらもあまり効果がないようです。
私は何かが足りませんか? fsckに時間がかかっても大丈夫です...しかし、エラーが発生する代わりに、実際に完了する必要があります。
可能であれば、システムにスワップスペースを追加してください。 fsckにはめちゃくちゃ長い時間がかかりますが、最終的には完了します。次回は、ファイルシステムを細かく切り刻みます。
HTH。
アレイは内部ストレージですか、それとも外部ストレージですか?それが外部/接続ストレージの場合は、さらにRAM for the fsck
を含む)を別のボックスに接続してみてください。または、セットアップを再分割して、小さなチャンクに分割してください。マウントすることができます単一の「バックアップ」ファイルシステム階層の下にある複数のパーティションクライアントおよびバックアップソフトウェアは、複数または個別のファイルシステムにアクセスしていることを認識する必要はありません。
このストレージがブートプロセスの後半までfsck
されない場合は、fsck
が完了するまで、貴重なメモリを消費している可能性があるアプリケーションをすべてオフにしてください。