We see this from time to time... Often it is related to a scheduled backup and the FTP server being unavailable for whatever reason, but other times it just seems random. If you can't find an obvious reason for it I usually do the following:
1) Perform a manual backup, if it completes normally, schedule a forced reboot... preferably when your schedule is open the next morning. Actually, I have never had this fail but better safe then sorry.
2) If the backup fails when done manually, stop and start the embedded VM services from the ssh shell with iPVM_Stop and wait for the confirmation, followed by a iPVM_Start and wait for the confirmation. Then return to step #1
98% of the time this will correct the issue... if not, if this is a stand-alone controller reboot and try again, if that fails a call to tech support might be in order. If this is a clustered controller, perform a full network sync and try the above steps, still fails, time to open a ticket.
On extremely rare occasions, ok once I think... we had to revert to a previous good backup, a restore operation corrects all database corruption issues, because if the data is corrupt it is skipped and not restored. It is often a good idea to connect to the serial port when doing a restore and capture the output so you can see if anything is skipped and check it manually after the restore.