Новости Статьи VMware Veeam StarWind Microsoft ИТ-ГРАД Citrix Symantec 5nine События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Виртуализация vSphere, Hyper-V, XenServer и Red Hat

Более 4680 заметок о виртуализации и виртуальных машинах VMware, Microsoft, Citrix, Red Hat

VM Guru / Articles / Azure Automation: как включить/выключить ВМ в облаке Microsoft Azure по расписанию.

Azure Automation: как включить/выключить ВМ в облаке Microsoft Azure по расписанию.

Azure Automation: как включить/выключить ВМ в облаке Microsoft Azure по расписанию.

Автор: Роман Гельман
Дата: 04/07/2016

Реклама:



Статья:

Одним из методов эффективного владения облачной инфраструктурой является выключение виртуальных ресурсов (ВМ) в нерабочие часы. В облаке Microsoft Azure имеется возможность выключать (stop and deallocate) ВМ с помощью Automation Accounts.

При помощи моего PowerShell скрипта Apply-AzVmPowerStatePolicyWf.ps1 вы сможете создать свой собственный Runbook и спланировать включение/выключение ваших Azure ВМ. Всё, что для этого потребуется - это создать 2 тега (Тags) PowerOn и PowerOff и задать им соответствующие значения для каждой ВМ, которую вы планируете включать/выключать по расписанию.

Учтите, что только те ВМ, у которых заданы оба этих тега, будут участвовать в процессе. Если определённые машины вы не планируете выключать вообще (только включать), то задайте тегу PowerOff значение «23:59:59».

Скрипт Apply-AzVmPowerStatePolicyWf.ps1 написан как PowerShell Workflow для параллельной обработки сразу всех ВМ. Как ни странно, на данный момент команды Start-AzureRmVm и Stop-AzureRmVm не поддерживают асинхронную обработку множества ВМ, поэтому мы вынуждены перенести этот функционал в сам скрипт. После того, как вы задали теги для всех требуемых машин, вы можете приступить к работе с Automation Account Resources.

На самом деле вам потребуется создать всего 3 ресурса:

  1. Runbook.
  2. Schedule Asset с параметрами.
  3. Credential Asset.

Давайте начнём по порядку.

1. Добавить новый Runbook типа PowerShell Workflow. Правильный тип Runbook очень важен.

Обязательно! Имя Runbook должно быть точно таким же, как имя Workflow внутри скрипта (Apply-AzVmPowerStatePolicyWf). Если вас не устраивает это название, переименуйте Workflow в соответствии с названием вашего Runbook.

Разные типы Runbook имеют различные иконки для визуального отличия.

Отредактируйте ваш Runbook и вклейте (copy/paste) мой скрипт в поле CMDLET.

2. Создайте новый Credential Asset. Это учётная запись Azure Active Directory, в контексте которой и будет запускаться ваш Runbook.

3. Создайте новый Schedule Asset для вашего Runbook.

Schedule Asset содержит не только сам планировщик, но и более важную вещь - параметры скрипта! Как вы можете видеть, скрипт Apply-AzVmPowerStatePolicyWf.ps1 содержит 5 параметров.

Имена параметров говорят сами за себя. Стоит отдельно поговорить только о двух из них: -AzureVmTimeZone и –WhatIf.

  • AzureVmTimeZone - это часовой пояс (Time zone) ваших ВМ. Подразумевается, что время включения/выключения машин в тегах PowerOn/PowerOff задано в локальном времени данного часового пояса!
    Для получения всех существующих часовых поясов, запустите следующую команду на своём компьютере:
    [System.TimeZoneInfo]::GetSystemTimeZones() |Format-Table –AutoSize
    Используйте значение из колонки Id для своего часового пояса.
  • WhatIf - это флаговый параметр. При его использовании (достаточно присвоить ему значение True), реального включения/выключения не произойдёт, вы только получите отчёт о том, чтобы произошло, если бы вы запустили скрипт сейчас.
Каждый запуск Runbook создаёт задачу (Job), после окончания которой, вы сможете просмотреть её статистику: Errors, Warnings, Logs и Output.

Кликните на кубике Output, и вы увидите отчёт обо всех ваших машинах. Обратите внимание на свойство StatusCode. Оно может принимать значения «OK», «Error» или быть пустым, когда свойство StatusChange будет «NotRequired».

Если вы получаете «Error» в свойстве StatusCode, проверьте значения PowerOn и PowerOff, возможно одно из них не задано или содержит некорректную величину.

Параллельно с написанием этой статьи, я создал Azure репозиторий на GitHub, который будет регулярно пополняться новыми скриптами и функциями.

Мой Azure PowerShell модуль Az-Module.psm1 уже содержит одну функцию для работы с тегами - Get-AzVmTag. В ближайшее время он пополнится функцией для автоматизации работы с тегами, в данный момент она тестируется. По этому поводу обязательно будет отдельная статья.

Следующий код выдаст вам значения тегов PowerOn и PowerOff для всех машин в Resource Group (не забудьте задать переменную $MyAzureResourceGroup):

PS C:\> Get-AzureRmVM -ResourceGroupName $MyAzureResourceGroup |
sort Name |select Name,
@{N='PowerOn';E={$_ |Get-AzVmTag -TagName 'PowerOn'}},
@{N='PowerOff';E={$_ |Get-AzVmTag -TagName 'PowerOff'}} |ft –au

А этот даст полный отчёт о состоянии машины (VM PowerState), оба тега (PowerOn и PowerOff) и текущее время:

  PS C:\> Get-AzureRmVM -ResourceGroupName $MyAzureResourceGroup |
sort Name |select Name,
@{N='PowerState';E={$_ |Get-AzVmPowerState}},
@{N='PowerOn';E={$_ |Get-AzVmTag -TagName 'PowerOn'}},
@{N='PowerOff';E={$_ |Get-AzVmTag -TagName 'PowerOff'}},
@{N='Now';E={[datetime]::Now.ToString('HH:mm')}} |ft –au

Для желающих почитать статью на английском, прилагаю ссылку на блог автора.

Реклама







Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

31/01/2019:  Бизнес и ИТ. Вокруг ЦОД (Ростов-на-Дону)
14/02/2019:  Облака 2019: бурный рост в цифровую эпоху
14/03/2019:  Информационная безопасность бизнеса и госструктур

Быстрый переход:
VMware Gartner Citrix VSAN StarWind IT-Grad Veeam 5nine Hardware VeeamON Nutanix vSphere RVTools Enterprise Security Code Offtopic Cisco vGate Microsoft Cloud SDRS Parallels IaaS HP VMFS PowerCLI VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Teradici Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter VMachines Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V vCloud Labs vSAN Cache DR Storage DRS VMworld HA Workspace Tools UEM Backup vROPs DRS Fusion Workstation Lifecycle Visio SRM Horizon vRNI Log Insight Operations Manager VVols SDDC Virtual Appliance Update App Volumes OpenStack Forum PowerShell LSFS Client vCSA Datacenter Workspace ONE NSX Intel Agent Networking esxtop Book Photon Cloud Computing SSD Comparison Blast Performance Nested AWS XenDesktop VSA vNetwork SSO Host Client VMDK VTL iSCSI Whitepaper Appliance VUM V2V Support Обучение Web Client Mobile Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Converter XenApp Snapshots VCP vGPU Auto Deploy SMB RDM Mirage XenClient MP Video SC VMM Certification VDP Partners PCoIP RHEV vMA Award Network USB Licensing Logs Server Demo vCHS Calculator Бесплатно vExpert Beta SAN Exchange MAP ONE DaaS Monitoring VPLEX UCS SDK Poster VSPP Receiver vMotion VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V VirtualCenter NFS ThinPrint VDS Bug Upgrade Migration Director Stencils Memory Troubleshooting API Android Graphics Diagram Air CLI Plugin DPM SIOC Flex Mac Open Source SSH VAAI Chargeback Heartbeat MSCS Ports SVMotion Bugs Composer
Интересные плакаты:

Постер VMware vSphere PowerCLI 6.3:

Постер VMware ESXi 5.1:

Постер VMware Hands-on Labs 2015:

Постер VMware Platform Services Controller 6.0:

Постер VMware vCloud Networking:

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Постер VMware vCenter Server Appliance:

Порты и соединения VMware vSphere 6:

Порты и соединения VMware Horizon 7:

Порты и соединения VMware NSX:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

Постер Veeam Backup & Replication v8 for VMware:

Постер Microsoft Windows Server 2012 Hyper-V R2:

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Сравнение Oracle VirtualBox и VMware Workstation.

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Как использовать возможности VMware vSphere Management Assistant (vMA).

Проектирование инфраструктуры виртуализации VMware vSphere 4.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Бесплатные программы для VMware ESX / ESXi в среде Virtual Infrastructure / vSphere (часть 2).

Новые возможности VMware vSphere 5.0 - официально.

Отличия VMware ESXi 4 free (бесплатного), ESXi 4 и ESX 4 в составе VMware vSphere.

Все ресурсы о виртуализации:
Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Купить:

VMware vSphere 6.5


Veeam Backup 9.5


Полезные ресурсы:


Видео компании VMware

Видео про Citrix Xen

Видео о виртуализации Microsoft

Утилиты для виртуальных машин Microsoft.

Книги на английском языке

Блоги на английском языке

Блоги на русском языке

Агрегация статей в твиттере VMC:


Copyright VM Guru 2006 - 2018, Александр Самойленко. Правила перепечатки материалов.