Назад | Перейти на главную страницу

monit не монтирует файловую систему с «сбой выполнения», работает вручную

У меня monit настроен для монтирования файловой системы NFS, если она когда-либо не монтировалась, однако по какой-то причине monit не монтирует общий ресурс автоматически, и мне нужно запустить monit start myshare чтобы смонтировать файловую систему.

Система часто не может смонтировать общие ресурсы NFS во время загрузки (поскольку удаленная система обычно загружается одновременно и еще не работает), поэтому я хочу, чтобы monit продолжал повторять попытки монтирования, что в конечном итоге будет успешным, когда удаленный система завершает загрузку.

Однако кажется, что monit слишком быстро сдается и перестает пытаться, то есть мне приходится вручную запускать monit start myshare чтобы заставить его попробовать еще раз. Это всегда удается, предлагая start командовать в monitrc правильно.

В руководстве по monit я вижу, как ограничить службу, чтобы она перестала пытаться после определенного количества сбоев, но я не вижу, как отключить это, поэтому он просто продолжает пытаться вечно.

Вот мой monitrc:

set daemon 30
set log syslog
set mailserver ...
check filesystem myshare with path /mnt/myshare
        start program = "/bin/mount /mnt/myshare"
        group nfs

И вот что он говорит после загрузки машины:

$ monit status myshare
Filesystem 'myshare'           
  status                       Execution failed
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  filesystem type              nfs

$ monit start myshare
$ monit status myshare
Monit 5.25.1 uptime: 5d 10h 32m

Filesystem 'myshare'
  status                       OK
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  filesystem type              nfs

Что мне не хватает?

Вы должны проверять наличие файла флага, только когда монтирование в порядке, например, и повторять попытки на регулярной основе.

check file myshare-flag with path /mnt/myshare/my-flag-file if does not exist then exec "/bin/mount /mnt/myshare" repeat every 2 cycles

Лучше проверить файл флага, так как файл будет присутствовать только при работе монтирования.