Problem statement
In some cases Mikrotik routers cannot be rebooted with a standard reboot command
/system/reboot
The reason could be: internal storage is full. This can happen in scenarios such as:
- Replacing wifi package or install additional ( zerotier )
- ad filters = address-lists and DNS cache
- Managing very large address-lists In these cases, system processes may reject to reboot with /system/reboot
flowchart LR FULL((Disk Full)) --> WRITE_FAIL((Write Fails)) --> REBOOT_FAIL((Reboot Fails)) --> RETRY((Try Again)) --> FULL style FULL fill:#fde68a,stroke:#b45309,stroke-width:2px style WRITE_FAIL fill:#fecaca,stroke:#b91c1c,stroke-width:2px style REBOOT_FAIL fill:#bfdbfe,stroke:#1d4ed8,stroke-width:2px style RETRY fill:#d1fae5,stroke:#047857,stroke-width:2px
Solution: Using Watchdog with non-existing host
30.30.30.30 just an example ( at least it’s not pingable, that we need )
/system/watchdog> set watch-address=30.30.30.30 ping-start-after-boot=1m
[user@Mikrotik] /system/watchdog> print
watch-address: 30.30.30.30
watchdog-timer: yes
ping-start-after-boot: 1m
ping-timeout: 1m
automatic-supout: no
auto-send-supout: no
16:24:34 echo: watchdog,error,critical watchdog cannot ping address 30.30.30.30, rebooting
Notes
- You should clear the space ( delete packets or address-lists ) before rebooting just in case you need to solve storage issue