Гостевой агент не запущен proxmox windows

18.07.2021

18.07.2021

Proxmox

Сегодня расскажу как подключить на виртуальную машину (ВМ) в Proxmox утилиту qemu-guest-agent для просмотра IP-адреса через WEB-интерфейс и правильной завершении работы ВМ.

Что такое qemu-guest-agent

qemu-guest-agent — это вспомогательный демон, который устанавливается в гостевой системе. Он используется для обмена информацией между хостом и гостем, а также для выполнения команды в госте.

В Proxmox VE qemu-guest-agent используется в основном для двух вещей:

  1. Чтобы правильно завершить работу гостя, вместо того чтобы полагаться на команды ACPI или политики Windows
  2. Чтобы заморозить гостевую файловую систему при создании резервной копии (в Windows используйте службу теневого копирования томов VSS).

Установка qemu-guest-agent

На Proxmox

Вы должны установить гостевой агент в каждой виртуальной машине, а затем включить его, вы можете сделать это в веб-интерфейсе Proxmox VE (GUI).

Активируем qemu-guest-agent в Proxmox

или через CLI:

qm set VMID --agent 1

На Linux VM

В Linux вам нужно просто установить пакет qemu-guest-agent.

Здесь мы покажем команды для систем на базе Debian/Ubuntu и Redhat:

В системах на Debian/Ubuntu выполняем следующие команды:

sudo apt install qemu-guest-agent

На системах на базе Redhat:

yum install qemu-guest-agent

На Windows VM

Сначала вы должны скачать драйвер virtio-win iso (см. Windows VirtIO Drivers).

Затем установите драйвер virtio-serial:

  1. Прикрепите ISO к виртуальной машине Windows (virtio-*.iso)
  2. Перейдите в Диспетчер устройств Windows
  3. Найдите «PCI Simple Communications Controller«
  4. Щелкните правой кнопкой мыши -> Обновить драйвер и выберите на смонтированном iso DRIVE:vioserial<OSVERSION> where <OSVERSION> is your Windows Version — ваша версия Windows (например, W7 для Windows 7)

После этого необходимо установить qemu-guest-agent:

  1. Перейти к смонтированному ISO в проводнике
  2. Установщик гостевого агента находится в каталоге гостевой агент
  3. Запустите установщик двойным щелчком (либо qemu-ga-x86_64.msi (64-разрядная версия), либо qemu-ga-i386.msi (32-разрядная версия)

После этого qemu-guest-agent должен быть запущен. 

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

Настройка qemu-guest-agent в Linux

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

sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent

Проверка того, что связь с гостевым агентом работает

Связь с гостевым агентом происходит через сокет unix, расположенный в /var/run/qemu-server/<my_vmid>.qga Вы можете проверить связь агента qm в proxmox:

qm agent <vmid> ping 

если qemu-guest-agent правильно запущен в виртуальной машине, он выдаст пустое сообщения.

Если есть вопросы, то пишем в комментариях.

Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо!!!

RSS

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

3.3
3
голоса

Рейтинг статьи

  • #9

I’m still searching for a fix for the Windows agent for Proxmox. Any updates to the instructions on how to make this work for WIndows VMs? (or is Windows just not widely supported?)

Did you ever get anywhere with this? I’m in a similar situation.

  • #17

Figured it out!

The drivers are controlled by your VM options:

  1. Hardware -> Memory -> Ballooning Device = Windows VirtIO Ballon Driver
  2. Options -> QEMU Guest Agent = Windows VirtIO Serial Driver

The need to be set before you boot the VM and install the drivers. If you enable either of these after you have installed the drivers, you nned to go the device manager and make that the devices are there and install the drivers if necessary.

I wish that the QEMU Guest Agent was enabled as this is the biggest issue newbs like me have starting out.

Once you have the VirtIO Ballon Driver and Virt IO Serial driver installed, then install the QEMU Guest agent and you are ready to roll.

You need to see these drivers

1634775701448.png

Last edited: Oct 21, 2021

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

1. Ballooning

Для эффективного использования ресурсов Proxmox поддерживает технологию ballooning.
Ballooning – это динамическое управление памятью. Другими словами, вы прописываете в настройках виртуальной машины минимальный и максимальный объем памяти, выделяемой этой машине, а далее Proxmox сам распределяет необходимые ресурсы. Таким образом уменьшается влияние гостевой системы на весь хост.

Для начала выставим желательные параметры в настройках машины.

Чтобы их применить, машину нужно выключить и включить обратно.

Чтобы ballooning заработал, нам потребуется скачать и установить дополнительные драйвера.

Скачать их можно по адресу: https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/

Стабильная версия драйверов: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso

Перейдем на гостевую систему и создадим каталог Balloon в папке Program files  (c:/ Program files /Balloon). В эту папку со скачанного диска нужно скопировать драйвера для вашей операционной системы.

В  диспетчере устройств появится новое оборудование и на него нужно установить эти драйверы.

После этого необходимо установить ballooning как службу.

Win + X, Выполнить, cmd

cd /
cd Program Files/Balloon
blnsrv -i

Проверяем:

Win + X, Выполнить, services.msc

Выделение памяти теперь работает коректно.

2. QEMU Guest agent

Следующее что нужно сделать – установить QEMU Guest agent. Без этого не будет работать поддержка VSS (Volume Shadow Copy Service) т.е. служба теневого копирования тома.

В настройках виртуальной машины включим агента. Чтобы настройки применились – выключим и включим снова данную виртуальную машину.

У нас  появилось новое устройство:

Драйверы находятся на том же диске в папке vioserial

Устанавливаем и проверяем, что QEMU Guest agent запущен в сервисах.

QEMU Guest Agent — это программа-демон, которая устанавливается на ВМ. QEMU Guest Agent обеспечивает выполнение команд на ВМ и обмен информацией между ВМ и узлом кластера.

VMmanager использует QEMU Guest Agent чтобы изменять сетевые настройки ВМ без перезагрузки. Если QEMU Guest Agent недоступен для платформы в течение пяти минут, VMmanager перезагрузит ВМ для применения настроек.

Чтобы управлять ВМ с ОС CentOS, в QEMU Guest Agent должна быть включена функция guest-exec.

Чтобы избежать незапланированного перезапуска ВМ, вы можете проверить статус QEMU Guest Agent перед изменением настроек. Это можно сделать на ВМ или узле кластера.

Диагностика на ВМ


  1. Подключитесь к ВМ по SSH.

  2. Определите статус QEMU Guest Agent:

    systemctl status qemu-guest-agent

    CODE

    Примеры ответов:

    QEMU Guest Agent запущен

    ● qemu-guest-agent.service - QEMU Guest Agent
       Loaded: loaded (/usr/lib/systemd/system/qemu-guest-agent.service; enabled; vendor preset: enabled)
       Active: active (running) since Вт 2021-08-10 05:25:54 UTC; 1 weeks 3 days ago

    CODE

    QEMU Guest Agent остановлен

    ● qemu-guest-agent.service - QEMU Guest Agent
       Loaded: loaded (/usr/lib/systemd/system/qemu-guest-agent.service; enabled; vendor preset: enabled)
       Active: inactive (dead) since Пт 2021-08-20 06:27:16 UTC; 2s ag

    CODE

    QEMU Guest Agent не установлен

    Unit qemu-guest-agent.service could not be found.

    CODE

Диагностика на узле кластера


  1. Подключитесь к узлу кластера по SSH.
  2. Определите статус QEMU Guest Agent:

    virsh qemu-agent-command <vm_id>_<vm_name> '{"execute": "guest-info", "arguments": {}}'

    CODE

     Пояснения к команде

    <vm_id>_<vm_name> — имя файла ВМ, содержащее id и имя ВМ. Например, для ВМ с id 12 и именем test-vm имя файла должно быть 12_test_vm

    Если QEMU Guest Agent запущен, вы получите ответ вида:

    Фрагмент ответа в JSON

    {"return":{"version":"2.12.0","supported_commands":[{"enabled":true,"name":"guest-get-osinfo","success-response":true}

    CODE

    Если QEMU Guest Agent не запущен или остановлен, вы получите ответ вида:

    ошибка: Guest agent is not responding: QEMU guest agent is not connected

    CODE

  3. Для ВМ с ОС CentOS определите статус функции guest-exec: 

    virsh qemu-agent-command <vm_id>_<vm_name> '{"execute":"guest-info"}' --pretty | grep -B1 "guest-exec"

    BASH

     Пояснения к команде

    <vm_id>_<vm_name> — имя файла ВМ, содержащее id и имя ВМ. Например, для ВМ с id 12 и именем test-vm имя файла должно быть 12_test_vm

    Фрагмент ответа, если функция включена

    "enabled": true,
    "name": "guest-exec",

    CODE

    Фрагмент ответа, если функция выключена

    "enabled": false,
    "name": "guest-exec",

    CODE

Восстановление работы


Если QEMU Guest Agent не установлен

  1. Подключитесь к ВМ по SSH.
  2. Установите QEMU Guest Agent:

    ОС CentOS

    yum install qemu-guest-agent

    CODE

    ОС Debian, Ubuntu

    apt install qemu-guest-agent

    CODE

  3. Добавьте QEMU Guest Agent в автозагрузку:

    systemctl enable --now qemu-guest-agent

    CODE

  4. Проверьте статус QEMU Guest Agent:

    systemctl status qemu-guest-agent

    CODE

  5. Проверьте статус службы SELinux:

    Если статус отличается от disable:

    1. Отключите SELinux. Для этого замените в файле /etc/selinux/config строку

      на

    2. Перезагрузите ВМ.
  6. Если в файле /etc/sysconfig/qemu-ga есть строка вида

    BLACKLIST_RPC=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush,guest-exec,guest-exec-status

    CODE

    1. Закомментируйте или удалите эту строку.
    2. Перезапустите QEMU Guest Agent:

      systemctl restart qemu-guest-agent

      CODE

Если QEMU Guest Agent остановлен

  1. Подключитесь к ВМ по SSH.
  2. Запустите QEMU Guest Agent:

    systemctl start qemu-guest-agent

    CODE

Если функция guest-exec отключена

  1. Подключитесь к ВМ по SSH.
  2. Выполните команду: 

    sed -i '/BLACKLIST_RPC=/cBLACKLIST_RPC=' /etc/sysconfig/qemu-ga

    BASH

  3. Перезапустите QEMU Guest Agent: 

    systemctl restart qemu-guest-agent

    CODE

В этой статье я покажу тонкости установки Windows 10 в среде виртуализации от ProxMox. Основное внимание будет уделено Virtio драйверам.

Создание виртуальной машины

Про ProxMox VE я уже писал:

  • Что такое Proxmox VE?
  • Установка Proxmox VE 6.3

Для того чтобы создать новую виртуальную машины для Windows 10, заходим в Web-интерфейс управления ProxMox VE и нажимаем кнопку “Create VM“:

ProxMox VE. Создание виртуальной машины. Нажимаем Create VM

ProxMox VE. Создание виртуальной машины. Нажимаем Create VM

Во-первых придумаем имя для виртуальной машины:

ProxMox VE. Придумываем имя для виртуальной машины

ProxMox VE. Придумываем имя для виртуальной машины

Выберем хранилище на котором лежит нужный образ (iso). Затем выбираем сам образ. Меняем тип гостевой ОС и её подтип:

ProxMox VE. Настройка гостевой ОС

ProxMox VE. Настройка гостевой ОС

Настроим систему, а именно поставим галочку Qemu Agent (дальше нужно будет установить агента в ОС). А для контролера выбирайте VirtIO SCSI, хотя он и так используется по умолчанию:

ProxMox VE. Настройка системы

ProxMox VE. Настройка системы

А потом настроим жёсткий диск для виртуальном машины – я использую SCSI (по умолчанию используется IDE). А также нужно выбрать хранилище для жесткого диска и его размер:

ProxMox VE. Настройка жесткого диска

ProxMox VE. Настройка жесткого диска

Настроим процессор для виртуальной машины (укажите количество виртуальных ядер):

ProxMox VE. Настройка жесткого диска

ProxMox VE. Настройка жесткого диска

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

ProxMox VE. Настройка RAM

ProxMox VE. Настройка RAM

Настроим сетевую карту, я снова использую VirtIO устройство:

ProxMox VE. Настройка сетевой карты

ProxMox VE. Настройка сетевой карты

В итоге, после всех настроек, нажмём кнопку “Finish“:

ProxMox VE. Заканчиваем создание виртуальной машины

ProxMox VE. Заканчиваем создание виртуальной машины

После того, как мы создали виртуальную машину, добавим ей ещё один привод (CD/DVD Drive). Его будем использовать для того, чтобы подключить ещё один образа с VirtIO драйверами:

ProxMox VE. Создаём дополнительный привод

ProxMox VE. Создаём дополнительный привод

И подключим в новый привод образ с VirtIO драйверами:

ProxMox VE. Подключаем образ с VirtIO драйверами

ProxMox VE. Подключаем образ с VirtIO драйверами

Если у вас ещё нет образа с VirtIO драйверами, то вы можете скачать их от сюда.

А также, почитать про VirtIO драйверы можно в wiki от ProxMox – здесь.

Прежде чем двигаться дальше посмотрим ещё раз на виртуальное оборудование нашей виртуальной машины:

ProxMox VE. Виртуальное оборудование для Windows

ProxMox VE. Виртуальное оборудование для Windows

Установка гостевой ОС

Чтобы запустить виртуальную машину, нажмите кнопку “Start“. Затем, чтобы открыть консоль, нажмите кнопку “Console“:

ProxMox VE. Запуск виртуальной машины

ProxMox VE. Запуск виртуальной машины

Начнётся процесс установки Windows 10:

Старт установки Windows 10

Старт установки Windows 10

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

Не виден жесткий диск для установки Windows 10, так как нет Virtio драйверов

Не виден жесткий диск для установки Windows 10, так как нет Virtio драйверов

Нажимаем кнопку “Загрузить“:

Загрузка драйверов Virtio

Загрузка драйверов Virtio

На диске с VirtIO драйверами ищем каталог /amd64/w10/:

Поиск драйвера для Virtio SCSI

Поиск драйвера для Virtio SCSI

И устанавливаем найденный драйвер:

Установка драйвера для VirtIO SCSI

Установка драйвера для VirtIO SCSI

После установки диск в системе должен определиться:

После загрузки драйвера диск виден

После загрузки драйвера диск виден

Дальше на найденный диск устанавливаем систему как обычно.

После установки, когда система начнет первоначальную настройку, нажимаем кнопку “У меня нет Интернета“. Это необходимо, так как драйвер VirtIO для сетевого интерфейса мы сможем установить только после первоначальной настройки:

Так как в системе ещё нет драйвера VirtIO для сетевой карты, нажимаем "У меня нет Интернета"

Так как в системе ещё нет драйвера VirtIO для сетевой карты, нажимаем “У меня нет Интернета”

Установка дополнительных VirtIO драйверов

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

Windows 10. Запуск оснастки "Диспетчер устройств"

Windows 10. Запуск оснастки “Диспетчер устройств”

Видим неизвестные устройства:

Windows 10. Неизвестные устройства, которым нужны драйвера

Windows 10. Неизвестные устройства, которым нужны драйвера

Нужно для каждого такого устройства установить драйвер с образа диска для VirtIO драйверов. Для этого нажимаем правой кнопкой мышки по устройству и выбираем “Обновить драйвер“:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

Затем выбираем пункт меню “Выполнить поиск драйверов на этом компьютере“:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

Дальше нажимаем кнопку “Обзор“:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

И указываем диск с VirtIO драйверами:

Обновление драйвера в Диспетчере устройств

Обновление драйвера в Диспетчере устройств

Здесь уже искать драйвера не обязательно, главное указать диск.

Таким образом устанавливаете все остальные драйвера:

Сетевой адаптер
COM порт
Balloon устройство

И в самом конце установим VirtIO Агента с этого же образа диска. Для этого на диске ищем каталог guest-agent а в нем запускаем установщик:

Установщик Qemu Агента

Установщик Qemu Агента

После проделанного вы можете выполнять дополнительные настройки, например:

  • настроить сеть;
  • изменить имя компьютера или ввести систему в домен;
  • обновить систему;
  • установить дополнительное ПО;
  • и другое.

Итог

В этой статье я показал что в среде виртуализации ProxMox используется специальное VirtIO оборудование и для его использования в Windows нужно устанавливать специальные VirtIO драйвера. Дополнительно в систему можно установить агента (Qemu-guest-agent), чтобы гипервизор получал некоторые сведенья о гостевой системе, например ip-адреса.

Ну а в Linux поддержка VirtIO оборудования уже встроена в ядро. Хотя агента всё-таки придется установить, например таким способом:

# apt-get install qemu-guest-agent
Или
#yum install qemu-guest-agent

Спасибо за внимание!

Сводка

Установка Windows 10 на ProxMox VE 6

Имя статьи

Установка Windows 10 на ProxMox VE 6

Описание

В этой статье я покажу тонкости установки Windows 10 в среде виртуализации от ProxMox. Основное внимание будет уделено Virtio драйверам

Описываю оптимальную, на мой взгляд, установку Windows 2008R2:

  1. В режиме просмотра по хранилищам, в хранилище «local» ноды, на которой
    создается VM необходимо загрузить установочный образ W2008R2 и актуальный
    стабильный
    образ
    virtio-win drivers

  2. В правом верхнем углу интерфейса жмем кнопку «Создать VM»

  3. Попадаем на первую вкладку мастера — задаем VM ID, имя машины, ставим
    галку агента:

  4. Выбираем,загруженный на шаге 1, образ
    диска с Windows и тип операционной системы

  5. Далее
    создаем/подключаем образ диска VM (я использовал iSCSI таргет, вы можете
    указать хранилище и размер создаваемого образа). Обратите внимание на тип
    шины и птицу нет резервных копий.

  6. Указываем тип и количество сокетов/ядер процессора (по умолчанию «KVM64» —
    самый совместимый, я выбираю «host»), обращаю внимание на птицу NUMA, если
    ядер больше 1

  7. Настраиваем память: можно использовать динамическое выделение — для этого
    указать верхнюю и нижнюю границы

  8. Настраиваем сеть — обратите внимание на тип интерфейса

  9. Проверяем сводные характеристики VM, при необходимости правим на
    соответствующих вкладках

  10. Переключаемся в режим просмотра по серверам, становимся на новосозданную
    VM и заходим во вкладку оборудование, жмем кнопку
    «Добавить»->»CD/DVD»

  11. В процессе создания привода выбираем образ virtio-win

  12. Запускаем VM

  13. Переходим во вкладку «Консоль»

  14. Идет тривиальная установка Winows вплоть до выбора диска для установки

  15. Жмем на загрузку и на диске с virtio-win выбираем папку
    d:viostor2k8r2amd64

  16. Устанавливаем драйвер, после чего продолжаем и заканчиваем установку.

  17. После завершения установки заходим в систему и ставим гостевой агент,
    который находится в папке guest-agent диска virtio-win

  18. После установки агента идем в диспетчер устройств

  19. Устанавливаем недостающие драйвера

  20. На одном из устройств получаем следующее сообщение:

  21. Смотрим dev_id устройства — дело в том, что последние версии Proxmox VE
    поддерживают Virtual Machine Generation ID, поддержка которого Windows,
    появилась только начиная с 8/2012 версий

  22. Для удаления неподдерживаемого усторйства выключаем VM, заходим по SSH на
    ноду Proxmox VE и выполняем:

    qm set vm_id -delete vmgenid

    вместо vm_id ID вашей машины, в моем случае 720

  23. Запускаем VM и смотрим в диспетчере устройств

Установка VM завершена — дальше идет  обычная настройка сервера..
Рекомендуемые настройки:

  1. Отключить автоматическое обновление
  2. Система -> Дополнительные параметры системы ->дополнительно
    ->загрузка и восстановление ->малый дамп памяти
  3. Диспетчер сервера -> отключить отчеты об ошибках

    proxmox-qemu-guest-agent
    proxmox-qemu-guest-agent

    The qemu-guest-agent is a helper daemon, which is installed in the guest. It is used to exchange information between the host and guest, and to execute command in the guest.

    The communication with the guest agent takes place over a unix socket located in

    /var/run/qemu-server/<my_vmid>.qga

    In Proxmox VE, the qemu-guest-agent is used for mainly two things:

    • To properly shutdown the guest, instead of relying on ACPI commands or windows policies
    • To freeze the guest file system when making a backup (on windows, use the volume shadow copy service VSS).

    If you have installed qemu-guest-agent on a client apt-get install qemu-guest-agent (Debian) or yum install qemu-guest-agent (RedHat, CentOS7) and then, on the host you see an error “No Qemu Guest Agent” – it means VM was created without the agent flag set and you should Enable it in VM options:

    Don’t forget to REBOOT your VM after it!!!

    You can also set this parameter via CLI:

    qm set VMID -agent 1

    More information: https://pve.proxmox.com/wiki/Qemu-guest-agent

    Hey fellow Internet dweller, are you worried about the following message appearing during backup of a suspended virtual machine in Proxmox?

    ...
    INFO: suspend vm
    INFO: creating archive '...'
    Qemu Guest Agent is not running - VM ### qmp command 'guest-ping' failed - got timeout
    ...

    Then you should ask yourself a question, how can the QEMU guest agent in the virtual machine answer the “guest-ping” request while its virtual machine is suspended?

    (Pay attention to the INFO: suspend vm line appearing before the message).

    Of course it cannot, so maybe you shouldn’t worry that much.

    One thing you can try to calm yourself down is to test the communication with the VM from the host while the VM is not suspended:

    qm agent <id> ping

    If the the QEMU guest agent is reachable, the command will complete without any output.

    If you’re using Windows as a guest OS, you can (re)install the QEMU guest agent from a virtio-win iso.

    This entry was posted in Solutions and tagged proxmox, qemu. Bookmark the permalink.

    Обновлено Обновлено: 25.05.2022
    Опубликовано Опубликовано: 30.01.2020

    Используемые термины: Proxmox VE, Linux.

    В данной инструкции мы пошагово разберем способы установки Proxmox VE, базовую настройку и создание виртуальной машины. Proxmox основан на Debian — поэтому установку будем выполнять на данный дистрибутив Linux. В данной инструкции работа ведется на Proxmox версии 6.

    Системные требования
    Установка Proxmox
        Из готового образа
        Установка на Debian
        Проверка установки
    Базовая настройка
        Как загрузить ISO-образ
        Создание сетей
            Bridge
            NAT
            Сеть между виртуалками
    Создание виртуальной машины
    Настройка виртуальной машины
        Базовые настройки
        Добавление диска
        Добавление сетевого адаптера
        Установка гостевого агента
    Удаление виртуальной машины
    Тюнинг Proxmox
        Предупреждения об отсутствии подписки
        Правильный сертификат
    Создание нового пользователя
    Ubuntu и CentOS

    Системные требования

    Требования разделены на минимальные и рекомендованные:

      Минимальные Рекомендованные
    Процессор 64bit с поддержкой технологии виртуализации Intel VT или AMD-V
    Память 1 Гб 2 Гб для системы + для виртуальных машин.
    Дополнительно, если используется хранилище Ceph или ZFS, 1 Гб на наждый ТБ данных.
    Накопитель HDD SSD или NVMe
    Сеть Сетевой адаптер Минимум, 2 сетевых адаптера на 10 Гбит/сек.

    Поддержка виртуализации Intel VT или AMD-V может быть отключена на материнской плате. Для проверки заходим в БИОС — находим раздел настройки процессора (как правило, в пункте меню Advanced) — проверяем, что технология виртуализации (Intel VT, AMD-V, Virtualization Technology, VMX) включена (Enabled). Если мы хотим протестировать платформу и устанавливаем ее на виртуальную машину, то в ее настройках включаем поддержку технологии виртуализации. Например, в VMware ESX 6 в настройке виртуальной машины на вкладке Virtual Hardware раскрываем CPU и ставим галочку Expose hardware assisted virtualization to the guest OS:

    Включение виртуализации для виртуальной машины в VMware ESX 6

    Установка

    Есть два варианта установки Proxmox VE — использовать готовый образ или установка на Debian. Мы рассмотрим оба.

    Установка готового образа ISO

    1. Переходим на страницу загрузки Proxmox официального сайта. Загружаем дистрибутив, например, Proxmox VE 6.1:

    Загрузка дистрибутива Proxmox

    2. Если установка выполняется на виртуальную машину, монтируем образ. Если нет — создаем установочную флешку, например, с помощью WinSetupFromUsb или загрузочный диск с помощью InfraRecorder.

    3. Загружаем сервер с установочного ISO — мы увидим окно приветствия Proxmox — выбираем пункт меню Install Proxmox VE:

    Welcome to Proxmox VE

    4. Принимаем лицензионное соглашения, кликнув по I agree.

    5. Выбираем диск, на который будет установлена система:

    Выбираем диск, на который будет установлен Proxmox

    * при необходимости, кликаем по Options и задаем настройки файловой системы и размера раздела.

    6. Пишем страну, временную зону, язык раскладки клавиатуры по умолчанию:

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

    7. Вводим дважды пароль, который будет использоваться для пользователя root:

    Новый пароль для root

    8. Прописываем сетевые настройки:

    Сетевые настройки Proxmox

    * где:

    • Management Interface: сетевой интерфейс для управления сервером виртуальных машин.
    • Hostname (FQDN): имя хоста для сервера.
    • IP Address: IP-адрес нашего сервера.
    • Netmask: маска подсети для сервера.
    • Gateway: шлюз по умолчанию.
    • DNS Server: сервер DNS.

    9. В окне «Summary» проверяем введенные данные и кликаем по Install. Начнется процесс установки, который займет не более 10 минут.

    10. После установки мы должны увидеть «Installation Successful» — перезагружаем сервер, кликнув по кнопке Reboot.

    После переходим к проверке установки.

    Установка на Debian

    Если мы решили установить Proxmox на уже установленный Debian, выполняем следующую инструкцию.

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

    1. Имя сервера должно разрешаться по его IP-адресу. Для этого либо добавляем А-запись в DNS, либо настраиваем на сервере файл hosts:

    nano /etc/hosts

    … и добавляем:

    192.168.1.55 proxmox.dmosk.local   proxmox

    * где 192.168.1.55 — IP-адрес нашего сервера; proxmox — имя сервера; dmosk.local — наш домен, если используется.

    2. Добавляем репозитории, которые будем устанавливать для установки  Proxmox PE и дополнительных компонентов:

    nano /etc/apt/sources.list

    deb http://mirror.yandex.ru/debian/ buster main non-free contrib
    deb-src http://mirror.yandex.ru/debian/ buster main non-free contrib
    deb http://download.proxmox.com/debian/pve buster pve-no-subscription

    Чтобы мы могли работать с репозиторием proxmox добавляем в систему цифровую подпись:

    wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg

    Обновляем список пакетов:

    apt-get update

    3. Устанавливаем Proxmox PE и компоненты:

    apt-get install proxmox-ve open-iscsi

    * где proxmox-ve — собственно, сам гипервизор; open-iscsi — iSCSI-клиент для подключения iSCSI-target-ов.

    4. Перезагружаем сервер:

    systemctl reboot

    Проверка установки

    В браузере открываем панель управления системой виртуализации по адресу https://<IP-адрес сервера>:8006. В открывшемся окне выбираем язык, вводим логин и пароль от пользователя root:

    Входим в панель управления Proxmox

    Должно открыться окно управления.

    Начальная настройка

    Чтобы начать использовать Proxmox и создать первую виртуальную машину, внесем небольшие настройки и подготовим гипервизор к работе.

    1. Загрузка образов

    Кликаем по Датацентр — и дважды по storage:

    Открываем хранилище Proxmox

    * мы можем создать отдельное хранилище для образов ISO. Для этого переходим в раздел ДатацентрХранилищеСоздатьКаталог.

    Переходим в раздел Содержимое и кликаем по Загрузить:

    Кликаем по Загрузить в Proxmox

    В открывшемся окне выбираем ISO-образ системы, который будем устанавливать в качестве гостевой и кликаем по Загрузить. Ждем окончания копирования файла на сервер.

    2. Создание сети для виртуальных машин

    Мы рассмотрим примеры создания 2-х режимов сети — Bridge и NAT.

    Независимо от способа установки Proxmox, необходимо подключиться к хосту по SSH и установить пакет ifupdown2 командой:

    apt-get install ifupdown2

    * ifupdown2 — утилита для конфигурации сетевого интерфейса (по сути, аналог ifupdown, написанный на языке Python).

    … в противном случае, при попытке применить сетевые настройки мы получим ошибку you need ifupdown2 to reload networking (500).

    Bridge

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

    Работать с режимом Bridge нужно очень осторожно. Любое неправильное действие и удаленный доступ к серверу будет потерян. Если работы ведутся на удаленном сервере, рекомендуется сначала потренироваться на какой-нибудь локальной машине.

    Также стоит отметить, что при установке PVE из установочного ISO-образа, один Bridge уже будет создан.

    Для создания бриджа в панели управления кликаем по нашему серверу Proxmox — переходим в раздел СистемаСеть — обратите внимание, чтобы в системе не было bridge-интерфейсов:

    Переход к созданию сетевого интерфейса в Proxmox

    … иначе, создавать его не обязательно.

    Открываем настройки сетевого интерфейса, через который будет работать наш мост и удаляем шлюз:

    Удаляем шлюз из настроек сетевого адаптера

    * если мы не сделаем этого, то при настройке Bridge мы получим ошибку Parameter verification failed. (400). gateway: Default gateway already exists on interface ‘ens160’.

    Нажимаем Создать и выбираем Linux Bridge:

    Создание нового Bridge интерфейса

    В открывшемся окне заполняем поля IPv4/CIDR, Шлюз (IPv4), Порты сетевого моста:

    Создание нового Bridge интерфейса

    * в данном примере мы задаем IP-адрес, на котором будет работать Proxmox (чтобы ничего не перепутать, можно задать IP-адрес физического интерфейса, который будет задействован под Bridge); маска указывается в нотации CIDR и в нашем примере это 24 или 255.255.255.0; в качестве физического интерфейса наш bridge будет использовать ens160.

    … нажимаем Создать

    Кликаем по Apply Configuration, чтобы применить сетевые настройки:

    Создание нового Bridge интерфейса

    Подтверждаем действия.

    NAT

    Данный режим сети активно применяется в случае аренды сервера, где количество IP-адресов лимитировано. В данном случае, все виртуальные машины будут находисться за NAT, в качестве которого выступает сам Proxmox.

    Сам интерфейс мы делаем из панели управления. Но чтобы виртуальные машины могли выходить в Интернет через сеть NAT, необходимо на самом хосте включить редирект и маскарадинг.

    Создание нового bridge-интерфеса

    Итак, кликаем по нашему серверу Proxmox — переходим в раздел СистемаСеть — нажимаем Создать и выбираем Linux Bridge:

    Создание нового Bridge интерфейса для NAT

    Оставляем имя vmbr1 или пишем любое другое, прописываем IP-адрес с маской сети, в которой будут находиться серверы за NAT:

    Настройки при создании Bridge интерфейса для NAT

    Нажимаем Создать. Применяем настройки:

    Применяем сетевые настройки

    Сеть настроена.

    Настройка ядра и брандмауэра

    Подключаемся к серверу по SSH. Открываем на редактирование файл настройки ядра:

    nano /etc/sysctl.d/99-sysctl.conf

    … и добавляем разрешение на редирект:

    net.ipv4.ip_forward=1

    После применяем настройки:

    sysctl -p /etc/sysctl.d/99-sysctl.conf

    Добавляем правило в брандмауэр:

    iptables -t nat -A POSTROUTING -s ‘192.168.122.0/24’ -o vmbr0 -j MASQUERADE

    * в данном примере мы создали правило для маскарадинга всех пакетов из подсети 192.168.122.0/24 и для исходящего интерфейса vmbr0. Обратите внимание, что если у нас будет другая подсеть и исходящий интерфейс для сети Интернет, то нужно будет задать другие значения.

    Ставим утилиту для сохранения правил iptables:

    apt-get install iptables-persistent

    … и сохраняем правила в процессе установки или командой:

    netfilter-persistent save

    Наш NAT настроен.

    Сеть между виртуалками

    Данная сеть — частный случай NAT без выхода в Интернет. Мы должны создать бридж с отдельной подсетью без шлюза. При добавлении виртуальным машинам данного сетевого адаптера мы сможем настроить их взаимодействие по внутренней сети.

    Создаем бридж, как делали это ранее:

    Создание нового Bridge интерфейса для внутреннего трафика

    Настраиваем новый интерфейс — задаем имя или оставляем тот, что предложит система, а также указываем IP-адрес:

    Создание нового Bridge интерфейса для внутреннего трафика

    Создаем интерфейс. Готово — при создании или редактировании виртуалок, мы можем указывать с качестве интерфейса созданный бридж (в данном примере, vmbr2) для изоляции их в отдельную подсеть 192.168.150.0/24.

    Создание виртуальной машины

    Базовая настройка закончена — можно опробовать наш гипервизор в деле. 

    В правой верхней части панели управления кликаем по Создать VM:

    Кликаем по Создать VM

    В открывшемся окне снизу сразу ставим галочку Расширенный:

    Ставим галочку расширенный

    Задаем имя виртуальной машине и ставим галочку Запуск при загрузке (если хотим, чтобы виртуалка запускалась автоматически с сервером PVE):

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

    * в данном примере мы задали имя FS. При желании, также можно изменить VM ID, но он проставляется автоматически и имеет правильное значение.

    Выбираем загруженный нами ISO-образ, с которого будем ставить операционную систему, задаем тип гостевой операционной системы и ее версию:

    Выбираем образ, с которого должна загрузиться виртуалка

    * в данном примере мы будем устанавливать Linux Ubuntu. Среди списка операционных систем также доступны Microsoft Windows, Solaris и Other.

    На вкладке Система можно оставить все значения по умолчанию:

    Системные настройки можно не трогать

    * в некоторых случаях, необходимо выбрать другую видеокарту (при установке систем с GUI), а также особый вариант БИОС.

    Задаем размер жесткого диска:

    Задаем размер для жесткого диска

    * 16 Гб для Ubuntu достаточно, однако, для наших задач расчет должен быть индивидуальным для каждой создаваемой виртуальной машины.

    Мы можем задать количество процессоров и ядер:

    Задаем количество процессоров и ядер для ВМ

    * в данном примере мы создаем виртуалку с 2 процессорами, каждый из который с 2 ядрами, итого, 4. Для ненагруженных систем можно оставить значение по умолчанию.

    Выделяем память:

    Укажем объем оперативной памяти

    * наша Ubuntu будет работать с 2 Гб оперативной памяти.

    Выбираем созданный нами бридж — либо для получения прямого адреса из сети, либо для NAT:

    Выбираем сетевой адаптер, через который будет работать сеть виртуальной машины

    * в данном примере, мы указали vmbr0 для подключения к сети напрямую.

    Ставим галочку, чтобы виртуальная машина сразу запустилась после создания:

    Разрешив запуск машины после ее создания

    … и нажимаем Готово. Ждем окончания процесса и переходим к консоли:

    Подключаемся к консоли сервера

    Мы должны увидеть загрузку с ISO-образа.

    Настройка виртуальной машины

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

    Полезные настройки

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

    Переходим к параметрам виртуальной машины

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

    • Имя — имя виртуальной машины.
    • Запуск при загрузке — для серверов данный параметр должен быть активирован.
    • Порядок загрузки — позволяет определить, с какого устройства должна запуститься виртуалка в первую очередь.

    Для изменения параметра, просто кликаем по нему дважды, меняем значение и нажимаем OK.

    Добавление дискового накопителя

    Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Жесткий диск:

    Добавляем жесткий диск

    В открывшемся окне задаем размер диска и нажимаем OK.

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

    Увеличиваем размер диска

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

    Добавление сетевого адаптера

    Переходим в подраздел Оборудование — кликаем по Добавить и выбираем Сетевое устройство:

    Добавляем сетевой адаптер

    Как при создании ВМ, выбираем тип сетевого адаптера (бридж или нат) и нажимаем Добавить.

    Установка гостевого агента

    Обязательная процедура для повышения производительности и возможностей работы с виртуальной машиной. Настройка выполняется как на гипервизоре, так и в самой виртуальной машине. Рассмотрим пример установки агента на базе системы Linux.

    В гипервизоре переходим в Параметры, находим пункт QEMU Guest Agent и кликаем по нему:

    Кликаем по пункту QEMU Guest Agent

    Ставим галочку Use QEMU Guest Agent и нажимаем OK:

    Включаем гостевого агента для виртуальной машины

    Для применения настройки нужно выключить и включить виртуальную машину.

    Теперь подключаемся к виртуальной машине и устанавливаем утилиту. В зависимости от типа Linux команды будут отличаться.

    а) DEB-based:

    apt install qemu-guest-agent

    б) RPM-based:

    yum install qemu-guest-agent

    Установка завершена.

    Для запуска сервиса выполняем:

    systemctl enable qemu-guest-agent —now

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

    Подробнее процесс описан на странице https://pve.proxmox.com/wiki/Qemu-guest-agent.

    Удаление виртуальной машины

    Для удаления виртуальной машины, сначала ее отключаем — это можно сделать из операционной системы или из панели управления, нажав на стрелку вниз рядом с ВыключитьОстановка:

    Выключаем виртуальную машину

    После кликаем по ДополнительноУдалить:

    Удаление виртуальной машины

    В открывшемся окне мы должны подтвердить свои намерения удалить виртуальную машину, вписав ее идентификатор:

    Добавляем сетевой адаптер

    * если мы поставим галочку Purge, то виртуальная машина будет удалена полностью вместе с виртуальным диском.

    Кликаем по Удалить — готово.

    Тюнинг сервера PVE

    Внесем несколько изменений, которые сделают работу с Proxmox VE удобнее.

    Отключение предупреждения об отсутствии подписки

    Каждый раз при заходе в панель управления мы будем видеть такое предупреждение:

    Предупреждение об отсутствии подписки

    Оно говорит нам о том, что мы используем бесплатную версию программного продукта. Чтобы сообщение нас не беспокоило, выполним 2 действия:

    1. Отключим платный репозиторий для получения пакетов proxmox.
    2. Отредактируем файл js для отключения данного сообщения.

    И так, в SSH открываем на редактирование репозиторий proxmox:

    nano /etc/apt/sources.list.d/pve-enterprise.list

    Приводим его к виду:

    #deb https://enterprise.proxmox.com/debian/pve buster pve-enterprise
    deb http://download.proxmox.com/debian/pve stretch pve-no-subscription

    * мы закомментировали репозиторий pve-enterprise и добавили pve-no-subscription.
    * при большом желании, можно удалить файл репозитория с именем pve-enterprise.list и создать новый — кому как будет удобнее.

    После обновим список пакетов:

    apt-get update

    Последнее — редактируем файл /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js:

    sed -i «s/getNoSubKeyHtml:/getNoSubKeyHtml_:/» /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

    * данной командой мы находим getNoSubKeyHtml в файле /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js и меняем на getNoSubKeyHtml_.

    Закрываем окно браузера с Proxmox, если оно было открыто и запускаем его снова. Входим в систему — сообщение не должно появиться.

    Сертификаты

    Сервер PVE устанавливается с самоподписанным сертификатом. Это означает, что при подключении к панели управления мы будем видеть предупреждение от системы безопасности. Чтобы браузер принимал сертификат, он должен соответствовать следующим требованиям:

    • Быть выдан доверенным центром сертификации или зарегистрированным в вашей локальной сети, например, локальный AD CS.
    • Быть для доменного имени, по которому мы заходим в панель управления.
    • Иметь актуальные даты начала действия и окончания.

    При этом, мы не должны заходить в панель управления по IP-адресу — в противном случае, независимо от сертификата, мы все-равно, получим предупреждение.

    И так, сам сертификат можно купить, запросить бесплатно у Let’s Encrypt или создать с использованием локального центра сертификации, например, по данной инструкции. Получив сертификат, открываем панель управления PVE и переходим к серверу — СистемаСертификаты — кликаем по Загрузить пользовательский сертификат:

    Переходим к загрузке сертификатов

    В открывшемся окне заполняем поля для закрытого и открытого ключей:

    Загружаем ключи

    … и нажимаем Загрузить. Система предупредит, что загрузится с новым сертификатом — необходимо закрыть вкладку в браузере и открыть консоль управления снова. Если сертификат загружен правильный, мы не увидим предупреждения.

    Создание нового пользователя

    При установке PVE создается пользователь root. Рассмотрим процесс добавления еще одного через командную строку.

    Подключаемся по SSH или открываем консоль из панели управления. Создаем пользователя в системе:

    useradd user

    * где user — имя создаваемого пользователя.

    После создаем нового пользователя в Proxmox:

    pveum useradd user@pam

    * в данном примере мы создали пользователя user в области pam.

    Задаем пароль:

    pveum passwd user@pam

    Задаем роль для созданного пользователя, например, административную:

    pveum aclmod / -user user@pam -role Administrator

    * весь список ролей можно посмотреть в панели администрирования в разделе ДатацентрРазрешенияРоли.

    Ubuntu и CentOS

    Возможно, кому-то захочется установить Proxmox именно на Ubuntu или CentOS. К сожалению, разработчики остановились на Debian. Возможно, есть неофициальные обходные пути установки Proxmox на другие дистрибутивы Linux, однако такой путь не является приемлемым для продуктивной среды. Для настройка виртуализации на Ubuntu и CentOS предлагаю инструкции:

    1. Установка и настройка KVM на CentOS 7

    2. Настройка KVM на Ubuntu Server

    Понравилась статья? Поделить с друзьями:
  1. Гостевая учетная запись windows 10 что это
  2. Гост 34059 2017 скачать бесплатно для windows
  3. Госорганы россии массово меняют windows на astra linux
  4. Горячие кнопки при загрузке windows 10
  5. Горячие кнопки поворот экрана windows 10