ext2 파일 시스템 손상 복구

ext2 파일 시스템 손상 복구

내 장치에는 모듈 디스크 또는 컴팩트 플래시 저장소를 사용하는 TinyCore(3.6) Linux 배포판이 있습니다.

파일 시스템은 ext2입니다.

나는 이 장치에 LAMP 스택을 가지고 있으며 400개가 넘는 테이블(myisam)이 있는 MySQL 데이터베이스를 사용하고 있습니다. 쓰기 작업은 15분마다 체계적으로 발생합니다.

이 테이블은 설정 요구 사항에 따라 웹 애플리케이션에서 생성됩니다.

이제 전원 부족으로 인해 장치가 갑자기 종료될 수 있습니다.

updateMySQL이 특정 쓰기 작업(예: , , delete, ) 을 수행하는 경우 insert일부 데이터 및 인덱스 파일이 손상될 수 있습니다.

물론 큰 문제는 아니지만, repair table수술을 하는 것도 나쁘지는 않습니다. 불행하게도 일부 데이터가 손실되었음에도 불구하고 테이블이 복구되었으며 애플리케이션이 계속 실행될 수 있었습니다(제 경우에는 허용됨).

문제는 일반적으로 갑작스런 종료가 발생하면 여러 mysql 테이블 파일(FRM, MYI 또는 MYD)이 "입력/출력 오류" 상태에 있고 MySQL 프런트엔드에서 이러한 파일에 대해 "스토리지 엔진 오류 5"(I/O 오류)를 보고한다는 것입니다. 테이블. 데이터베이스를 사용하는 애플리케이션은 분명히 올바르게 실행되지 않습니다.

유사한 이벤트(어느 정도 불가피하다고 생각함)를 방지하는 대신 위 시나리오에서 파생된 파일 I/O 오류 상황을 복구할 수 있는 정확하고 자동으로 복구할 수 있는 방법을 생각하고 싶습니다.

어떤 아이디어가 있나요?

편집하다: 불행하게도 ext3으로 전환할 수 없고 ext2를 고수해야 합니다. 또한 ext3은 솔리드 스테이트 메모리 쓰기 주기에 심각한 영향을 미치기 때문입니다.

답변1

CF를 사용하면 사용이 불가능하다고 생각합니다DM 다중 경로또는 기타 고가용성 기능을 사용하는 경우 수명을 연장하려면 최소한 "noatime" 옵션을 사용하여 해당 파일 시스템을 마운트해야 합니다(사용자 고유의 스크립트는 atime 등에 의존하지 않습니다).

그 외에는 가장 강력한 플랫폼처럼 들리지 않습니다.

관련 정보