First of all, sorry for hijacking this old topic but as it was so well documented, it made more sense to expand upon it then to try and recreate everything that was already here.
Second, I generally don't use XCP-ng Center. However, once coming across this post I did open it to verify that what I saw in this post was the same as what my XCP-ng Center was showing.
Third, I am on one of the latest community additions but I have seen this occur a couple of time on previous versions as well.
Okay with that out of the way, I now believe that I know what is causing this to happen...
When you have a VM with multiple VDI's in it and one of those VDI's is both large and fairly busy, if the following exists then XO will not show one or more of the smaller drives despite the hosts still functioning normally while working on that VM:
The virtual machine has multiple snapshots of all of the VDI's in it. (IE like after several backups)
For some reason a bunch of the snapshots are consolidated at one.
All the snapshots that were consolidated are removed from the VM and the snapshots of the VDI's have coalesced but the system is still working on coalescing the large VDI.
If a backup process tries to work on this VM, it will create a snapshot that XO shows to stay connected to the smaller drives even though the backup is skipped because a new snapshot of the large VDI can't be created due to the older snapshots not being coalesced yet.
Once the large VDI has properly coalesced all it's snapshots, the hosts will continue to treat it as any other VM but that VDI never does show up in XO again.
The only solution that I have found to fix it is to turn off the VM and then create a copy of missing VDI or VDI's and use those copies to replace the missing VDI's.
I know that I am just a member of the community but I hope that this helps everyone to understand what is going when this happens to them. 😉
It happened to me a couple of times before I was able to peace together the whole puzzle.