Коллеги,
У меня некоторые VM выдают ошибку The object 'vim.Datastore:datastore-504273' has already been deleted or has not been completely created
Данного датастора в кластере нет, как избавится от ошибки?
Спасибо!
Добрый день!
Расскажите подробности - версии vcenter, esxi. При каких операциях вы получаете подобные сообщения? они как-то влияют на работоспособность ВМ\выполнении запланированных действий?
Есть ли у этих ВМ снапшоты, которые например были сделаны, когда ВМ располагалась на этом датасторе?
Плюс вы уверены, что у вас датастора такого нет? datastore-504273 - это MOID, а не имя датастора.
Версии
vCenter 6.5
Хосты все 6.5
Данная проблема возникает при сборе статистики через API , выдает ошибку как только пытаешься запросить статистику с использованием датастора,
есть 1 VM со снапшотом, но вот когда он сделан непонятно, то что не имя это понятно, смотрел все MOID в кластере , данного MOID нету
Попробуйте удалить снапшоты ненужные и повторить.
Так же заметил 1 но
Диск VM лежит на 1 датасторе, при запуске скрипта он пишет совсем другой датастор
Вы попробовали удалить снапшоты?
Если это не помогает, то для исследования нужно видеть ваш скрипт и логи. Если скрипт подключается к VC, то посмотреть для начала на vpxd лог, а также посмотреть логи хоста (hostd, vpxa)
Помог скрипт, статистика снова собирается
$report = @()
$allvms = Get-VM -name * | Sort-Object $_.datacenter
foreach ($vm in $allvms) {
write-host $vm.name
$vmview = $vm | Get-View # get-view to see details of the FM
foreach($disk in $vmview.Storage.PerDatastoreUsage){ # Disks for the VM
$dsview = (Get-View $disk.Datastore) # Datastore used by the disks
$dsview.RefreshDatastoreStorageInfo() # refresh to get the latest data
$vmview.Config.Name # Echo to the screen to show progress
$row = "" | select HOST, VMNAME, POWERSTATE, CPUS, RAM, DATASTORE, VMSIZE_MB, VMUSED_MB, PERCENT # blank row
$row.HOST = $vm.Vmhost
$row.POWERSTATE = $vm.PowerState
$row.CPUS = $vm.NumCpu
$row.RAM = $vm.MemoryMB
$row.VMNAME = $vmview.Config.Name # Add the data to the row
$row.DATASTORE = $dsview.Name
$row.VMSIZE_MB = (($disk.Committed+$disk.Uncommitted)/1024/1024)
$row.VMUSED_MB = (($disk.Committed)/1024/1024)
$row.PERCENT = [int](($row.VMUSED_MB / $row.VMSIZE_MB)*100)
$report += $row # Add the row to the structure
}
}
$report | Export-Csv "virtual computers-all.csv"