md-raid5 및 LVM으로 불량 블록의 영향을받는 파일 찾기


8

나는 지난 몇 주 동안이 주제에 대해 많은 연구를 해왔으며 적어도 가능한 한 회복을 완료하는 것에 가깝습니다. 긴 이야기를 짧게 만들기 위해 모든 작은 기술적 세부 사항을 채우지 않고 문제를 설명하겠습니다.

각각 8 개의 디스크가있는 여러 개의 RAID-5 어레이가 있고이를 단일 LVM 논리 볼륨으로 확장했다고 가정하십시오. 그런 다음 디스크 중 하나가 어레이 중 하나에서 죽고 재구성하는 동안 해당 어레이의 두 번째 디스크에서 복구 할 수없는 읽기 오류가 발생합니다. 물론 백업도 없습니다.

URE를 사용하여 드라이브의 데이터를 새 드라이브에 이미 드레시했습니다. 5K의 데이터 만 매우 작은 디스크 영역으로 그룹화되어 손상되었습니다. 또한 ddrescuedd 사본을 사용하여 해당 MD 장치를 다시 조립하면 데이터 손실 크기에 어레이의 비 패리티 드라이브 수 (따라서 35K의 데이터 손실)를 패리티로 곱한다고 가정합니다. 해당 블록을 사용한 스트라이프 계산이 올바르지 않습니다.

http://smartmontools.sourceforge.net/badblockhowto.html 의 절차를 읽고 이해하여 이와 같은 상황으로 인해 어떤 파일이 손상 될지 결정하지만 내 문제는 정확히 어떤 블록이 손상 될지 파악하는 것입니다 debugfs에 대한 입력으로 사용하기 위해 md rebuild. md와 lvm store 메타 데이터가 재미있을 것 같지 않은 모든 오프셋을 파악하지만 그 부분을 처리 할 수 ​​있다고 생각합니다.

모든 불량 블록 번호에 7을 곱한 다음 각각의 불량 블록 다음에 나오는 다음 6 블록도 불량하다고 가정 한 다음 위에 링크 된 설명서의 LVM 지침을 따를 수 있습니까?

그리고 명확하게하기 위해-가이드가 설명하는 것처럼 불량 블록을 수리하거나 다시 매핑하는 데 관심이 없습니다. 디스크를 교체했으며 md가 그런 종류의 일을 처리하도록 할 것입니다. ext4 파일 시스템의 어떤 파일이 영향을 받는지 알고 싶습니다.

답변:


2

아직도 이것에 대한 도움을 찾고 있습니까? 영향을받는 파일을 찾을 수있는 한 가지 방법은 파일 시스템을 / dev / null로 tar하는 것입니다. tar가 오류를 포함하는 모든 파일에 대해 불평합니다. 다음과 같은 것 :

tar cf / dev / null / file / system / to / check

당신을 위해 그것을 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.