Главная

Thursday, 26 May 2022

Дополнительное поле в VMM.

Всем привет.

Пересматривая данные по своим виртуалкам обнаружил что упустил прошлый раз одну важную величину - это максимальный размер виртуального диска который выделен для ВМ. Разумеется актуальный(текущий) размер диска тоже важен, но максимальный необходим при, например, миграции ВМ на другой хост.

Поэтому наш запрос в прошлой выборке теперь пишем так: 

Get-VM | Select-Object Name,VMId | Get-VHD | select vhdtype,vhdformat,path,@{label='ActualSize';expression={$_.filesize/1gb -as [int]}},@{label='MaxSize';expression={$_.size/1gb -as [int]}} | Sort Name | ft

Эти же данные можно наглядно получить в System Center Virtual Machine Manager просто подключив необходимые столбики в главной панели. Однако есть некоторое неудобство в том что VMM по умочанию не имеет системы отчетности, т.е. для экспорта данных вам надо выполнить прямой sql-запрос к базе VMM.

Кстати с максимальным размером диска в VMM тоже не все просто. Такого столбика по  умолчанию нет. Но выход  есть - это создание дополнительного поля(property) с помощью Powershell.

Создаем поле "Disk MaxSize":

New-SCCustomProperty -Name "Disk MaxSize" -AddMember VM

Делаем запрос для получения значения "Disk MaxSize" по одной ВМ:

$VM = 'SRV-PRINT01'

$VHD = Get-SCVirtualMachine -Name $VM | Get-SCVirtualHardDisk | select {$_.MaximumSize/1gb} 

Вносим значение в поле "Disk MaxSize":

Set-SCCustomPropertyValue -InputObject (Get-SCVirtualMachine -Name $VM) -CustomProperty (Get-SCCustomProperty -Name "Disk MaxSize") -Value $VHD.'$_.MaximumSize/1gb'

А вот и результат:

Удаляем поле "Disk MaxSize" так, если в нем отпала необходимость:

Remove-SCCustomProperty -CustomProperty (Get-SCCustomProperty -Name "Disk MaxSize")

На сегодня все.

Слава Украине!

No comments:

Post a Comment

А что вы думаете по этому поводу?