Снапшоты и клонирование — одни из самых мощных возможностей Proxmox VE. Снапшот позволяет мгновенно зафиксировать состояние VM и вернуться к нему в любой момент, а клонирование — быстро создать идентичную копию.
Снапшоты VM
Требования: Мгновенные снапшоты доступны только на хранилищах, поддерживающих снапшоты: ZFS, LVM-Thin, Ceph/RBD. На Directory-хранилищах доступны только qcow2-снапшоты.
# Создать снапшот (VM может быть запущена)
qm snapshot 100 pre-update --description "Перед обновлением системы" --vmstate 1
# Список снапшотов
qm listsnapshot 100
# Откатить VM к снапшоту
qm rollback 100 pre-update
# Удалить снапшот
qm delsnapshot 100 pre-update
Флаг --vmstate 1 сохраняет оперативную память VM — это позволяет восстановить её точно в работающем состоянии.
Клонирование VM
| Тип клона | Описание | Время | Зависимость от источника |
|---|---|---|---|
| Linked Clone | Использует исходный диск как базу (CoW) | Секунды | Да (нельзя удалить источник) |
| Full Clone | Полная независимая копия | Минуты | Нет |
# Полный клон в новый VM с ID 101
qm clone 100 101 --name ubuntu-copy --full 1
# Связанный клон (источник должен быть шаблоном)
qm clone 100 102 --name ubuntu-linked
# Клон на другое хранилище
qm clone 100 103 --name ubuntu-ceph --full 1 --storage ceph-pool
Создание шаблона VM
Шаблон — это "замороженная" VM, из которой создаются связанные клоны. Позволяет развернуть новую VM за секунды:
# Подготовить VM к использованию как шаблон
# 1. Установить cloud-init (для Linux)
apt install cloud-init -y
# 2. Очистить уникальные данные
cloud-init clean
truncate -s 0 /etc/machine-id
# 3. На хосте Proxmox — преобразовать VM в шаблон
qm template 100
# 4. Теперь создавать клоны мгновенно
qm clone 100 201 --name new-vm --full 0
Cloud-Init интеграция
Cloud-Init позволяет автоматически настраивать VM при первом запуске (hostname, SSH-ключи, сетевые настройки):
# Добавить Cloud-Init диск к VM
qm set 100 --ide2 local-lvm:cloudinit
# Настроить параметры Cloud-Init
qm set 100 --ciuser ubuntu --cipassword SecurePass --sshkey ~/.ssh/id_rsa.pub --ipconfig0 ip=dhcp
# Пересоздать Cloud-Init образ
qm cloudinit dump 100 network
После создания шаблона VM нельзя запустить напрямую. Только клонировать. Убедитесь, что VM правильно настроена перед конвертацией.