
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
파일을 제거하고 드라이브/FS 관련 문제(있는 경우)를 해결하기 위해 무엇을 할 수 있는지 아는 사람이 있습니까?
답변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_structure_needs_cleaning/ ]
내 백업 드라이브는 /dev/sda1입니다.
sudo umount /dev/sda1
sudo fsck.ext4 /dev/sda1 ## << accepted suggested fixes
- 편집(2023-02): 주의 사항:
fsck
일반적으로 온라인(Amazon; ...)으로 판매되고 일반 HDD처럼 보이는 NAS(네트워크 연결(RAID) 하드 디스크 드라이브)에서는 실행할 수 없습니다. NAS 드라이브를 수리하려면 특별한 소프트웨어가 필요합니다.fsck
NAS HDD에 적용하면 손상될 가능성이 높습니다.
재부팅됨: 모두 괜찮은 것 같습니다. 백업 드라이브로 이동하여 문제가 있는 파일을 삭제했습니다.
/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
QED?!
[업데이트: 예; 작동했습니다. 백업이 다시 정상적으로 실행되고 있습니다! :-) ]
답변3
파일 시스템이 순서대로 작동하지 않아 정리가 필요한 경우가 있습니다. 이는 다음을 통해 수행할 수 있습니다.fsck명령. 그러나 파일 손상 위험을 방지하려면 마운트 해제된 파티션에만 fsck를 실행해야 한다는 점을 기억하십시오.
파일 시스템이 ext4인 경우 다음 명령을 실행해 보십시오.
fsck -AR -t ext4 -y
답변4
파일을 삭제하려고 할 때 rsync에서 동일한 오류 메시지가 표시되고 rm에서도 동일한 오류 메시지가 표시됩니다. 파일 시스템이 루트 파일 시스템이었기 때문에 fsck를 사용할 방법이 없었습니다. 하지만 방금 시스템을 재부팅했을 때 파일이 사라지고 백업이 성공했습니다. 이것이 왜 효과가 있었는지 전혀 알 수 없지만 적어도 이는 쉬운 수정이므로 먼저 재부팅을 시도해 볼 가치가 있습니다.