IP-KVM через QEMU

    Команда Simple-Server
    03.06.2026
    7 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    Гипервизор KVM (Kernel-based Virtual Machine) – это отдельный модуль, своеобразный менеджер виртуальной машины. Он позволяет запускать различный софт, «скрывая» от него все аппаратное обеспечение сервера. Фактически это «прокладка» между «железом» и программами, которые при такой схеме работы являются гостевыми. Зато у самого KVM есть низкоуровневый доступ ко всем ресурсам – центральному процессору, оперативной памяти, накопителям.

    В связке KVM+QEMU удобно пользоваться QEMU Monitor , текстовым интерфейсом, через который пользователь получает данные по запущенным виртуальным машинам и может менять их параметры в процессе эксплуатации.

    В паре с ним часто используют относительно «легкий» эмулятор QEMU. Он позволяет запускать операционные системы, разработанные под «другую» архитектуру. Например, решения под DOS или Windows устанавливать на устройства с процессором ARM или инсталлировать программное обеспечение, которое рассчитано на поддержку Intel VT-x/AMD SVM на устаревших процессорах, разработанных еще до появления этих технологий.

    Подключаемся к удаленному KVM

    Вариант хорош еще и тем, что доступ к графическому интерфейсу виртуальной машины работает через QEMU VNC, защищенный канал с передачей данных в зашифрованном виде. Чтобы получить его, достаточно воспользоваться штатными средствами IPMI или Intel vPro. Правда, более надежен способ с подключением внешних устройств типа IP-KVM. С ними проще исправлять критические ошибки благодаря функции KVM-over-IP, позволяющей контролировать «железо» сервера.

    1. Образ восстановления, которым восстанавливают работоспособность, является системой с полноценным функционалом.
    2. Он позволяет запускать любые категории приложений, включая виртуальные машины с предустановленной платформой Linux.
    3. В качестве дисков для виртуальной машины указывают реальные накопители сервера, где под работу автоматически резервируется часть объема.

    В операционных системах на базе Linux последние представлены блочными устройствами вида dev/sdX. С ними пользователь обращается как со стандартными файлами системы. Если использованы гипервизоры QEMU или VirtualBox, появляется возможность обращения напрямую к физическим накопителям на сервере. Правда, такой способ требует относительно больших аппаратных ресурсов, например не менее 4 ГБ оперативной памяти.

    Прежде чем появится возможность воспользоваться функцией восстановления, необходимо создать образ восстановления. Предварительно желательно обновить компоненты операционной системы и установить программное обеспечение QEMU (предпочтительно использовать в паре с аппаратной виртуализацией в режиме KVM QEMU). Рассмотрим пример на базе FreeBSD, в которой имеется пакетный менеджер Pacman.

    Последовательность действий:

    1. Ввести команду pacman -Suy – проверка обновлений ОС.
    2. Ввести команду pacman -S qemu – инсталляция модуля QEMU.

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

    Запускаем виртуальную машину

    Особенность виртуализации состоит в том, что пользователь самостоятельно выбирает количество ресурсов, выделяемых для работы виртуальной машины. Главное, чтобы значения не превышали физических параметров. Этот момент уточняется в условиях тарифов Simple-Server, где арендуется сервер. В нашем тесте выделим под ВМ 2 процессорных ядра, 2 ГБ оперативной памяти и 2 накопителя, расположенных по пути /dev/sda и /dev/sdb.

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

    qemu-system-x86_64 \ -m 2048M \ (выделить 2 ГБ оперативной памяти) -net nic -net user \ (добавить подключение через гипервизор с использованием NAT) **** -enable-kvm \ (включить полную виртуализацию KVM Linux) -cpu host,nx \ (открыть доступ ко всем ресурсам центрального процессора) -M pc \****(активировать платформу, совместимую с PC) -smp 2 \ (подключить к системе 2-ядерный виртуальный процессор) -vga std \ (выбрать «стандартную видеокарту») -drive file=/dev/sda,format=raw,index=0,media=disk \ (установить путь для диска, указать, что данные на нем лежат в «сыром» виде, включить автоматический выбор номера диска) -drive file=/dev/sdb,format=raw,index=1,media=disk \ (аналогично предыдущему пункту) -vnc :0,password \ (по умолчанию сервер будет запущен на 0.0.0.0.5900, с авторизацией по паролю) -monitor stdio (включить стандартные потоки ввода-вывода для работы администратора)

    **** Если процесс запуска прошел без сбоев, на экране компьютера отразится надпись:

    QEMU 4.0.0 monitor - type 'help' for more information (qemu)

    Перед первым подключением к виртуальной машине KVM понадобится установить пароль доступа к системе. В случае с модулем QEMU придется ограничить набор символов количеством 8, более длинные пароли программное обеспечение не поддерживает. Выполняется настройка такой командой:

    (qemu) change vnc password Password: ******

    На практике следует заменить звездочки собственной комбинацией. После сохранения изменений к серверу получится подключиться через любую утилиту для удаленного доступа, например Remmina, которая оптимальна при использовании VNC-канала. В настройках достаточно указать прямой IP-адрес и пароль для подключения к серверу. Встроенный функционал потенциально позволить увидеть все ошибки, возникающие при запуске операционной системы.

    Инсталлируем операционную систему

    В рамках подготовки сервера для создания образа для восстановления остается установить систему, на платформе которой впоследствии предстоит работать (устанавливать прикладные приложения и обрабатывать пользовательские данные). На QEMU в Linux можно установить любую, хоть Linux-совместимую, хоть Windows, смотря какие задачи предстоит решать пользователю. Оборудование вроде KN9108, 8-портового KVM Over the NET, позволит управлять минимум 8 серверами.

    Последовательность действий по установке ОС:

    1. Выделить побольше оперативной памяти, чтобы вместился создаваемый образ:

    mount -t tmpfs -o size=4G tmpfs /mnt

    2. Загрузить установочный образ операционной системы.

    wget -P /mnt ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/12.0/FreeBSD-12.0-RELEASE-amd64-bootonly.iso

    3. Запустить виртуальную машину:

    qemu-system-x86_64 \ -m 2048M \ -net nic -net user \ -enable-kvm \ -cpu host,nx \ -M pc \ -smp 2 \ -vga std \ -drive file=/dev/sda,format=raw,index=0,media=disk \ -drive file=/dev/sdb,format=raw,index=1,media=disk \ -vnc :0,password \ -monitor stdio \ -cdrom /mnt/FreeBSD-12.0-RELEASE-amd64-bootonly.iso \ -boot d

    Если теперь подключиться через VNC-клиент, пользователь увидит загрузочное меню образа. Он будет подключен как привод D согласно команде boot d. Все система готова к эксплуатации, в том числе инсталляции прикладных приложений, загрузке пользовательских данных. Примерно та же последовательность действий применяется, если система KVM ставится на Windows Server 2019 и другие платформы.

    Приведенный пример создания FreeBSD KVM Host использует минимальные ресурсы сервера, не предъявляет особых требований к арендованным мощностям (не зависит от выбранного тарифа) и одновременно представляет собой эффективное решение для управления удаленной машиной при возникновении нештатных ситуаций.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны