Thanks, I've seen those, but they don't apply as they relate to working with VMDKs through data broker rather than in-guest connected LUNs.
I have opened a case with our ASP, waiting for them to respond. Meanwhile, I found a relevant portion in the plug-in for Windows job logs. This is what it logs when a LUN discovery fails for a specific LUN:
2020-11-25T19:55:20.6124911+02:00 Verbose SDW PID=[12488] TID=[8584] ++HostDiscoveryHelper::GetHostFileSystem
2020-11-25T19:55:20.6124911+02:00 Verbose SDW PID=[12488] TID=[8584] GetHostFileSystem: volume.ObjectId = '\\?\Volume{98bfad9e-06df-4fc6-99af-841fce03e495}\'
2020-11-25T19:55:20.6124911+02:00 Verbose SDW PID=[12488] TID=[8584] ++HostDiscoveryHelper::GetPartitionForVolume
2020-11-25T19:55:20.6134910+02:00 Verbose SDW PID=[12488] TID=[8584] GetPartitionForVolume: return null for remote dedicated disk '\\?\Volume{98bfad9e-06df-4fc6-99af-841fce03e495}\'
2020-11-25T19:55:20.6134910+02:00 Verbose SDW PID=[12488] TID=[8584] --HostDiscoveryHelper::GetPartitionForVolume
2020-11-25T19:55:20.6134910+02:00 Verbose SDW PID=[12488] TID=[8584] --HostDiscoveryHelper::GetHostFileSystem
2020-11-25T19:55:20.6134910+02:00 Verbose SDW PID=[12488] TID=[8584] GetHostFileSystemList: no filesystem for \\?\Volume{98bfad9e-06df-4fc6-99af-841fce03e495}\
2020-11-25T19:55:20.6134910+02:00 Verbose SDW PID=[12488] TID=[8584] ++HostDiscoveryHelper::GetHostFileSystem
And this is what it logs when the same LUN (note the volume GUID) discovery succeeds, only a few minutes later:
2020-11-25T20:03:42.7928464+02:00 Verbose SDW PID=[12488] TID=[7540] GetHostFileSystem: volume.ObjectId = '\\?\Volume{98bfad9e-06df-4fc6-99af-841fce03e495}\'
2020-11-25T20:03:42.7928464+02:00 Verbose SDW PID=[12488] TID=[7540] ++HostDiscoveryHelper::GetPartitionForVolume
2020-11-25T20:03:42.7928464+02:00 Verbose SDW PID=[12488] TID=[7540] resultsAccessPaths.Count = 1
2020-11-25T20:03:42.7928464+02:00 Verbose SDW PID=[12488] TID=[7540] GetPartitionForVolume: return local partition of 'C:\ClusterStorage\Logs\' w/c has only 1 partition
2020-11-25T20:03:42.7928464+02:00 Verbose SDW PID=[12488] TID=[7540] --HostDiscoveryHelper::GetPartitionForVolume
2020-11-25T20:03:42.7938494+02:00 Verbose SDW PID=[12488] TID=[7540] GetHostFileSystem: partition.DiskId = '\\?\Disk{a767fbad-edcd-4be6-ac45-58926e81e625}', partition.Server = 'SQLPRODNODE1'
2020-11-25T20:03:42.7938494+02:00 Verbose SDW PID=[12488] TID=[7540] ++HostDiscoveryHelper::GetDiskForPartition
2020-11-25T20:03:42.7938494+02:00 Verbose SDW PID=[12488] TID=[7540] partition.DiskId: \\?\Disk{a767fbad-edcd-4be6-ac45-58926e81e625}
2020-11-25T20:03:42.7938494+02:00 Verbose SDW PID=[12488] TID=[7540] ++ConfigManager::ShouldCompareDiskAndPartitionServer
2020-11-25T20:03:42.7948496+02:00 Verbose SDW PID=[12488] TID=[7540] --ConfigManager::ShouldCompareDiskAndPartitionServer
2020-11-25T20:03:42.7948496+02:00 Verbose SDW PID=[12488] TID=[7540] ++ConfigManager::GetRemoteDiskEnabled
2020-11-25T20:03:42.7948496+02:00 Verbose SDW PID=[12488] TID=[7540] --ConfigManager::GetRemoteDiskEnabled
2020-11-25T20:03:42.7958570+02:00 Verbose SDW PID=[12488] TID=[7540] --HostDiscoveryHelper::GetDiskForPartition
2020-11-25T20:03:42.7958570+02:00 Verbose SDW PID=[12488] TID=[7540] GetHostFileSystem: disk.ObjectId = '\\?\Disk{a767fbad-edcd-4be6-ac45-58926e81e625}'
2020-11-25T20:03:42.7958570+02:00 Verbose SDW PID=[12488] TID=[7540] GetHostFileSystem: fileSystem = (VolumeGuid='\\?\Volume{98bfad9e-06df-4fc6-99af-841fce03e495}\', AccessPaths='C:\ClusterStorage\Logs\,\\?\Volume{98bfad9e-06df-4fc6-99af-841fce03e495}\,\\?\Volume{98bfad9e-06df-4fc6-99af-841fce03e495}\', DiskID='\\?\Disk{a767fbad-edcd-4be6-ac45-58926e81e625}')
2020-11-25T20:03:42.7958570+02:00 Verbose SDW PID=[12488] TID=[7540] --HostDiscoveryHelper::GetHostFileSystem
Obviously, when it can't find the logs volume for databases, it cannot execute the backup. I'm at my wits' end, however, regarding what it is that causes this intermittent 'return null' error.