cron을 사용하여 ZFS 풀의 정기적 스크럽을 예약 하고 스크럽이 완료된 후 꽤 짧은 시간 에 상태 보고서를 자신에게 전자 메일로 보내려고합니다. 이것의 목적은 수동으로 문제를 찾지 않고도 문제를 포착하는 것입니다 (풀이 아닌 푸시).
첫 번째 부분은 쉽습니다 : zpool scrub $POOL
특정 상황에서 합리적인 간격으로 루트 로 실행되도록 cron 작업을 설정하십시오 .
두 번째 부분은 어떻게 해야할지 잘 모르겠습니다. zpool scrub
즉시 복귀 한 다음 시스템에서 스크럽을 백그라운드에서 실행합니다 (터미널에서 관리자가 스크럽을 시작한 경우에는 바람직한 동작 임). zpool status
나에게 상태 보고서를 제공하고 종료합니다 (스크럽이 실행되는 동안 종료 코드 0으로; 아직 완료되지 않았으므로 종료 상태가 완료되면 변경되는지 알 수 없지만 의심합니다). zpool scrub에 -s
대해 문서화 된 유일한 매개 변수는 " 스크럽 중지"입니다.
주요 문제점은 스크러빙 에서 완료된 스크러빙 으로 상태 변경을 감지하는 것입니다 . 주어진 나머지는 제자리에 있어야합니다.
이상적으로 zpool scrub
는 스크럽이 끝날 때까지 돌아 가지 말라고하고 싶지만 그렇게 할 수있는 방법을 찾지 못했습니다. (간단히 cron하기가 너무 쉽습니다 zpool scrub --wait-until-done $POOL; zpool status $POOL
.)
실패하면, 업그레이드 또는 구성 변경으로 인해 너무 위험하지 않은 방식으로 스크럽이 현재 진행 중인지 시스템에 묻고 싶습니다. 따라서 이전에 실행 중인지 여부에 대해 조치를 취할 수 있습니다. 스크럽이 완료되었습니다 (스크럽 상태가 스크러빙에서 스크러빙하지 않을 때 zpool 상태를 실행하여).
이 특별한 설정은 Nagios의 같은 모니터링 도구가 동안 이렇게, 워크 스테이션 시스템에 대한 아마 문제를 해결할 추가 기능을 가지고, 그냥이 하나 개의 작업을 위해 이러한 도구를 설치하지 않고 과잉 느낀다. 누군가 문제에 대한 최첨단 솔루션을 제안 할 수 있습니까?