Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft PowerShell Windows Azure PowerShell для работы с IaaS RSS

Windows Azure PowerShell для работы с IaaS

Текущий рейтинг: 0 (проголосовало 0)
 Посетителей: 987 | Просмотров: 1392 (сегодня 0)  Шрифт: - +

Еще в июне 2012 был обновлен Windows Azure PowerShell командлеты и к нему добавились некоторые интересные функциональные возможности для управления виртуальными машинами Windows Azure. В этой статье я расскажу о некоторых из новых функций по автоматизации Windows Azure IaaS.

Конфигурирование Windows Azure PowerShell

Первое, что необходимо сделать – установить Windows Azure PowerShell. Самый простой способ для того чтобы загрузить и импортировать файл-настроек – скачать шаблон с официального сайта. После того как файл-настроек публикации загружен, его необходимо импортировать:

Import-AzurePublishSettingsFile 'c:\temp\mysub.publishsettings'

Также имеется возможность настройки профиля публикации в ручную, без скачивания файла-настроек:

$subid = '[YOUR-SUBSCRIPTION-ID]'
$cert = Get-Item Cert:\CurrentUser\My\YOURCERTTHUMBPRINT
Set-AzureSubscription -SubscriptionName 'testsub1'
 -SubscriptionId $subid -Certificate $cert

Обратите внимание, что после того, как с настройками подписки закончено – профиль публикации сохраняется по умолчанию в следующем месте: C:\Users\user\AppData\Roaming\Windows Azure Powershell
Это означает, что не нужно запускать Set-AzureSubscription для каждого из сценариев, так как он уже есть. Windows Azure PowerShell поддерживают несколько подписок, поэтому здесь можно выбрать с какой подпиской работать, командой — Select-AzureSubscription.

Настройка хранилища

*
Увеличить

Также, новым дополнением является –CurrentStorageAccount. Этот параметр позволяет указать какое хранилище использовать для ваших VM’s в работе из PowerShell. Чтобы установить хранилище необходимо выполнить следующую команду:

Get-AzureStorageAccount

Если необходимо создать StorageAccount, воспользуйтесь следующей командой:

New-AzureStorageAccount -StorageAccountName
 'myuniquelynamedstorage' -Location 'East US'

Подготовка к созданию виртуальной машины из PowerShell

*
Увеличить

Перед тем как приступить к созданию VM’s в Windows Azure необходимо задать некоторые настройки, которые потребуются для работы из PowerShell, а именно, локация:

$dclocation = '[YOUR-LOCATION]'

Задать имя облачного сервиса, который будет выступать в качестве контейнера для VM’S:

Test-AzureName -Service '[YOUR-CLOUD-SERVICE-NAME]'
$cloudSvcName = '[YOUR-CLOUD-SERVICE-NAME]'

Определить какая платформа будет использоваться в качестве основы для VM’s:

Get-AzureVMImage | select ImageName
$image = '[YOUR-SELECTED-IMAGE-NAME]'

Теперь же можно приступать к созданию VM’s из PowerShell.

Быстрое создание Windows VM’s из PowerShell

После того, как все первоначальные настройки закончены, для быстрого создания виртуальной машины необходимо использовать следующие команды:

$adminPassword = '[PASSWORD]'
$vmname = 'mytestvm'
New-AzureQuickVM -Windows -ServiceName
$cloudSvcName -Name $vmname -ImageName
 $image -Password $adminPassword

Быстрое создание Linux VM’s из PowerShell

$linuxuser = '[CHOOSE-USERNAME]'
$adminPassword = '[YOUR-PASSWORD]'
$vmname = 'mytestvm1'
New-AzureQuickVM -Linux -ServiceName
$cloudSvcName -Name $vmname -ImageName
$image -LinuxUser $linuxuser

Перезагрузка, запуск и остановка Windows Azure виртуальной машины

# Перезагрузка
Restart-AzureVM -ServiceName $cloudSvcName -Name $vmname

# Остановка
Stop-AzureVM -ServiceName $cloudSvcName -Name $vmname

# Старт
Start-AzureVM -ServiceName $cloudSvcName -Name $vmname

Расширенные команды для создания виртуальных машин


New-AzureVMConfig позволяет создать виртуальную машину, сконфигурировав под себя. Если вас не устраивает быстрое создание VM’s или же не нравится то кол-во настроек которое эта команда предоставляет, то этот раздел именно для вас. Вы можете добавлять диск с данными, настраивать конечные точки (автоматически добавляются для SSH и RDP) и даже изменять поведение дискового кэша ОС или же диска с данными. Все что для этого потребуется – это вызвать команду New-AzureVMConfig, а затем передать их VM’s.

Создание Windows виртуальных машин из PowerShell

$vmname2 = 'mytestvm2'
$vmname3 = 'mytestvm3'

$vm2 = New-AzureVMConfig -Name $vmname2
-InstanceSize ExtraSmall -ImageName $image |
 Add-AzureProvisioningConfig -Windows
-Password $adminPassword |
 Add-AzureDataDisk -CreateNew
 -DiskSizeInGB 50 -DiskLabel 'datadisk1' -LUN 0 |
Add-AzureEndpoint -Protocol tcp -LocalPort 80
-PublicPort 80 -Name 'web' `
    -LBSetName 'lbweb' -ProbePort 80
 -ProbeProtocol http -ProbePath '/'

$vm3 = New-AzureVMConfig -Name $vmname3
 -InstanceSize ExtraSmall -ImageName $image |
Add-AzureProvisioningConfig -Windows
 -Password $adminPassword  |
Add-AzureDataDisk -CreateNew
-DiskSizeInGB 50 -DiskLabel 'datadisk2' -LUN 0  |
Add-AzureEndpoint -Protocol tcp
 -LocalPort 80 -PublicPort 80 -Name 'web' `
 -LBSetName 'lbweb' -ProbePort 80
-ProbeProtocol http -ProbePath '/'

New-AzureVM -ServiceName $cloudSvcName
 -VMs $vm2,$vm3

Создание Linux виртуальной машины из PowerShell

$vmname2 = 'mytestvm2'
$vmname3 = 'mytestvm3'

$vm2 = New-AzureVMConfig -Name $vmname2
 -InstanceSize ExtraSmall -ImageName $image |
 Add-AzureProvisioningConfig -Linux
-LinuxUser $linuxUser -Password $adminPassword |
 Add-AzureDataDisk -CreateNew -DiskSizeInGB 50
-DiskLabel 'datadisk1' -LUN 0 |
 Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' `
 -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/'

$vm3 = New-AzureVMConfig -Name $vmname3 -InstanceSize ExtraSmall -ImageName $image |
Add-AzureProvisioningConfig -Linux -LinuxUser $linuxUser -Password $adminPassword |
Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk2' -LUN 0 |
 Add-AzureEndpoint -Protocol tcp -LocalPort 80 -PublicPort 80 -Name 'web' `
  -LBSetName 'lbweb' -ProbePort 80 -ProbeProtocol http -ProbePath '/'
New-AzureVM -ServiceName $cloudSvcName -VMs $vm2,$vm3

Обновление существующих виртуальных машин

Изменение существующих виртуальных машин требует получения текущих настроек используя команду Get-AzureVM, после редактирования для сохранения настроек используется команда Update-AzureVM. Некоторые из изменений потребуют перезагрузки виртуальной машины, к примеру параметры дискового кэша.

$vmname = 'mytestvm1'
Get-AzureVM -Name $vmname -ServiceName $cloudSvcName |
    Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'datadisk1' -LUN 0 |
    Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel 'translogs1' -LUN 1 |
    Add-AzureEndpoint -Protocol tcp -LocalPort 1433 -PublicPort 2000 -Name 'sql' |
    Update-AzureVM

Заключение

В этом топике я рассмотрел основные команды для работы с виртуальными машинами из PowerShell, которые помогут новичкам в управлении виртуальными машинами в Azure.

Автор: Павел Иванченко  •  Иcточник: TechNet  •  Опубликована: 08.04.2013
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   Powershell, Windows Azure, iaas.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.