- Установка Windows на KVM
- Установка Windows на KVM
- Конфигурация виртуальной машины
- Управление KVM с помощью Virt-Manager на Windows
- Virt-Manager: графическая консоль управления KVM
- Установка Virt-Manager в Linux
- Управление KVM через virt-manager из Windows
- Использование Virt-Manager для управления виртуальными машинами KVM
- Типовые проблемы с Virt-Manager
- Установка Windows XP с VirtIO драйверами на KVM
Установка Windows на KVM
Установка Windows на KVM для опытных системных администраторов не составит труда. Тем не менее, в процессе развертывания ОС и создания под неё виртуальной машины могут встретиться ряд нетривиальных проблем , связанных с особенностями KVM. О них я и расскажу.
Если вам интересна тематика Debian и связанных с ним приложений, рекомендую обратиться к тегу Debian на моем блоге
Установка Windows на KVM
К настоящему моменту у меня уже есть сервер с KVM. На нем также сконфигурирована сеть и хранилище гостевых дисков. Все это я подробно расписал в своей предыдущей статье Установка гипервизора KVM.
Для создания виртуальной машины я буду использовать утилиту virt-install.
Конфигурация виртуальной машины
Есть ряд базовых параметров, без указания которых создание виртуальной машины с помощью virt-install невозможно — это имя ВМ, объем оперативной памяти, настройки диска и параметры установки. Тем не менее, для наглядности я укажу и другие опции, которые так или иначе используются не реже обязательных.
Команда для создания виртуальной машины:
- —-os-type windows — Устанавливает более подходящие аппаратные настройки для конкретной ветки ОС;
- —disk pool=guest_images — Создает виртуальные диски в данном хранилище;
- —graphics vnc,listen=0.0.0.0 — Устанавливаем тип графики. Адрес прослушки необходим, чтобы к vnc могли подключаться удаленные админы. По дефолту разрешены только локальные подключения.
Назначение остальных параметров очевидно.
Если в процессе создания виртуальной машины вы получили ошибку:
Управление KVM с помощью Virt-Manager на Windows
Гипервизор KVM идет с отличными утилитами управления для командной строки. Что касается графических программ для управления виртуальными машинами на сервер KVM, то здесь дело обстоит хуже. Под Linux стандартным средством является Virt-Manager. Давайте посмотрим, как можно использовать его под Windows.
Стандартная утилита для графического управления гостевыми системами в KVM это virt-manager, который по функционалу сравним с другими управляющими утилитами, например Hyper-V Manager, в части управления виртуальными машины на локальном или удаленном гипервизоре.
Нормальной работоспособной версии Virt-Manager или его аналога под операционную систему Windows я пока не встречал. В связи с этим в Windows необходимо использовать для графического управления KVM утилиты, обеспечивающие X11 Forwarding через протокол SSH.
В операционной системе Windows необходимо выполнить установку X Window Server, например бесплатный XMing и SSH клиент, например PuTTy .
При установке XMing оставляем все параметры по умолчанию и просто нажимаем далее. В конце установке XMing уведомит о возможности запуска в фоновом режиме. Мы с этим соглашаемся. После чего в системном трее появится значок X Window server (XMing) со следующим контекстным меню (скриншот ниже).
Далее потребуется выполнить настройку подключения по SSH через PuTTy.
В настройках PuTTy переходим в раздел Connection – SSH – X11. Далее необходимо разрешить X11 Forwarding. Скриншот ниже.
Далее можно вернуться в раздел Connection – SSH и в строке “Remote Command” указать команду автоматического запуска:
Далее можно выполнить подключение к серверу нажав кнопку “Open” и запуск virt-manager.
Если не выполнять последнюю настройку выше, то при запуске PuTTy можно ввести название нужной утилиты и нажать Enter (скриншот ниже).
Ниже представлена консоль virt-manager , подключенная к гипервизору KVM на которой развернуты две виртуальные машины на плтавформе Windows и Linux.
Если щелкнуть правой кнопкой мыши по надписи localhost (QEMU) и выбрать пункт Details , то будет отображен информация о гипервизоре. Скриншот ниже.
Если выбрать и дважды кликнуть по виртуально машине , то можно перейти к настройкам выбранной виртуальной машины (VM). Скриншот ниже.
Необходимо учитывать, что при закрытии окна Putty, сессия будет разорвана.
Virt-Manager: графическая консоль управления KVM
Virt-Manager – графическая консоль для управления виртуальными машинами KVM от компании Red Hat. С помощью Virt-Manager можно, создавать, редактировать, запускать и останавливать виртуальные машины на гипервизоре KVM. Можно выполнять настройку параметров виртуальных машин, что значительно упрощает работу по сравнению с управлением KVM из интерфейса командной строки.
В статье мы рассмотрим установку Virt-Manager на сервер с KVM, типовые задачи управления виртуальными машинами в графической консоли и покажем, как использовать virt-manager из Windows-клиента.
Установка Virt-Manager в Linux
Прежде всего нужно установить необходимые пакеты из базового репозитория на сервере с KVM (в нашем примере сервер KVM установлен на Linux CentOS). Выполните следующую команду yum (или dnf):
# yum install -y virt-manager xorg-x11-xauth liberation-sans-fonts
Чтобы удаленно подключаться к virt-manager с Windows-компьютера, нужно дополнительно настроить SSH. Откройте файл sshd_config:
Включите следующие параметры:
Перезапустите сервис sshd:
# service sshd restart
Управление KVM через virt-manager из Windows
Для удалённого подключения к virt-manager с Windows компьютера, вам понадобится следующее ПО:
- Putty – ssh клиент
- Xming – порт сервера для ОС Windows.
Скачать putty можно с официального сайта https://www.putty.org/, а Xming по ссылке https://sourceforge.net/projects/xming/
Откройте Putty, перейдите в Connection—>SSH—X11. Включите опцию “Enable X11 Forwarding“.
Теперь на вкладке Session, укажите адрес KVM сервера, имя сессии, укажите порт и сохраните подключение.
Чтобы из Windows удаленно подключаться к KVM серверу через virt-manager, используется следующий порядок:
- Сначала запускаете Xming;
- Запускаете сохраненную сессию Putty с опцией X11 Forwarding;
- Подключаетесь к virt-manager.
После включения Xming у вас в трее должен светиться значок X:
Далее запустите Putty, и после авторизации на сервере, выполните:
Через несколько секунд у вас должно открыться окно управления virt-manager и окно дополнительной авторизации, где нужно ввести данные для подключения к серверу:
После авторизации вы должны увидеть список виртуальных машин.
Использование Virt-Manager для управления виртуальными машинами KVM
Щелкнув ПКМ по виртуальной машине, вы можете выключить, перезагрузить, включить ВМ.
Далее я хочу изменить директорию для хранения файлов виртуальных машин, так как основное место на диске при установке операционной системы на сервере с KVM, я отдал под директорию VZ. Чтобы поменять стандартную директорию, перейдите в меню “Edit -> Connection Details”.
В открывшемся окне, нужно перейти во вкладку “Storage”. Для создания нового пула, нужно остановить работу текущего и после чего удалить его:
После установки пула, кнопка удаления станет активна:
Теперь можно создать пул в нужной вам директории или разделе:
После этого, у меня стал активным мой основной раздел для файлов ВМ:
Либо просто удалить первоначальную директорию и создал симлинк на нужный раздел:
# rm -rf /var/lib/libvirt/images/
# ln -s /vz/disk/ /var/lib/libvirt/images
Теперь можно попробовать создать новую виртуальную машину KVM. Ниже я прикреплю ряд скриншотов, на которых по шагам будет все более-менее понятно. В конце опишу весь процесс создания машины.
- При нажатии кнопки на первом скриншоте, запускается процесс создания новой виртуальной машины KVM;
- Затем указываем, откуда запускать установку ОС на виртуальной машине. Я использовал локальный ISO образ с дистрибутивом CentOS 8;
- Далее настраиваются ресурсы виртуальной машины: количество памяти и vCPU, размер виртуального диска (при необходимости его можно будет расширить или уменьшить), имя, и указываем сеть;
- После создания ВМ к ней сразу будет примонтирован установочный образ ОС, который указали при создании.
Чтобы изменить ресурсы или какие-то параметры уже созданной машины, вам нужно выделить ее и нажать кнопку “Open”. В открывшемся меню нажмите на лампочку и у вас откроется список параметров виртуальной машины KVM.
Чтобы добавить новый сервер KVM, выполните следующее “File -> Add Connection” и заполните данные в открывшемся окне:
Типовые проблемы с Virt-Manager
Во время изучения интерфейса virt-manager, я столкнулся с несколькими ошибками и решил описать их в статье. Первая ошибка, с которой я столкнулся, вышла на стадии создания новой виртуальной машины:
Система ругается на отсутствие файла, который скорее всего должен быть создан при установке KVM на сервер, но в моем случае он отсутствовал. Решился вопрос, созданием файла:
После этого нужно перезапустить сервис libvirtd:
# service libvirtd restart
Следующая ошибка ожидала меня сразу же на следующем шаге установки:
Чтобы решить эту проблему и возможно последующие другие, нужно установить пакет qemu-kvm-tools:
# yum install qemu-kvm-tools -y
После выполненных действий, виртуальная машина создалась без ошибок, и я смог выполнить установку гостевой операционной системы на ней.
Управлять KVM через virt-manager очень удобно. Вы значительно сократите время на выполнение рядовых операций с виртуальными машинами, а также сможете подключиться к ним из Windows.
Установка Windows XP с VirtIO драйверами на KVM
Подскажите как это правильно делать и как вообще пользоваться kvm если на сервере нет иксов и соответственно и virt-manager’а. В разной документации предлагают различные варианты и общего понимания как это все должно работать у меня пока нет
нет иксов и соответственно и virt-manager’а
virt-install и vnc.
virt-install. если в лок. сети сервер — как вывод графики юзай spice.
Берешь линукс с иксами и коннектишься с него virt-manager’ом по ssh.
Подскажите как это правильно делать и как вообще пользоваться kvm если на сервере нет иксов и соответственно и virt-manager’а.
virt-manager и не должен быть на сервере. На сервере должен быть libvirt. А virt-manager ты ставишь на клиенте и подключаешься к серверу через ssh (например). Для установки windows сразу на устройства virtio где-то был образ флопика с драйверами, погугли.
у меня на рабочем месте ШИНДОШЗ, поэтому virt-manager можно только с сервера запустить
ну это понятно 🙂 Я просто хочу какое нибудь пошаговое руководство хотя бы. Сейчас я поставил венду так:
В итоге I/O и сеть виртуализированные, VGA не распозналось. В virsh edit нифига не понятно как поменять vga с std на vmware. Ну и с паравиртуализированными драйверами тоже не понятно как теперь поступать
Перестань извращениями заниматься и используй virt-manager так, как мы с mironov_ivan советуем. И да, поставить можно на IDE, а затем поменять его на virtio. Для этого после установки системы надо в нее добавить еще один диск, на этот раз virtio, поставить на него драйверы, потушить оффтопик, удалить диск добавленный и переключить основной с IDE на virtio. Так сложно, потому что оффтопик не умеет ставить дрова на отсутствующие в системе устройства.
у меня на рабочем месте ШИНДОШЗ, поэтому virt-manager можно только с сервера запустить
Хороший повод как минимум завести виртуалку с линуксом, а как максимум — снести нахрен это непригодное для администрирования чего-либо поделие и поставить нормальную ОС.
ребята, что нужно сделать я знаю, у меня другой вопрос — как это сделать. В интернетах предлагается тысяча и одна рекомендация по этому поводу и одна другой противоречит либо просто не подходят. Для начала я хочу что бы кто нибудь рассказал как правильно ставить через virt-install и как потом править конфиг виртуалки. Неужели ни у кого нет историй успеха?
у нас тут так нельзя, к сожалению
Ну тогда остается извращаться с ssh -X
получается все поголовно пользуются virt-manager’ом и руками не настраивают? Мельчают линупсисты 🙂
получается все поголовно пользуются virt-manager’ом и руками не настраивают? Мельчают линупсисты 🙂
Глупости. Ручной труд — признаком «крупного специалиста» не был никогда. Нормальный айтишник стремится все по максимуму автоматизировать.
никакого хардкора и красноглазия
Историю успеха могу подсказать, правда, она для винфака.
Нужно собрать образ оффтопика с unattended setup, впиленными внутрь дровами virtio и скриптом автоподнятия RDP или VNC, тогда можно и virt-install’ом. А ванильный инсталлер оффтопика не подразумевает неинтерактивной работы.
Да, еще можно просунуть наружу VNC виртуалки на внешний адрес сервера и подконнектиться к нему с оффтопика. Либвирт по дефолту их биндит к локалхосту, можно ли заставить слушать на всех интерфейсах, никогда не задумывался, но в качестве говна и палок вполне сойдет ssh-туннель в putty.
Для начала я хочу что бы кто нибудь рассказал как правильно ставить через virt-install
Твой вариант вполне рабочий. Ну, то есть, я ставлю также и всё нормально.
как потом править конфиг виртуалки.
И снова да, virsh edit. Хотя я пользую dumpxml, но разницы быть не должно. И тоже всё работает. Просто не понятно, в чём проблема-то, собственно.
у меня на рабочем месте ШИНДОШЗ, поэтому virt-manager можно только с сервера запустить
Поставь X-сервер на винду [. пока это возможно. А вот как придет сделанная через жопу мечта хомячков на букву «W» — возможности не станет].
Ну и с паравиртуализированными драйверами тоже не понятно как теперь поступать
1. Ставишь на IDE
2. Добавляешь второй диск virtio
3. доставляешь дарйверы
4. меняешь первый диск на virtio
Или — ставишь два виртуальных CD, в один дистрибутив, во второй — драйверы virtio. Их в инсталлере указываешь.
ты вообще в курсе каким образом устанавливается winxp?
никогда такой ерундой раньше не занимался, а что?
ок, это понятно. Как это сделать без virt-manager’а?
И снова да, virsh edit. Хотя я пользую dumpxml, но разницы быть не должно. И тоже всё работает. Просто не понятно, в чём проблема-то, собственно.
я так и не раскурил как в virsh edit поменять vga std на vga vmware например
1. Собрать с помощью nlite winxp и интегрировать дрова.
Взять оттуда http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/
2. WinXP может подгрузить дрова только с floppy, тогда скачать vfd образ https://launchpad.net/kvm-guest-drivers-windows/ download
подключить vfd (https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6. ), как floppy и в процессе установки нажать f6 и выбрать драйвер.
Лень сделать вариант 1, поэтому использую вариант 2.
Создать машину virsh’ем, просунуть VNC наружу и дальше все как в virt-manager’е.
Пробовал — выглядит страшно.
Я просто виртуалку поднял в virtualbox с debian minimal с xfce и там уже virt-manager установил, хоть выглядит не как говно.
Ну ТСу запретили видимо в конторе так делать, иначе бы точно не искал приключений на свою пятую точку