🕒 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.4l26— Linux начиная от ядра 2.6 до 6.xwin10— Windows 10 / 2016 / 2016win11— 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 можете обратиться к этим источникам:
- https://pve.proxmox.com/pve-docs/qm.1.html
- https://docs.altlinux.org/ru-RU/alt-server-v/11.0/html/alt-server-v/qm.html
Если понравилась статья, подпишись на мой канал в VK или Telegram.