Kvm установка windows server 2019

Windows Server и KVM на Linux

Сегодня постараюсь описать все трудности в пути установки операционной системы (ОС) семейства Windows (а конкретнее Windows Server 2008 R2) на виртуальную машину KVM (используется qemu-kvm) в ОС Linux (а именно Debian 7)

Сложностей с установкой kvm возникнуть не должно

Далее необходимо скопировать установочный образ операционной системы куда-нибудь на диск. К примеру можно скопировать в

sudo dd if=/dev/cdrom of=Window_Server_2008_R2.iso

Самое необходимое: скачайте драйвера virtio, без них установка будет очень-очень долгой.

Затем создадим папку для файлов виртуального жёсткого диска

И сам файл виртуального жёсткого диска, где 25G — его размер

qemu-img create -f qcow2 WIN2K8R2.qcow2 25G

и самое главное — запуск самой виртуальной машины.

qemu-system-x86_64 —enable-kvm -m 2048 -boot d -drive file=WIN2K8R2.qcow2,if=virtio -cdrom Win2K8X64R2Ent.iso -drive file=virtio-win-drivers-20120712-1.iso,media=cdrom -net nic,model=virtio -net user

, где -m 2048 — объём оперативной памяти для неё, WIN2K8R2.qcow2 — файл виртуального жёсткого диска, созданного ранее, if=virtio — источник драйверов для подключения жёсткого диска к виртуальной машине, Win2K8X64R2Ent.iso — образ операционной системы.

К сожалению, мне пришлось подключаться к удалённому рабочему столу, потому что по ssh установить Windows не удавалось, система требовала графический интерфейс.

Для запуска qemu под юзером производим следующие шаги:

Редактируем /etc/libvirt/qemu.conf, чтобы виртуальные машины работали у нас от непривилегированного пользователя:

user = «username»
group = «libvirt»

Поскольку у нас будут использоваться tun-устройства, нужно выставить capability CAP_NET_ADMIN, сделать это можно как для отдельного исполняемого файла, так и для пользователя в целом, или настроить чтобы libvirt не сбрасывал нужные права для qemu/kvm.

Выставляем для отдельного файла:

sudo setcap cap_net_admin=ei /usr/bin/kvm

Или выставляем для пользователя в целом в файле /etc/security/capability.conf:

Или выставляем соответствующую настройку в /etc/libvirt/qemu.conf:

Добавим пользователя в группу libvirt и kvm:

# adduser username libvirt

Установка Windows Server проста до безобразия, если знать когда подсунуть файлы драйверов для жёсткого диска.

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

  • Нажимаем Install
  • Выбираем тип ОС
  • Соглашаемся с лицензионным соглашением
  • Выбираем Полная установка
  • Щёлкаем по ‘Загрузить драйвер’
  • Обзор
  • Выбираем диск с драйверами Virtio. дисков должно быть два: один с Windows, другой — с драйверами.
  • Выбираем ‘Virtio Drivers’ => STORAGE => SERVER2008R2 => AMD64
  • OK
  • Драйвер ‘Red Hat VirtIO SCSI controller’ будет выбран. Если его не видно, значит что то пошло не так 🙁
  • Жмакаем Далее. Драйвер загрузится и вернёт на экран выбора дисков для установки ОС. Если размер не меняли, то там будет 25 Гб.
  • Щёлкаем на пустом диске и жмём Далее. Всё. Установка идёт стандартным путём.

Единственная трудность случилась в конце установки, когда нужно придумать пароль для учётной записи администратора. Через RDP почему то не печатались иностранные символы, пришлось воспользоваться экранной клавиатурой.

Потребление памяти и утилизация процессора в пределах нормы и не превышала пары процентов при простое системы. Проц — Celeron G1620 🙂

Теперь осталось пробросить эту машину во внешку и подключится к ней по RDP, минуя RDP хостовой системы. Это пока не решено.

Читайте также:  Samsung windows phone gt i8350 прошивка

QEMU/KVM и установка Windows

Хотим мы того или нет, но программы, для которых необходима Windows, никуда из офисов не исчезли. В ситуации, когда их использование безальтернативно, лучше иметь виртуальную ОС, например для того, чтобы подключиться к аудио-конференции через Skype for Business.

В этой статье я расскажу, как можно с минимальными издержками установить гостевую ОС Windows на гипервизоре QEMU с помощью графического интерфейса virt-manager . Мы нанесем на карту все подводные камни и рифы, а жучков аккуратно посадим в банку.

Подготовка

Самый первый шаг — настройка параметров ядра. Обязательна поддержка KVM и vhost-net , желательна поддержка туннельных интерфейсов [1] и сетевого моста [2] . Полный список на Gentoo вики-странице QEMU.

Подготовьте дисковое пространство. Я выделил 70 GiB, и Windows 8.1 за пару месяцев использовала почти 50 GiB так, что для обновления до 10-й версии места на диске не хватило.

Далее, нам понадобится набор редхатовских драйверов virtio-win . Если у вас установлен RedHat, достаточно запустить

и образ iso будет записан в каталог /usr/share/virtio-win/ . Также можно его скачать с репозитариев Fedora.
Убедитесь, что поддержка аппаратной виртуализация включена в BIOS/UEFI. Без этого KVM не будет активирован, а virt-manager выдаст вот такую ошибку.

В качестве проверки можно прочитать файл устройства.

Если файл не обнаружен, а опции ядра выставлены верно, значит дело в настройках BIOS/UEFI .
Устанавливаем нужные пакеты.

Для RedHat 7 достаточно установить только virt-manager , так как QEMU устанавливается по умолчанию.

Дебианщикам надо установить пакет qemu .

Можно теперь переходить к установке.

Запуск и инсталляция

Запускаем virt-manager и создаем новую виртуальную машину из локального хранилища.

Указываем путь к установочному iso образу Windows.

Далее, на 3-м и 4-м шаге будет выбор количества CPU, объем RAM и размер дискового пространства, после чего на 5-м шаге следует выбрать дополнительные конфигурации перед настройкой.

Окно дополнительных настроек нужно для того, чтобы выполнить финт ушами. Его смысл в том, чтобы добавить виртуальный флопарь с драйверами из набора virtio-win . Это даст возможность изменить тип жесткого диска: удалить диск с шиной IDE и добавить его же, но с шиной VirtIO. Подробно, в доках RedHat.

Прописываем драйвер /usr/share/virtio-win/virtio-win.vfd и добавляем виртуальный флоппи-диск. Затем переходим на вкладку [Шина] Диск № и проделываем финт с заменой шины диска: удаляем с IDE и добавляем с VirtIO.

Чуть не забыл сказать, для чего нужен этот фокус. Специалисты утверждают, что с шиной VirtIO, производительность диска ощутимо выше.

В принципе, уже можно начинать инсталляцию, но мы забыли добавить CD-ROM с драйверами virtio-win , а они нам пригодятся, когда диспетчер устройств засверкает желтыми иконками вопросительного знака.

Ну вот теперь можно начать установку.

Ну хорошо, начали мы установку. А что, если установщик Windows попросит сменить диск? Мне из-за этого пришлось пару раз прервать и начать всю карусель заново, но с вами такого уже не случится.

Драйвера и доводка

По окончанию процесса установки диспетчер устройств недосчитается некоторых драйверов. Предположительно, это могут быть:

Нужно скормить им драйвера из набора virtio-win , что подключены через IDE CD-ROM в предыдущем разделе.

Читайте также:  Vmware fusion устанавливаем windows

Делается это стандартно: правой кнопкой на желтый знак вопроса, обновить драйвера, путь к файлам.

Вот весь список, а это соседняя страница RedHat доков, где установка драйверов показана подробнее.

  • Balloon, the balloon driver, affects the PCI standard RAM Controller in the System devices group.
  • vioserial, the serial driver, affects the PCI Simple Communication Controller in the System devices group.
  • NetKVM, the network driver, affects the Network adapters group. This driver is only available if a virtio NIC is configured. Configurable parameters for this driver are documented in Appendix E, NetKVM Driver Parameters.
  • viostor, the block driver, affects the Disk drives group. This driver is only available if a virtio disk is configured.

Оборудование

Тут постепенно начинается область безграничных возможностей и 101 способов сделать по-своему, поэтому я покажу, как это работает у меня, а вы можете настроить более точно под свои нужды.

У меня выбран дисплей Сервер Spice и звуковое устройство ich6 . Нет, конечно, если у вас уйма времени и желание во всем разобраться до самых тонкостей — дерзайте и пробуйте альтернативные подходы, но у меня звук взлетел, вернее завибрировал, только с такими настройками. Во второй части, посвященной прогулке по граблям и отлову багов, я расскажу об этом подробнее. В закладке видео я выставил QXL , ибо с этой опцией, благодаря волшебному драйверу, мне удалось добиться нормального разрешения экрана.

Подключаться к ВМ можно разнообразно.

  1. Через графический интерфейс virt-manager
  2. Выбрать дисплей VNC-сервер и подключаться через vnc-клиента
  3. Установить Spice-клиента и подключаться через него
  4. К Windows можно подключиться через rdp, если включен терминальный сервер

У меня вариант 3, для Gentoo это программа spice-gtk

Сеть для ВМ можно настроить по-разному, на Хабре умельцы уже об этом писали. Я перепробовал несколько способов, и в конце простота опять взяла вверх. Сама ВМ запускается из под рута [3] , но графический интерфейс spice-gtk — из под обычного непривилегированного пользователя. Это позволяет решить дилемму: для сетевых опций нужны права рута, а для звукового демона pulseaudio, рут запрещен. Я пробовал навешать все права на обычного пользователя, но ничего не получалось, то pulse не пульсирует, то сеть не создается, там много а тут мало. В итоге решил так и доволен. Буду рад, если в комментариях будет найден лучший способ.

Такой простой выбор сетевых опций дает результат превосходящий ожидания. Создаются 3 дополнительных сетевых интерфейса: virbr0, virbr0-nic, vnet0.

В iptables создается свод правил, вот основные:

Повторяю, все это libvirtd создает сам, ничего для этого делать не надо. В результате имеем нормальный роутинг между хостом и ВМ, можно обмениваться файлами по ssh / scp . Можно пойти дальше и создать шару на Windows, а на Linux хосте настроить samba, но мне это показалось избыточным.

В завершение

Трудно рассказать в одной статье обо всех аспектах Windows + QEMU/KVM, поэтому завершим в следующей. А там будет самый смак, командный интерфейс, разрешение экрана максимум 1024×768, Сцилла pulseaudio и Харибда сети, команда virsh и настройка ВМ из конфиг файла, фейл с tpm , двоичный синтаксис устройств и прочие тихие радости.

Читайте также:  Линукс раздача вай фай

  1. ↑TUN/TAP interfaces
  2. ↑Ethernet bridging
  3. ↑От английского root

Windows Server и KVM на Linux

Сегодня постараюсь описать все трудности в пути установки операционной системы (ОС) семейства Windows (а конкретнее Windows Server 2008 R2) на виртуальную машину KVM (используется qemu-kvm) в ОС Linux (а именно Debian 7)

Сложностей с установкой kvm возникнуть не должно

Далее необходимо скопировать установочный образ операционной системы куда-нибудь на диск. К примеру можно скопировать в

sudo dd if=/dev/cdrom of=Window_Server_2008_R2.iso

Самое необходимое: скачайте драйвера virtio, без них установка будет очень-очень долгой.

Затем создадим папку для файлов виртуального жёсткого диска

И сам файл виртуального жёсткого диска, где 25G — его размер

qemu-img create -f qcow2 WIN2K8R2.qcow2 25G

и самое главное — запуск самой виртуальной машины.

qemu-system-x86_64 —enable-kvm -m 2048 -boot d -drive file=WIN2K8R2.qcow2,if=virtio -cdrom Win2K8X64R2Ent.iso -drive file=virtio-win-drivers-20120712-1.iso,media=cdrom -net nic,model=virtio -net user

, где -m 2048 — объём оперативной памяти для неё, WIN2K8R2.qcow2 — файл виртуального жёсткого диска, созданного ранее, if=virtio — источник драйверов для подключения жёсткого диска к виртуальной машине, Win2K8X64R2Ent.iso — образ операционной системы.

К сожалению, мне пришлось подключаться к удалённому рабочему столу, потому что по ssh установить Windows не удавалось, система требовала графический интерфейс.

Для запуска qemu под юзером производим следующие шаги:

Редактируем /etc/libvirt/qemu.conf, чтобы виртуальные машины работали у нас от непривилегированного пользователя:

user = «username»
group = «libvirt»

Поскольку у нас будут использоваться tun-устройства, нужно выставить capability CAP_NET_ADMIN, сделать это можно как для отдельного исполняемого файла, так и для пользователя в целом, или настроить чтобы libvirt не сбрасывал нужные права для qemu/kvm.

Выставляем для отдельного файла:

sudo setcap cap_net_admin=ei /usr/bin/kvm

Или выставляем для пользователя в целом в файле /etc/security/capability.conf:

Или выставляем соответствующую настройку в /etc/libvirt/qemu.conf:

Добавим пользователя в группу libvirt и kvm:

# adduser username libvirt

Установка Windows Server проста до безобразия, если знать когда подсунуть файлы драйверов для жёсткого диска.

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

  • Нажимаем Install
  • Выбираем тип ОС
  • Соглашаемся с лицензионным соглашением
  • Выбираем Полная установка
  • Щёлкаем по ‘Загрузить драйвер’
  • Обзор
  • Выбираем диск с драйверами Virtio. дисков должно быть два: один с Windows, другой — с драйверами.
  • Выбираем ‘Virtio Drivers’ => STORAGE => SERVER2008R2 => AMD64
  • OK
  • Драйвер ‘Red Hat VirtIO SCSI controller’ будет выбран. Если его не видно, значит что то пошло не так 🙁
  • Жмакаем Далее. Драйвер загрузится и вернёт на экран выбора дисков для установки ОС. Если размер не меняли, то там будет 25 Гб.
  • Щёлкаем на пустом диске и жмём Далее. Всё. Установка идёт стандартным путём.

Единственная трудность случилась в конце установки, когда нужно придумать пароль для учётной записи администратора. Через RDP почему то не печатались иностранные символы, пришлось воспользоваться экранной клавиатурой.

Потребление памяти и утилизация процессора в пределах нормы и не превышала пары процентов при простое системы. Проц — Celeron G1620 🙂

Теперь осталось пробросить эту машину во внешку и подключится к ней по RDP, минуя RDP хостовой системы. Это пока не решено.

Оцените статью