Установка Windows Server на OpenStack с использованием VirtIO-драйверов
При установке Windows в OpenStack ВМ не видит диск.
Установка Windows с VirtIO-драйверами
-
Скачайте ISO с VirtIO-драйверами:
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso -
Скачайте ISO образ Windows Server
Любой образ Windows Server подойдёт.
Подготовьте ISO с драйверами (2 варианта):
-
Вариант A: классический способ
-
Распакуйте
virtio-win.iso
в пустую папку, для примера назовем ее ..\drivers -
С помощью PowerISO или UltraISO добавьте эту папку в образ Windows
-
Сохраните новый ISO образ
-
-
Вариант B: упрощённый способ
-
Не изменяйте образ Windows
-
Просто подключите два CD-ROM:
-
один с Windows
-
второй с
virtio-win.iso
-
-
Создаём виртуальную машину через nova boot
Команда с образом Windows + драйверами + жёстким диском:
nova boot --flavor <ID_FLAVOR> --nic net-id=<ID_СЕТИ> --block-device dest=volume,bus=virtio,device=/dev/vda,size=<РАЗМЕР_ДИСКА>,bootindex=1 --block-device source=image,id=<ID_ISO_WINDOWS>,dest=volume,bus=ide,device=/dev/hda,size=<РАЗМЕР>,type=cdrom,bootindex=0 --block-device source=image,id=<ID_VIRTIO_ISO>,dest=volume,bus=ide,device=/dev/hdc,size=1,type=cdrom,bootindex=2 WinVM
bus=virtio
— для основного дискаbus=ide
— для CD-ROM, чтобы Windows могла их прочитатьbootindex
управляет порядком загрузки
Установка Windows
-
Открой консоль ВМ через OpenStack Dashboard
-
Дождись загрузки установщика Windows
-
Дойди до шага выбора диска
-
Нажми "Загрузить драйвер" → Обзор
-
Укажи путь:
virtio-win/amd64/
→ подходящая версия Windows → ОК -
После загрузки драйвера — продолжай установку Windows
Альтернатива: два CD-ROM, диск подключаем после установки драйвера
Если диск не подключается сразу, можно сначала создать ВМ только с ISO Windows и virtio-win, а затем:
-
Установить Windows, вручную загрузив драйвера
-
Остановить ВМ
-
Подключить основной диск с
bus=virtio
(Если UEFI+ q35 используются, то шина должна быть SATA) -
Запустить ВМ — диск должен определиться
Пример команды с двумя CD-ROM:
nova boot --flavor <FLAVOR_ID> --nic net-id=<NETWORK_ID> --block-device source=image,id=<WINDOWS_ISO_ID>,dest=volume,bus=ide,device=/dev/hda,size=7,type=cdrom,bootindex=0 --block-device source=image,id=<VIRTIO_ISO_ID>,dest=volume,bus=ide,device=/dev/hdc,size=1,type=cdrom,bootindex=1 win_install
Пример через openstack server create
(CLI):
openstack server create --image <WINDOWS_ISO_ID> --network <NETWORK_NAME> --flavor <FLAVOR_NAME> --block-device uuid=<WINDOWS_ISO_ID>,source_type=image,disk_bus=sata,device_type=cdrom,volume_size=7 win_vm