Глиф Учебники

Урок 5. Первая виртуальная машина

Курс «Proxmox VE» · урок 5 из 9 · 5 минут чтения

Пора создать первую виртуальную машину. Для примера — Ubuntu Server: бесплатная, ставится быстро и не требует дополнительных драйверов. С Windows шаги те же, отличия — в справке Windows в Proxmox.

Шаг 1. Загрузите ISO

Скачайте образ Ubuntu Server с официального сайта ubuntu.com и загрузите его в Proxmox: узел → local → ISO Images → Upload. Или Download from URL — сервер скачает образ сам. Как устроены хранилища — в уроке Хранилища.

Шаг 2. Мастер Create VM

Нажмите Create VM вверху окна. Мастер состоит из вкладок, переход — кнопкой Next.

General

OS

System

Disks

CPU

Memory

Network

Confirm — проверьте сводку, отметьте запуск машины после создания и нажмите Finish.

ВМ 100 · ubuntu-test 2 ядра x86-64-v2-AES память 2048 MiB диск SCSI 32 GiB, Discard CD/DVD установщик Ubuntu сетевая карта VirtIO сервер (узел) процессор память local-lvm том диска local файл ISO vmbr0 в сеть роутера
Машина 100 ubuntu-test получает ядра и память сервера, диск — томом на local-lvm, установщик — файлом ISO из local, сеть — через мост vmbr0.

Что такое VirtIO

Виртуальная машина может изображать известное оборудование (диск IDE, сетевую карту Intel E1000) — его понимает любая система, но эмуляция медленная. VirtIO — устройства, созданные специально для виртуальных машин: гостевая система знает, что работает в виртуальной машине, и общается с гипервизором напрямую. По замерам из документации диск VirtIO пишет примерно вдвое быстрее эмулированного IDE, а сеть VirtIO даёт до трёх раз больше скорости, чем E1000.

Эмуляция: диск IDE, сеть Intel E1000 система в ВМ обычный драйвер QEMU изображает настоящее устройство сервер диск и сеть понимает любая система, но работает медленно VirtIO: устройства для виртуальных машин система в ВМ драйвер VirtIO гипервизор обмен напрямую сервер диск и сеть диск примерно вдвое быстрее IDE, сеть — до 3 раз быстрее E1000
С эмулированными IDE и E1000 QEMU изображает настоящее устройство и работает медленно, а драйвер VirtIO обменивается с гипервизором напрямую и быстрее.

Драйверы VirtIO уже есть в Linux. В Windows их нужно подключить при установке с отдельного образа — см. Windows в Proxmox.

Шаг 3. Установите систему

Выберите машину в дереве → Console. Откроется экран машины (noVNC) прямо в браузере, на нём — установщик Ubuntu. Дальше всё как на обычном компьютере: язык, сеть, диск (весь виртуальный диск — его стирать не страшно, это файл или том на сервере), пользователь. Отметьте установку OpenSSH server, чтобы потом подключаться по SSH.

После установки уберите образ из привода, чтобы машина не загружала установщик снова: Hardware → CD/DVD Drive → Edit → Do not use any media.

Шаг 4. Поставьте гостевой агент

QEMU Guest Agent — служба внутри машины, через которую Proxmox общается с гостевой системой. С ним:

Внутри Ubuntu выполните:

Bash
sudo apt update
sudo apt install qemu-guest-agent
sudo systemctl start qemu-guest-agent

В Proxmox агент включается флажком Qemu Agent на вкладке System мастера — он уже отмечен. Если флажок не отмечали, включите его потом: машина → Options → QEMU Guest Agent → Edit → Use QEMU Guest Agent. Изменение вступает в силу после нового запуска машины: выключите её и включите кнопкой Start (перезагрузка изнутри системы не подойдёт). Без этого у службы в машине нет канала связи, и она не запустится. Подробнее — справка про qemu-guest-agent.

канал связи появляется при новом запуске кнопкой Start в Proxmox Options → QEMU Guest Agent Use QEMU Guest Agent внутри ВМ (Ubuntu) qemu-guest-agent пакет и служба запущены IP-адреса в Summary корректный Shutdown целостные копии и снимки
Гостевому агенту нужны и флажок Use QEMU Guest Agent в Proxmox, и служба qemu-guest-agent в машине, а канал между ними появляется после нового запуска.

Управление из терминала

Всё то же умеет команда qm в оболочке узла. Номер машины — её VM ID:

Bash
qm list
qm start 100
qm shutdown 100
qm config 100

qm list выводит все машины узла с состоянием, shutdown просит систему выключиться, config показывает настройки. Сами настройки лежат в файле /etc/pve/qemu-server/100.conf.

qm stop 100 (и кнопка Stop) выключает машину мгновенно, как выдёргивание вилки из розетки. Несохранённые данные внутри теряются, файловая система может повредиться. Используйте Shutdown, а Stop — только если система зависла.

Частые ошибки

Коротко

Проверьте себя

1. Какую модель сетевой карты выбрать для Linux-машины ради скорости?
2. Что сделать, чтобы после установки машина не загружала установщик снова?
3. Чем Shutdown отличается от Stop?
4. Что нужно для работы гостевого агента?