Установка Windows в среде OpenStack

Руководство рассматривает создание виртуальной машины в среде OpenStack и установку на эту виртуальной машину операционной системы Windows Server 2012 с драйверами KVM стандартными средствами Windows Installer с образа ISO официального DVD.

После установки из диска виртуальной машины (инстанса) образ будет возможно использовать и на других виртуальных машинах.

По умолчанию, с использованием штатных средств OpenStack, Windows Installer не видит корневой диск или не определяет загрузочный раздел, что делает установку ОС Windows проблематичной процедурой.

В нашем облаке проблема решается использованием служебной виртуальной машины, которая создает отдельный инстанс в среде пользователя с Windows Installer и подключает к нему диск с необходимыми драйверами оборудования для последующей установки операционной системы.

Ниже приведена краткая инструкция для создания виртуальной машины и установки ОС Windows на нее:

Для создания инстанса потребуется:

  1. Официальный ISO образ Windows на основе официального диска Windows, приобрести и скачать можно с официального сайта https://www.microsoft.com/ru-ru/windows
  2. Образ ISO с драйверами KVM - https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
  3. CloudBase-Init - https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi
  4. Для загрузки образов через консольного клиента потребует "Python 2.7.x" http://python.org/downloads/windows/ и "Microsoft Visual C++ Compiler for Python 2.7" http://aka.ms/vcpython27
  5. Реквизиты доступа к проекту.

    Реквизиты доступа к проекту

    Перед созданием инcтансов загрузите образы в среду OpenStack, либо воспользуйтесь уже загруженными образами в системе OpenStack. Публичный образ с драйверами KVM в нашей среде OpenStack: "HT-Virtio-Win-Drivers-Stable".

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

  1. Войдите в учетную запись OpenStack.
  2. Перейдите в раздел "Проект" - "Образы" и нажмите кнопку "Создать образ".

    Образы
  3. В появившемся окне укажите:

    • желаемое имя образа;
    • описание (если нужно);
    • выберете ISO образ установочного диска Windows с локального компьютера;
    • формат образа: "ISO - образ оптического диска";
    • минимальный размер диска: наименьшее значение в гигабайтах, но не меньше размера ISO образа, например 5;
    • минимальная ОЗУ: укажите 2048 (2 гигабайта достаточно). Создать образ
    • Нажмите кнопку "Создать образ".

    Если загрузка образа диска завершилась ошибкой по причине таймаута соединения браузера, загрузите образ в учетную запись при помощи консольного клиента OpenStack (CLI).

    Для установки CLI на Windows потребуется скачать Python версии 2.7.x http://python.org/downloads/windows/ , а также "Microsoft Visual C++ Compiler for Python 2.7" http://aka.ms/vcpython27. Далее установить "openstackclient" командой C:\Python27\Scripts\pip.exe install python-openstackclient в командной строке с правами Администратора.

    установка CLI

    После установки клиента OpenStack загрузите образ ISO в учетную запись при помощи команды в командной строке Windows: C:\Python27\Scripts\openstack.exe --os-user-domain-name=Default --os-auth-url= --os-username=<Имя пользователя> image create --private --disk-format iso --container-format bare --file <Путь у образу ISO Windows> --min-disk 5 --min-ram 2048 "Желаемое имя образа в системе"

    Например:

    C:\Python27\Scripts\openstack.exe --os-user-domain-name=Default --os-auth-url=https://eu-east.atlex.cloud:5000/v3 --os-username=demo-5932-user image create --private --disk-format iso --container-format bare --file D:\Distr\9600.17050.WINBLUE_REFRESH.140317-1640_X64FRE_SERVER_EVAL_RU-RU-IR3_SSS_X64FREE_RU-RU_DV9.ISO --min-disk 5 --min-ram 2048 "Windows 10 X86_64 Install DVD" Образы
  4. Таким же способом загрузите образ ISO с драйверами Windows VirtIO Drivers (virtio-win-0.1.xxx.iso) с параметрами:

    • Минимальный размер диска: 1 ГБ;
    • Минимальная ОЗУ: 1024 МБ.
    Windows VirtIO Drivers

    В итоге в загруженных образах появятся: "Windows 10 X96_64 Install DVD" и "Windows VirtIO Drivers".

    Образы
  5. Если в аккаунте не создана виртуальная сеть, создайте. Руководство по созданию сети: https://www.atlex.ru/baza-znanij/rukovodstva/nachalo-raboty-s-virtualnym-data-tsentrom/
  6. После загрузки образов создадим инстанс с подключенными к нему корневым целевым разделом, установочным образом и диском с драйверами устройств.

    В случае использования CLI сделать это можно командой C:\Python27\Scripts\nova.exe --os-project-id= --os-auth-url= --os-username=<Имя пользователя> --os-password=<Пароль вашего пользователя> boot --flavor=HT-2C-4G --block-device dest=volume,device=/dev/vda,size=<Размер целевого диска в ГБ (не менее 15)>,bus=virtio,bootindex=1 --block-device source=image,id=,dest=volume,bus=ide,device=/dev/hda,size=<Размер в ГБ (не менее размера образа ISO Windows)>,type=cdrom,bootindex=0 --block-device source=image,id=,dest=volume,size=1,bus=ide,device=/dev/hdc,type=cdrom,bootindex=2 Windows-Setup-Instance

    "ID образа диска Windows" и "ID образа диска с драйверами" получаем по клику на имя необходимого образа:

    Windows 10 X86_64 Install DVD

    Пример:

    Пример

    В разделе "Проект" - "Инстансы" добавится инстанс с запущенной средой "Windows Installer":

    Инстансы

    Для варианта без CLI подготовлен специальный образ для создания инстанса с Windows Installer. Выберите в списках Публичных образов образ "HT-Windows-Setup-Starter" и нажмите кнопку "Запустить".

    Для варианта без CLI

    В появившемся окне введите имя инстанса, тип. Выберете "Создать новый диск" размером 5 ГБ. Это временный инстанс, который выполняет команду запуска виртуальной машины с подключенными драйверами и установочным диском Windows. Подробности запуска инстанса находятся в руководстве: https://www.atlex.ru/baza-znanij/rukovodstva/nachalo-raboty-s-virtualnym-data-tsentrom/

    Запустить инстанс Источник Тип иснтанса

    После запуска инстанса для удобства работы возможно подключить к нему "Назначаемый IP" для входа через SSH.

    Назначаемый IP

    Для входа через SSH на ОС Windows потребуется SSH клиент, например Putty - https://www.chiark.greenend.org.uk/~sgtatham/putty/

    Не забудьте в разделе "Проект" - "Доступ и безопасность" - "Управление правилами группы безопасности" добавить правило "SSH" для подключения к инстансу из сети интернет.

    Добавить правило

    Имя пользователя для входа в консоль - windows

    Пароль - installer

    После входа в инстанс понадобится ответить на серию вопросов и ввести данные для подключения к облаку:

    ввести данные для подключения к облаку

    После ответа на все вопросы в проекте создастся отдельный иснтанс с именем "Windows-Installer-Instance".

    Служебный инстанс для запуска исталятора больше не нужен.

    иснтансы
  7. Войдите в консоль VNC новосозданного инстанса

    консоль VNC новосозданного инстанса

    Следуйте инструкциям инсталятора Windows

    инсталятор Windows
  8. На этапе выбора разделов для установки исталятор не обнаружит подключенные диски. Поможет подключенный диск с драйверами VirtIO.

    Нажмите на ссылку "Загрузить драйвер".

    Загрузить драйвер

    Нажмите кнопку "Обзор" - Перейдите на диске "virtio-win" - в каталог "viostor\<Ваша ОС>\<Ваша архитектура>"

    Обзор

    Нажмите "Далее"

    Далее

    В результате доступными к обнаружению станут два жестких диска, один из которых — служебный диск с метаданными OpenStack на 62 МБ.

    Где вы хотите установить Windows

    Теперь можно продолжить установку штатными средствами Windows

    Устновка Windows Параметры Диспетчер сеансов
  9. После загрузки операционной системы продолжаем установку драйверов. Установка необходимых драйверов производится через командную строку Администратора с использованием следующих команд: pnputil -i -a E:\<Путь к драйверу>\<Версия ОС>\amd64\*.INF.

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

    Безопасность Windows

    В примере установлены следующие драйверы:

    pnputil -i -a E:\Balloon\2k12R2\amd64\*.inf

    pnputil -i -a E:\NetKVM\2k12R2\amd64\*.inf

    pnputil -i -a E:\pvpanic\2k12R2\amd64\*.inf

    pnputil -i -a E:\qemupciseria\2k12R2\amd64\*.inf

    pnputil -i -a E:\qxldod\2k12R2\amd64\*.inf

    pnputil -i -a E:\vioinput\2k12R2\amd64\*.inf

    pnputil -i -a E:\viorng\2k12R2\amd64\*.inf

    pnputil -i -a E:\vioscsi\2k12R2\amd64\*.inf

    pnputil -i -a E:\vioserial\2k12R2\amd64\*.inf

    pnputil -i -a E:\viostor\2k12R2\amd64\*.inf – здесь возможно возникновение ошибки, так как при установке ОС драйвер уже добавлялся на стадии установки.

    Командная строка

    Теперь установим гостевой агент для QEMU для контроля работы виртуальной машины со стороны OpenStack.

    Команда E:\guest-agent\qemu-ga-x64.msi

    Далее установим менеджер динамического распределения памяти balloon.

    Для этого скопируйте содержимое каталога E:\Balloon\<Ваша ОС>\Ваша архитектура (например E:\Ballon\2k12R2\amd64) на локальный диск, например в каталог C:\Program Files\Balloon и выполните команду с правами администратора C:\Program Files\Balloon\blnsrv.exe -i

    Командная строка

    Таким образом будут установлены требуемые службы и драйверы для работы системы Windows в среде виртуализации OpenStack.

    Командная строка

    После установки драйверов инстанс выключаем и отключаем от инстанса ненужные диски.

  10. Последним шагом установки, если требуется, установим средство интеграции со средой OpenStack — Cloudbase-Init.

    Запустите инсталятор Cloudbase-Init: https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi внутри инстанса с установленной ОС Windows

    Cloudbase-Init

    В процессе установки укажите учетную запись Администратора системы (в примере это пользователь "Администратор"), установите галочки "Use metadata password" и "Run Cloudbase-Init service as LocalSystem".

    Порт логирования (Serial port for logging) выберете COM1

    Cloudbase-Init

    При завершении установки, если необходимо подготовить образ для создания копии установленной системы на другие инстансы выберите "Run Sysprep to create a generalized image. This is necessary if you plan to duplicate this instance, for example by creating a Glance image." и "Shutdown when Sysprep terminates.".

    Completed Setup

    После завершения работы Sysprep Инстанс выключится.

    После завершения работы Sysprep Инстанс выключится
  11. После выключения инстанса возможно на его основании создать образ для запуска копии системы на других инстансах. Для этого перейдите в раздел "Вычислительные ресурсы" - "Диски" и в выпадающем меню напротив диска с Windows нажмите "Управление подключениями".

    Диски

    В появившемся окне отключите диск от истанса. После отключения диска справа в выпадающем списке выберете пункт "Загрузить образ".

    Диски

    В появившемся окне введите "Название образа", выберите формат "QCOW2". Нажмите "Загрузить".

    Загрузить диск на образ

    После этого в разделе "Вычислительные ресурсы" - "Образы" появится новый образ с установленной копией системы Windows.

    Образы

    После сохранения образа служебный инстанс, а также созданные служебные диски, больше не нужны.

    Образ с операционной системой Windows для запуска в среде OpenStack готов.

    Образы

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Для реализации основных услуг и функций нашего сайта, а также для сбора данных о том, как посетители взаимодействуют с нашими сайтом, продуктами и услугами, мы применяем различные инструменты, включая файлы cookie. Нажимая «Принять», вы соглашаетесь с текущими правилами и условиями использования сайта и даете разрешение на использование этих данных. В противном случае, пожалуйста, покиньте сайт.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: