PowerCLI and Annotations vm

Если у вас что-то есть, то это надо учитывать и инвентаризировать, даже если это что-то виртуальное.

Обычно для таких целей в ИТ используют КЕ-manager, который интегрирован с service manager и всякими другими менеджерами. Очень полезная штука для описание имеющегося оборудования, систем и т.п., КЕ-manager позволяет описывать различные свойства конфигурационной единицы: серийные номера, гарантия, ТТХ, владельцы. В общем, КЕ-manager это как экселевский файлик только круче =)

Для описания виртуальных машин я использую следующие параметры:
owner - имя сервера
service - сервис предоставляемый сервером
created - дата создания сервера
inprod - дата передачи сервера подразделению-владельцу сервиса
EOL - дата истечения срока эксплуатации. Весьма полезный параметр для тестовых машин.
lastreview - дата последней инвентаризации
nextreviewдата следующей инвентаризации
maintenance - период времени когда сервер можно перегружать\выключать не уведомляя   владельца сервиса
backupdepth - глубина резервного копирования

Возможно, некоторые параметры кажутся лишними или чего-то недостает, но инфраструктура моя - как хочу, так и описываю  тут каждый администратор может решить сам для себя. Описание ТТХ серверов (память, процессоры и т.п.) для виртуальных машин считаю нецелесообразным. 

Достаточно часто возникает необходимость в получении этих данных. Owner и service так вообще незаменимая информация. Только вот каждый раз лазить в KE-manager за такой информацией не очень удобно. Хочется все наглядно и автоматически из VSphere Client.

наглядно: для каждой VM в VSphere Client есть целое поле "Annotaion", которое и предназначено для такой информации. В нем можно создавать Attribute, давая им имена и присваивая значения. И такой возможностью не стоит пренебрегать.
автоматически: есть KE-manager (экселевкий файлик), где данные параметры уже заполнены  заполняются давно и на регулярной основе. Необходимо перенести все это в поле "Annotaion".

Выгружаем данные из KE-manager в *.csv и скармливаем полученный файлик скрипту:

# import vm data
$allvm = Import-Csv d:\vm.csv
# update attributes
foreach($vm in $allvm)
{Get-VM $vm.server | Set-Annotation -CustomAttribute OWNER -Value $vm.OWNER
Get-VM $vm.server | Set-Annotation -CustomAttribute SERVICE -Value $vm.SERVICE
Get-VM $vm.server | Set-Annotation -CustomAttribute CREATED -Value $vm.CREATED
Get-VM $vm.server | Set-Annotation -CustomAttribute INPROD -Value $vm.INPROD
Get-VM $vm.server | Set-Annotation -CustomAttribute LASTREVIEW -Value $vm.LASTREVIEW
Get-VM $vm.server | Set-Annotation -CustomAttribute NEXTREVIEW -Value $vm.NEXTREVIEW
Get-VM $vm.server | Set-Annotation -CustomAttribute MAINTENANCE -Value $vm.MAINTENANCE
Get-VM $vm.server | Set-Annotation -CustomAttribute BACKUPDEPTH -Value $vm.BACKUPDEPTH}



К заполненным атрибутам и их значениям можно обращаться с помощью того же PowerCLI. Например, для получения списка VM срок действия который истек и выключить такие VM. 


И пара организационных моментов:
 - ручное изменение параметров идет только в KE-manager
 - заполнение "Annotations" только при помощи скрипта. Все что редактируется в "Annotations" будет перезаписано при следующем запуске скрипта.
 - если вместо KE-manager используется экселевский файл, то он должен существовать в единственном экземпляре где-нибудь на сетевом ресурсе. Данная мера необходима при наличии нескольких администраторов.

Комментариев нет:

Отправить комментарий