XFS:rmは終了せず、xfs_repairは不可能です。

XFS:rmは終了せず、xfs_repairは不可能です。

XFSファイルシステムを含む500 GBのディスクがあります(編集:オペレーティングシステムは別のディスクにあります)。このディスクには、元のデータのハードリンクされた複数のコピーの形式のバックアップデータがあります。新しいバックアップを実行するたびに、最も古いバックアップデータを含むディレクトリを削除します。そのrmプロセスが終了しないことがあります(そしてCPUを大量に消費します)。シャットダウン(-9)しても役に立たず、システムを再起動するだけで役に立ちました。

私はxfs_repairそのボリュームで実行しようとしました。しかし、RAMが十分ではないようです(マシンには4 GBのRAMがあり、32ビットのみをサポートしています)。

マシンの位置により、ハードドライブに物理的にアクセスすることは困難です。

ファイルシステムを修復またはシャットダウンするにはどうすればよいですかrm

編集:xfs_repair -v -t 1 /dev/disk/xxx私はxfs_repair version 3.1.7。編集:出力:

Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - traversing filesystem ...
        - agno = 0
failed to create prefetch thread: Resource temporarily unavailable
        - agno = 1
failed to create prefetch thread: Resource temporarily unavailable
        - agno = 2
failed to create prefetch thread: Resource temporarily unavailable
        - agno = 3
failed to create prefetch thread: Resource temporarily unavailable
        - agno = 4
failed to create prefetch thread: Resource temporarily unavailable
        - agno = 5
failed to create prefetch thread: Resource temporarily unavailable
        - agno = 6
failed to create prefetch thread: Resource temporarily unavailable
        - agno = 7

fatal error -- calloc failed in dir_hash_init

ベストアンサー1

どのように動作するかを確認するためにstraceこのプロセスを試しましたか?rm大量のファイルを削除すると、XFSが非常に遅くなる可能性があります。私は愚かなXFSを使用していましたが、何百万ものファイルをccache移動するよりも他のすべてのファイルを移動したり、ファイルをフォーマットしたり、ファイルを再移動したりする方がはるかに高速でした。私はその過程をそのままにしておけば結局終わります。rm -rccache

の場合、xfs_repairメモリを大量に使用することを見たことはありませんが、すべてのコンピュータに十分なメモリがあるので...

役に立つ場合は、スワップを追加できます。あるいは、ブロックデバイス(OpenVPNまたはSSHトンネルを介してNBDを使用)を使用可能なRAMをより多くのシステムにエクスポートすることもできます。しかし、これがxfsdumpファイルシステム全体のイメージを転送するよりも速いか遅いかはわかりません。使用)。xfs_repairプロセス中に読み書きする必要があるデータの量によって異なります。

おすすめ記事