我已将 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
我错过了什么?
答案1
您应该检查仅在挂载正常时可用的标志文件,并定期重试
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
检查标志文件更好,因为该文件仅在安装工作时才会出现。