Linux에서 디스크 섹터에 대한 액세스를 추적하는 방법은 무엇입니까? [폐쇄]

Linux에서 디스크 섹터에 대한 액세스를 추적하는 방법은 무엇입니까? [폐쇄]

Linux 호스트에 문제가 있으며 파일 시스템 슈퍼 블록이 잘못 작성되고 있습니다.
어떤 프로세스가 해당 슈퍼블록(디스크 섹터)을 썼는지 알아보기 위해 많은 노력을 기울였지만 근본 원인을 찾지 못했습니다.
그렇다면 디스크 섹터에 대한 쓰기를 추적하는 방법이 있는지 궁금합니다.

답변1

auditd올바른 시스템 호출( )을 추적 sync,fsync, fdatasync해 보는 것이 좋습니다 . 또한 IO 디버깅은 /proc/sys/vm/block_dump이를 추적하는 데 도움이 될 수 있습니다.

이러한 옵션을 주의해서 사용하고 로그 파일에 루프를 만들지 마십시오. 디스크 파일에 디버그 디스크를 쓰면 더 많은 디스크 쓰기가 발생하여 디버깅 정보가 디스크 파일에 기록됩니다.

답변2

매우 간단한 설명으로 볼 때 동일한 파티션을 공유하는 파일 시스템과 원시 데이터베이스 장치가 있는 것처럼 들립니다.

말할 필요도 없이 당신은 이것을 할 수 없습니다. 데이터베이스에 파티션을 제공하거나 파일 시스템을 사용하여 데이터베이스가 파일을 쓸 수 있는 파일 구조를 제공합니다.

관련 정보