LUKSで暗号化された外付けハードドライブがあります。これにはext4 fsが含まれています。
このドライブのファイルに対してrsyncでエラーが発生しました。
rsync: readlink_stat("/home/some/dir/items.json") failed: Structure needs cleaning (117)
ファイルを削除しようとすると、同じエラーが発生します。
rm /home/some/dir/items.json
rm: cannot remove ‘//home/some/dir/items.json’: Structure needs cleaning
ファイルを削除し、ドライブ/ファイルシステムに関する問題(存在する場合)を解決するために何ができるかを知っている人はいますか?
答え1
これはファイルシステムの破損を強く示しています。ディスクをアンマウントし、ディスクのセクタレベルのバックアップを作成し、e2fsckを実行して何が起こっているかを確認する必要があります。重大な破損がある場合は、e2fsckがデータを変調できるようにする前に、セクタレベルのバックアップを実行したことが幸いです。
答え2
誰にでも役立つと、同様の問題(影響を受けたファイルのrsync / rsnapshotバックアップ)がありました。私の問題/解決策をここに投稿しました。
https://ubuntuforums.org/showthread.php?t=2348768&p=13627299#post13627299
要約:
Arch Linux x86_64システムのrsnapshot(rsync)バックアップエラー。深くネストされたファイルが破損してエラーが発生し、ファイルを削除しようとしたときにも表示されます。
sudo rm -fR hourly.5/
rm: cannot remove 'hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/[email protected]/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak': Structure needs cleaning
問題はこれである:
cd mnt/Vancouver/temp/temp\ -\ old/temp\ -\ 09\ \(Dec\ 07\,\ 2014\ -\ Sep\ 02\,\ 2015\)/a_OLD-gmail/[email protected]/\[Gmail\]/LINUX/rsync\,\ rsnapshot\;\ Other\ backups/
ls -l
ls: cannot access '19.bak': Structure needs cleaning
total 0
-????????? ? ? ? ? ? 19.bak ## << THAT IS THE PROBLEM!!
[参照:https://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_struction_needs_cleaning/]
私のバックアップドライブは/ dev / sda1です。
sudo umount /dev/sda1
sudo fsck.ext4 /dev/sda1 ## << accepted suggested fixes
fsck
編集(2023-02):注:ネットワーク接続(RAID)ハードドライブであるNASではこれを実行することはできず、オンライン(Amazon; ...)として販売されており、NASドライブを修理するために特別なソフトウェアが必要なようです。 。 NAS HDDに適用するとfsck
破損する可能性があります。
再起動:すべてが大丈夫だと思います。バックアップドライブに移動して、問題のあるファイルを削除します。
/mnt/Backups/rsnapshot_backups/hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/[email protected]/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak
クォンタムED? !
[更新:はい、うまくいきました。バックアップが再び正常に動作しています! :-)]
答え3
時にはファイルシステムが異常であるため、クリーンアップが必要な場合があります。これは次の方法で行うことができます。FSCK注文する。ただし、ファイルの破損の危険を避けるために、マウントされていないパーティションでのみfsckを実行する必要があることに注意してください。
ファイルシステムがext4の場合は、次のコマンドを実行してみてください。
fsck -AR -t ext4 -y
答え4
ファイルを削除しようとすると、rsyncで同じエラーメッセージが表示され、rmでも同じエラーメッセージが表示されます。ファイルシステムはルートファイルシステムなので、fsck は使用できません。ところで、システムを再起動したところ、ファイルが消えてバックアップが成功しました。なぜこれが起こるのかわかりませんが、少なくとも簡単に解決でき、最初に再起動する価値があります。