Подготовка образа ОС Windows для создания ВМ
В качестве примера использован образ Windows Server 2016 редакции CORE, команды приведены на языке PowerShell.
- Клонируйте репозиторий со скриптами автоматизированной сборки windows-imaging-tools.
- Клонируйте репозиторий для обновления образа системы WindowsUpdateCLI.
- Убедитесь, что у вас установлен и настроен Git.
- Установите драйвера VirtIO (KVM).
- Настройте Hyper-V, если этого не было сделано ранее.
- Скачайте и установите Windows ADK.
- Скачайте ISO-образ операционной системы, для которого планируется миграция в VK Cloud. Рекомендуется использовать en-US версию образа.
- Установите OpenStack CLI, если он еще не установлен. Убедитесь, что вы можете авторизоваться в облаке с его помощью.
-
Подключите скачанный ISO-образ ОС.
-
Выведите список всех версий Windows с помощью выполненной от имени администратора команды:
Get-WindowsImage -ImagePath E:\sources\Install.wim
Здесь
E:\sources\Install.wim
— полный пусть к WIM-файлу системы на смонтированном диске.Появится список редакций с указанием
ImageIndex
ее номера:1ImageIndex : 1 2ImageName : Windows Server 2016 Standard 3ImageDescription: Это рекомендуемый вариант. Он сокращает управление и обслуживание за счет установки только того, что требуется для большинства приложений и ролей сервера. Он не включает графический интерфейс пользователя, однако вы можете полностью управлять сервером локально или удаленно с помощью Windows PowerShell или других средств. См. раздел "Варианты установки Windows Server". 4ImageSize : 9 146 079 566 bytes 5 6ImageIndex : 2 7ImageName : Windows Server 2016 Standard (возможности рабочего стола) 8ImageDescription: Этот вариант подходит, если нужен графический пользовательский интерфейс (например, для обеспечения обратной совместимости приложения, которое не может работать при установке основных серверных компонентов). Поддерживаются все роли и компоненты сервера. Подробнее: "Варианты установки Windows Server". 9ImageSize : 15 219 002 744 bytes
-
Экспортируйте редакцию с
ImageIndex
=1
с помощью команды:1dism ` 2/export-image ` 3/SourceImageFile:E:\sources\Install.wim ` 4/SourceIndex:1 ` 5/DestinationImageFile:D:\Temp\install.wim ` 6/Compress:max ` 7/CheckIntegrity
Здесь:
D:\Temp\install.wim
— полный путь на локальном диске, где будет сохранен экспортируемый образ;SourceIndex:1
— номер индекса необходимой редакции.
Создайте виртуальный коммутатор external
с типом подключения Внешняя сеть.
-
Перейдите в каталог
windows-imaging-tools
и импортируйте модули:1pushd windows-openstack-imaging-tools 2Import-Module .\WinImageBuilder.psm1 3Import-Module .\Config.psm1 4Import-Module .\UnattendResources\ini.psm1
-
Перенесите содержимое каталога
WindowsUpdateCLI
вwindows-openstack-imaging-tools\UnattendResources\WindowsUpdates
(если указана опцияinstall_updates=True
). -
Создайте конфигурационный файл
config.ini
:1$ConfigFilePath = ".\config.ini" 2New-WindowsImageConfig -ConfigFilePath $ConfigFilePath
-
Откройте созданный файл и вставьте туда код:
1wim_file_path=D:\Temp\install.wim 2image_name=Windows Server 2016 SERVERSTANDARDCORE 3image_path=D:\Win_Server_2016_img.qcow2 4virtual_disk_format=QCOW2 5image_type=KVM 6external_switch=external 7virtio_iso_path="D:\Drivers\virtio.iso" 8time_zone="Russian Standard Time" 9install_qemu_ga=True 10install_updates=True 11purge_updates=False 12compress_qcow2=True
Здесь:
external_switch=external
— имя созданного коммутатора;virtio_iso_path="D:\Drivers\virtio.iso"
— полный путь к ISO-файлу с драйверами VirtIO;time_zone="Russian Standard Time"
— временная зона, можно узнать с помощью командыtzutil /l
;purge_updates=False
— не очищать каталогWinSXS
после установки обновлений.
-
Запустите локальную сборку образа с помощью команды:
New-WindowsOnlineImage -ConfigFilePath $ConfigFilePath
-
Дождитесь завершения выполнения операции и убедитесь, что файл
D:\Win_Server_2016_img.qcow2
создан.
Воспользуйтесь CLI для импорта образа:
openstack image create --private --container-format bare --disk-format qcow2 --file D:\Win_Server_2016_img.qcow2 --property hw_qemu_guest_agent=yes --property store=s3 --property min_ram=2048 --property os_require_quiesce=yes --property min_disk=40 --property os_type=windows --property os_admin_user=Administrator --property mcs:lic:mswinsrv=true --property mcs_name='Windows Server 2016 Standard (en)' --property mcs_os_distro='server' --property mcs_os_edition='std' --property mcs_os_type='windows' --property mcs_os_lang='en' --property mcs_os_type='windows' --property mcs_os_version='2016' --property os_distro='win2k16' <Наименование образа>
Дождитесь завершения операции. После загрузки образа появится возможность создавать ВМ стандартными средствами платформы VK Cloud.
Если импортированный образ вам больше не нужен, удалите его.