Linux에서 디스크 용량의 변화를 어떻게 감지합니까?

Linux에서 디스크 용량의 변화를 어떻게 감지합니까?

저는 시스템 설치와 디스크 및 파티션 크기 변경을 모니터링해야 하는 프로그램을 작업 중입니다. epollon 을 사용하여 설치에 대한 변경 사항을 감지 할 수 있다는 것을 알았지만 /proc/mounts디스크 크기의 변경 사항을 감지하는 효율적인 방법이 있습니까?

  • epoll나는 on을 사용해 보았 /proc/partitions으나 도움이 되지 않았습니다.
  • 또한 디스크 크기를 변경하면 커널 링 버퍼에 일부 메시지가 생성된다는 사실도 확인했습니다(아래 참조). 이러한 메시지에 대한 버퍼를 모니터링하는 것도 가능하지만 이 문제를 해결할 수 있는 다른 방법이 있는지 궁금합니다.
[1883313.043332] sd 2:0:0:1: Capacity data has changed
[1883313.045638] sd 2:0:0:1: [sda] 1077936128 512-byte logical blocks: (552 GB/514 GiB)
[1883313.046073] sda: detected capacity change from 550829555712 to 551903297536

관련 정보