Создание шаблона виртуальной машины в System Center 2012 Virtual Machine Manager (часть 2)
Пост от Алексей Леготин | в категории System Center 2012, Virtual Machine Manager | добавлен 29-03-2012
1
Продолжаем готовить базовую виртуальную машину, которую затем будем использовать для создания шаблона. В первой части статьи я остановился на определении приоритеа для выделения памяти виртуальной машины, тем самым завершив конфигурирование оборудования виртуальной машины:
Рисунок 21. Мастер создания виртуальной машины. Конфигурация оборудования. Вес при использовании памяти
На будущее, чтобы не повторять все проделанные шаги, существует возможность сохранить набор параметров оборудования в отдельный профиль оборудования, для дальнейшего использования при создании виртуальной машины. Потом мы сможем выбирать из нескольких профилей с разным оборудованием для виртуальной машины. Находим в окне и кликаем кнопочку "Save as…". Появится окно небольшого мастера создания профиля оборудования.
Рисунок 22. Мастер сохранения нового профиля оборудования виртуальной машины. Ввод идентификатора профиля.
В поле Name рекомендую вводить содержательное имя, из которого четко можно понять основные параметры данного профиля оборудования, а именно – процессор, размер памяти и размер виртуального диска. Я назвал этот профиль "1 CPU RAM 1Gb HDD 20Gb". В поле Description можно описать какие-либо нестандартные характеристики профиля, например, флоппи-диск или конфигурацию COM-портов. На закладке Hardware Profile мастера создания профиля мы еще раз можем просмотреть (а также изменить!) конфигурацию, которую будем сохранять:
Рисунок 23. Мастер сохранения нового профиля оборудования виртуальной машины. Просмотр параметров профиля оборудования.
Все параметры нас устраивают, поэтому нажимаем кнопку OK. Профиль сохранится, и мы вернемся в мастер создания виртуальной машины (Рисунок 21). Кликнем Next для перехода к следующему шагу.
Рисунок 24. Мастер создания виртуальной машины. Выбор назначения.
Здесь мы выбираем место назначения для нашей виртуальной машины. Можно развернуть машину в частное облако, можно разместить виртуальную машину на хосте, а также есть возможность сохранить виртуальную машину в библиотеке, для дальнейшего использования. Для дальнейшего использования необходимо будет развернуть машину из библиотеки в частное облако или на хост. Сейчас мы будем размещать виртуальную машину на хосте, поэтому оставляем выбор по умолчанию: "Place the virtual machine on a host". Кликаем Next.
Рисунок 25. Мастер создания виртуальной машины. Выбор хоста.
Попали в окно выбора хоста для размещения виртуальной машины. В данном случае хост у меня на тестовом стенде всего один, и никаких сложностей с поиском нет. Но если у вас крупная корпоративная сеть с множеством хостов виртуализации, то функция поиска очень даже пригодится. В нижней части окна показываются характеристики хоста, на котором в данный момент стоит курсор. В частности, видим состояние хоста, установленную версию операционной системы, тип платформы виртуализации и состояние программного обеспечения виртуализации. Отдельным списком идут имена виртуальных машин, уже развернутых на этом хосте.
Каждый элемент в списке хостов оценивается рейтингом, который основывается на требованиях виртуальной машины и настройках размещения по умолчания. Т.е. чем больше хост подходит под требования, указанный в конфигурации виртуальной машины, тем выше у него рейтинг. Кликнув кнопку "Expected utilization", можно задать предполагаемое использование ресурсов виртуальной машиной, необходимое для расчета рейтинга хостов.
Рисунок 26. Окно задания использования ресурсов виртуальной машиной.
Первоначальные цифры основаны на предыдущем использовании виртуальной машины (если создание виртуальной машины происходит на базе какой-то готовой машины). Все цифры по использованию процессора, размеру и пропускной способности диска и сети можно задать вручную самостоятельно. Жмем OK и возвращаемся (Рисунок 25) и кликаем Next.
Рисунок 27. Мастер создания виртуальной машины. Настройка параметров. Расположение.
Задаем каталог для расположения файлов виртуальной машины на хосте. Для стандартизации располагать все виртуальные машины Hyper—V будем располагать в каталоге "C:\Hyper—V". Переходим далее в раздел Networking (Сетевые параметры):
Рисунок 28. Мастер создания виртуальной машины. Настройка параметров. Параметры сети.
Здесь менять ничего нельзя, зато видно все параметры, которые мы задали для сети в свойствах оборудования виртуальной машины. Идем в раздел Machine Resources.
Рисунок 29. Мастер создания виртуальной машины. Настройка параметров. Параметры сети.
В этом разделе одиноко находится виртуальный диск с его заданными параметрами. Место для расположения файла виртуального жесткого диска можно задать. Если все устраивает, кликаем Next.
Рисунок 30. Мастер создания виртуальной машины. Настройка дополнительных свойств.
В разделе "Automatic actions" можно задать действия, производимые с виртуальной машиной, когда сервер виртуализации стартует, и когда завершает работу. Когда сервер стартует, возможны три действия: "Не запускать виртуальную машину", "Всегда запускать виртуальную машину" и "Восстанавливать то состояние виртуальной машины, которое было при завершении работы сервера" (т.е. если работала, то запускать, если не работала, то и не запускать). Для критичных виртуальных машин рекомендуется выбирать опцию "Always automatically turn on the virtual machine". Здесь же можно задать задержку запуска виртуальной машины в секундах. Иногда возникает такая необходимость. Например, сервисы на одной виртуальной машине используют сервисы другой машины, и требуется, чтобы к моменту запуска одной машины вторая уже была запущена. К примеру, если в сети есть виртуальный контроллер домена (отдельная интересная тема для разговора!), то логично сначала дать возможность стартовать ему, а остальные виртуальные машины запускать с определенной задержкой.
Действий, выполняемых при завершении работы хоста, тоже на выбор три. Это "Сохранение состояния" виртуальной машины, "выключение" (эквивалентно кнопке питания на системном блоке физического компьютера) и "Завершение работы гостевой ОС". Рекомендую выбрать последний способ, т.е. "Shut down guest OS".
Также стоит выбрать планируемую для установки операционную систему, это лишний раз даст знать VMM, какая ОС установлена в гостевой системе (если по каким-либо причинам само не определится).
Кликнем Next.
Рисунок 31. Мастер создания виртуальной машины. Окно Summary.
В данном окне проверяем параметры развертывания. Если все нормально, кликаем Create. Кстати говоря, запись всех действий, выполняемых мастером, конфигурирование параметров и т.п. формируется в виде сценария PowerShell, который на деле и запускается при нажатии кнопки Create. Этот сценарий можно использовать и для автоматизации развертывания множества виртуальных машин, изменив соответствующим образом некоторые части сценария.
Пример сценария, который сейчас выполнится, приведен ниже:
# ——————————————————————————
# Create Virtual Machine Wizard Script
# ——————————————————————————
# Script generated on Monday, March 26, 2012 5:10:33 PM by Virtual Machine Manager
#
# For additional help on cmdlet usage, type get-help <cmdlet name>
# ——————————————————————————
New-SCVirtualScsiAdapter -VMMServer localhost -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c -AdapterID 7 -ShareVirtualScsiAdapter $false -ScsiControllerType DefaultTypeNoType
$ISO = Get-SCISO -VMMServer localhost -ID 593f86c1-956f-440a-85a0-ff1d83b092a1
New-SCVirtualDVDDrive -VMMServer localhost -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c -Bus 1 -LUN 0 -ISO $ISO
$LogicalNetwork = Get-SCLogicalNetwork -VMMServer localhost -ID "66f309b2-95eb-4907-98b1-04ffa3e5210c"
New-SCVirtualNetworkAdapter -VMMServer localhost -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c -MACAddressType Dynamic -LogicalNetwork $LogicalNetwork -VLanEnabled $false -Synthetic -EnableVMNetworkOptimization $false -EnableMACAddressSpoofing $false -IPv4AddressType Dynamic -IPv6AddressType Dynamic
Set-SCVirtualCOMPort -NoAttach -VMMServer localhost -GuestPort 1 -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c
Set-SCVirtualCOMPort -NoAttach -VMMServer localhost -GuestPort 2 -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c
Set-SCVirtualFloppyDrive -RunAsynchronously -VMMServer localhost -NoMedia -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c
$CPUType = Get-CPUType -VMMServer localhost | where {$_.Name -eq "3.60 GHz Xeon (2 MB L2 cache)"}
New-SCHardwareProfile -VMMServer localhost -CPUType $CPUType -Name "Profiled404a19d-6c27-4b18-9477-80608d27f783" -Description "Profile used to create a VM/Template" -CPUCount 1 -MemoryMB 1024 -DynamicMemoryEnabled $false -VirtualVideoAdapterEnabled $false -CPUExpectedUtilizationPercent 20 -DiskIops 0 -CPUMaximumPercent 100 -CPUReserve 0 -NetworkUtilizationMbps 0 -CPURelativeWeight 100 -HighlyAvailable $false -NumLock $false -BootOrder "CD", "IdeHardDrive", "PxeBoot", "Floppy" -CPULimitFunctionality $false -CPULimitForMigration $false -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c
New-SCVirtualDiskDrive -VMMServer localhost -IDE -Bus 0 -LUN 0 -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c -VirtualHardDiskSizeMB 20480 -Dynamic -Filename "Win2008sp1_disk_1" -VolumeType BootAndSystem
$HardwareProfile = Get-SCHardwareProfile -VMMServer localhost | where {$_.Name -eq "Profiled404a19d-6c27-4b18-9477-80608d27f783"}
New-SCVMTemplate -Name "Temporary Template2a63c2a4-6ee4-4a12-9472-9c85635e9665" -HardwareProfile $HardwareProfile -JobGroup d7d3cb55-6126-42d4-a9ac-65cd4b29f14c -NoCustomization
$template = Get-SCVMTemplate -All | where { $_.Name -eq "Temporary Template2a63c2a4-6ee4-4a12-9472-9c85635e9665" }
$virtualMachineConfiguration = New-SCVMConfiguration -VMTemplate $template -Name "Win2008sp1"
Write-Output $virtualMachineConfiguration
$vmHost = Get-SCVMHost -ComputerName "192.168.1.1"
Set-SCVMConfiguration -VMConfiguration $virtualMachineConfiguration -VMHost $vmHost
Update-SCVMConfiguration -VMConfiguration $virtualMachineConfiguration
$VHDConfiguration = Get-SCVirtualHardDiskConfiguration -VMConfiguration $virtualMachineConfiguration
Set-SCVirtualHardDiskConfiguration -VHDConfiguration $VHDConfiguration -PinSourceLocation $false -DestinationLocation "D:\INSTALL" -PinFileName $false -DeploymentOption "None"
Update-SCVMConfiguration -VMConfiguration $virtualMachineConfiguration
$operatingSystem = Get-SCOperatingSystem | where { $_.Name -eq "64-bit edition of Windows Server 2008 R2 Standard" }
New-SCVirtualMachine -Name "Win2008sp1" -VMConfiguration $virtualMachineConfiguration -Description "" -BlockDynamicOptimization $false -JobGroup "d7d3cb55-6126-42d4-a9ac-65cd4b29f14c" -RunAsynchronously -StartAction "TurnOnVMIfRunningWhenVSStopped" -StopAction "ShutdownGuestOS" -DelayStartSeconds "0" -OperatingSystem $operatingSystem
# ——————————————————————————
На деле конечный результат будет один: создастся и развернется на хост виртуальная машина. За процессом создания и развертывания виртуальной машины можно понаблюдать в представлении Jobs консоли администрирования VMM.
Рисунок 32. Консоль администрирования System Center 2012 Virtual Machine Manager. Представление Jobs.
Через некоторое время увидим, что задание завершилось с информационным сообщением. Оно гласит, что Virtual Machine Manager не смог обнаружить загрузочного или системного раздела на виртуальной машине. Все логично, мы же подключили к виртуальной машине пока что пустой виртуальный диск.
В представлении VMs and Services мы увидим нашу виртуальную машину с именем Win2008sp1 и состоянием "остановлена".
Рисунок 33. Консоль администрирования System Center 2012 Virtual Machine Manager. Представление VMs and Services.
Включим виртуальную машину Win2008sp1 с помощью кнопки "Power On" в панели инструментов (также можно нажать правой кнопкой мыши и выбрать действие "Power On". Машина достаточно быстро перейдет в состояние "Running". Теперь нужно подчлюиться к виртуальной машине. Кликаем кнопку "Connect or View" на панели инструментов, затем "Connect via console" (аналогично можно правой кнопкой мыши нажать на виртуальной машине и выбрать "Connect or View".
Рисунок 34. Консоль администрирования System Center 2012 Virtual Machine Manager. Представление VMs and Services.
Подключившись к окну виртуальной машины, мы увидим, что она уже запустилась с образа дистрибутива и ожидает установки Windows Server 2008 R2.
Рисунок 35. Окно виртуальной машины с началом установки Windows Server 2008 R2.
Описывать здесь установку операционной системы я по понятным причинам не буду. Важно лишь то, что нужно установить именно ту программную конфигурацию, которую затем можно будет часто использовать. Например, установить региональные установки, параметры сети, какие-то роли или функции Windows Server 2008 R2, установить все необходимые обновления (чтобы потом не терять времени на их установку. Какие-то специфические программы, которые однозначно будут использоваться, тоже можно будет установить. Естественно, неплохо будет разрешить удаленной подключение посредством RDP (ведь так или иначе, а серверами вы будете управлять потом, так что как минимум RDP стоит включить, а также удаленное управление сервером. Короче говоря, на ваше усмотрение. Главное, максимум стандартных настроек подготовить и выполнить. Ведь приятно будет потом получить за несколько минут работающую виртуальную машину с установленной операционной системой и всеми необходимыми параметрами.
Продолжение статьи в третьей части. К этому времени вы должны установить операционную систему на виртуальной машине. 😉
Полезные ссылки
1) http://technet.microsoft.com/ru-ru/evalcenter/hh505660.aspx — ссылка для скачивания всех компонентов System Center 2012 RC.
2) http://technet.microsoft.com/en-us/library/gg610610.aspx — документация из библиотеки Technet по System Center 2012 Virtual Machine Manager.
3) http://www.microsoftvirtualacademy.com/tracks/system-center-virtual-machine-manager-2012 – курс Microsoft Virtual Academy по System Center 2012 Virtual Machine Manager (вебкасты Михаила Комарова, MVP: Virtual Machine).
4) http://www.microsoft.com/microsoftservices/en/us/journey_to_the_cloud.aspx – Введение в облачные технологии Microsoft.
5) http://www.techdays.ru/videos/System%20Center – различные вебкасты по компонентам System Center на Techdays.ru.
ВАМ мега респект за блог! Большое спасибо, всё написано доступным языком и очень круто. В данный момент тоже занимаюсь развертыванием линейки продуктов SCenter 2012.
Больше статей!!!