Создание и управление виртуальной машиной Proxmox VE из консоли

🕒 2 мин.

В этой статье я демонстрирую создание и управление виртуальной машиной на Proxmox VE 8 с помощью консольной команды qm. Вероятно, на Proxmox VE 9 всё работает так же, но я этого пока не проверял.

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

Если вы ещё не знакомы с системой виртуализации Proxmox VE, то можете вначале прочесть другую мою статью — [Proxmox VE — знакомство и установка на ZFS]. А в этой статье я покажу как можно поработать с виртуальными машинами из консоли. Это может понадобиться при написании скриптов или для создания какой-либо другой автоматизации.

Для создания виртуальной машины используется команда qm create <vmid>, после чего необходимо передать параметры виртуальной машины.

Например, так:

qm create 110 \
 --name "vm-test" \
 --memory 1024 \
 --cores 1 \
 --ostype l26 \
 --scsi0 data:10 \
 --cdrom nfs-store:iso/debian-12.8.0-amd64-netinst.iso \
 --net0 model=virtio,bridge=vmbr0

В этом примере мы создаём виртуальную машину с vmid=110, с именем vm-test. Выделяем ей 1 ядро, 1G памяти. Тип виртуальном машины указываем с помощью параметра --ostype, вот несколько из часто используемых типов:

  • l24 — Linux с ядром 2.4
  • l26 — Linux начиная от ядра 2.6 до 6.x
  • win10 — Windows 10 / 2016 / 2016
  • win11 — Windows 11 / 2022 / 2025

Также создаём диск scsi0 на хранилище data размером 10G. Подключаем cdrom с iso-файлом debian-12.8.0-amd64-netinst.iso. И создаём сетевой интерфейс net0 типа virtio и подключаем его к бриджу vmbr0.

Для удаления виртуальной машины используем команду qm destroy <vmid>. Например:

qm destroy 110

А если при создании виртуальной машины нужно указать mac-адрес, то добавляем его так:

qm create 110 \
 --name "vm-test" \
 --memory 1024 \
 --cores 1 \
 --ostype l26 \
 --scsi0 data:10 \
 --cdrom nfs-store:iso/debian-12.8.0-amd64-netinst.iso \
 --net0 model=virtio,bridge=vmbr0,macaddr=00:50:85:39:2f:2b

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

Управление виртуальной машиной из консоли выполняется с помощью следующих команд:

qm start 110    # запуск
qm status 110   # получение статуса (запущена / остановлена)
qm stop 110     # остановка
qm shutdown 110 # корректная остановка (необходимо на vm установить qemu-guest-agent)
qm reboot 110   # перезагрузка

Работа со снапшотами

С помощью следующих команд мы можем создавать, удалять снапшоты, или откатываться на конкретный снапшот:

qm snapshot 110 test-snap    # создать снапшот
qm listsnapshot 110          # получить список снапшотов
qm rollback 110 test-snap    # откаатиться на снапшот
qm delsnapshot 110 test-snap # удалить снапшот

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

В консоли можно не только создать виртуальную машину, но и изменить настройки уже созданной.

Например:

qm set 110 \
  --agent enabled=1 \
  --onboot 1 \
  --protection 1 \
  --cdrom nfs-store:iso/ubuntu-24.04.1-live-server-amd64.iso \
  --cpu cputype=host \
  --cores 2

В этом примере мы:

  • включаем qemu-агент для виртуальной машины;
  • включаем автозапуск и защиту;
  • меняем iso-образ в cdrom;
  • меняем тип процессора и выделяем 2 ядра.

Используемые источники

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


Если понравилась статья, подпишись на мой канал в VK или Telegram.

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять
Отказаться
Политика конфиденциальности