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


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

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

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

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

Если вам нужен простой способ построения образов Hyper-V, вполне могут подойти сценарии Windows PowerShell. Богатство вариантов настройки Windows PowerShell и гибкая структура ее команд делают ее подходящей практически для любой среды. В связке со стратегией автоматической или необслуживаемой установки это позволяет создавать практически любые компьютерные конфигурации.

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

Стратегия подразумевает, что вы работаете с системой Windows Server 2008 R2, которая удовлетворяет требованиям к роли Hyper-V. Подготовка системы для работы сценариев Hyper-V выполняется в несколько шагов.

  1. Установите роль Hyper-V и Windows PowerShell. Это можно сделать средствами Server Manager или утилиты командной строки ServerManagerCmd.exe (ServerManagerCmd.exe –install Hyper-V и ServerManagerCmd.exe –install PowerShell).
  2. Сконфигурируйте Windows PowerShell для поддержки этих сценариев. По умолчанию эта функция отключена. Это можно сделать с помощью командлета Set-ExecutionPolicy (Set-ExecutionPolicyRemoteSigned).
  3. Загрузите и установите модуль Windows PowerShell Hyper-V. Этот модуль необходим для доступа к командлетам, предназначенным для работы с Windows PowerShell. Из библиотеки CodePlex PowerShell Management Library for Hyper-V загрузите последний стабильный выпуск, не предназначенный для разработки. Позаботьтесь об удалении атрибута блокировки со сжатых файлов перед их установкой. Это позволит выполнить сценарии установки без необходимости предоставления цифровых сертификатов. Если вы выполняете установку ядра сервера, разблокируйте и распакуйте файл модуля на другом компьютере перед копированием на сервер файлов установки. В противном случае вам понадобятся дополнительные средства для выполнения этих операций на сервере (утилита stream.exe из состава SysinternalsSuite и 7-Zip).
  4. Откройте командную строку Windows PowerShell с административными полномочиями, включите поддержку сценариев Hyper-V путем импорта вновь установленного модуля (Import-Module HyperV). Если вы получите сообщение об ошибке, проверьте, не пропустили ли вы предыдущий шаг. Если вы собираетесь регулярно использовать Windows PowerShell для управления средой Hyper-V, в файл профиля Windows PowerShell надо добавить командлеты Import-Module и Set-ExecutionPolicy. Это позволит использовать командлеты без необходимости каждый раз конфигурировать сервер. Чтобы с командлетами не возникало проблем, нужно всегда использовать командую сроку Windows PowerShell с административными полномочиями.

Чтобы убедиться, что командлеты успешно установлены и правильно работают, используйте командлет Get-Command для просмотра всех доступных команд (Get-Command –Module Hyperv). Как и в других модулях к каждому командлету прилагается полезная информация о его функциях и примеры его использования (Get-Help New-VM –Detailed и Get-Help New-VM –Examples). Дополнительную информацию см. на сайте CodePlex.

Конфигурирование сценария Windows PowerShell для Hyper-V

Подготовив среду Windows PowerShell, можно переходить к созданию новых ВМ. Не забудьте, что следующие команды надо выполнять в контексте административной учетной записи. В сценарии командлеты Hyper-V используются для создания новых ВМ на основе пяти переменных (рис. 1), которые вы предоставили во время установки. У каждой переменно есть значение по умолчанию, которое используется, если не указано другое значение.

Рис. 1. Описания переменных, определяемых при создании виртуальных машин Hyper-V

$SRV1Имя ВМ
$SRAMОбъем памяти, выделяемой ВМ
$SRV1VHDРазмер виртуального жесткого диска ВМ
$VMLOCМесто, где нужно создать виртуальный жесткий диск ВМ
$Network1Подключение ВМ к сети


После определения этих переменных сценарий New-Image.ps1 (рис. 2) конфигурирует виртуальную сеть Hyper-V, используя значение, заданное в переменной $Network1. Перед определением новой частной сети средствами New-VMPrivateSwitch удалите ее, используя Remove-VMSwitch, независимо существует ли она или нет. Это гарантирует, что вы не определите дублирующиеся сети с тем же именем.

Рис. 2. Сценарий New-Image.ps1, который создает новые виртуальные машины

# This script creates a new Hyper-V machine with hard drive, memory & network resources configured.

# Variables
$SRV1 = Read-Host "Enter the Virtual Machine name (Press [Enter] to choose Server01): "
if ($SRV1 -eq ""){$SRV1="Server01"} ; if ($SRV1 -eq $NULL){$SRV1="Server01"}

$SRAM = Read-Host "Enter the size of the Virtual Machine Memory (Press [Enter] to choose 512MB): "
if ($SRAM -eq ""){$SRAM=512MB} ; if ($SRAM -eq $NULL){$SRAM=512MB}

$SRV1VHD = Read-Host "Enter the size of the Virtual Machine Hard Drive (Press [Enter] to choose 40GB): "
if ($SRV1VHD -eq ""){$SRV1VHD=40GB} ; if ($SRV1VHD -eq $NULL){$SRV1VHD=40GB}

$VMLOC = Read-Host "Enter the location of the Virtual Machine file (Press [Enter] to choose C:\HyperV): "
if ($VMLOC -eq ""){$VMLOC="C:\HyperV"} ; if ($VMLOC -eq $NULL){$VMLOC="C:\HyperV"}

$Network1 = Read-Host "Enter the name of the Virtual Machine Network (Press [Enter] to choose Network1): "
if ($Network1 -eq ""){$Network1="Network1"} ; if ($Network1 -eq $NULL){$Network1="Network1"}

# Configure Hyper-V Virtual Network
remove-vmswitch $Network1 -force -erroractionsilentlycontinue
new-vmprivateswitch $Network1

# Create Virtual Machines
MD $VMLoc -erroractionsilentlycontinue
new-vm $SRV1 -path $VMLoc
new-vhd -vhdpaths $VMLoc\$SRV1 -size $SRV1VHD
add-vmdisk -vm $SRV1 -controllerid 0 -lun 0 -path $VMLoc\$SRV1
get-vm $SRV1 | add-vmdrive -controllerid 1 -lun 0 -dvd
get-vm $SRV1 | set-vmmemory -memory $SRAM
get-vm $SRV1 | add-vmnic -virtualswitch $Network1

Финальный этап процесса, на котором собственно созадется ВМ, проста. Создайте место на диске для виртуального жесткого диска. Новую ВМ создают и конфигурируют шесть командлетов.

Команда New-VM определяет машину и ее местоположение. New-VHD создает файл виртуального жесткого диска (VHD), а Add-VMDisk назначает его ВМ. Add-VMDrive добавляет на машину DVD-привод, Set-VMMemory определяет объем памяти, а Add-VMNIC конфигурирует сетевую карту.

На сконфигурированной ВМ можно установить нужную ОС. Средствами Windows PowerShell можно также создать сценарий управления установкой ОС. Windows PowerShell позволяет автоматизировать выполнение этих задач, за счет чего этот процесс ускоряется и делается более осмысленным, особенно если виртуальные машины создаются регулярно.

Автор: Нейл Такер  •  Иcточник: TechNet Magazine  •  Опубликована: 06.07.2012
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER


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