{% extends "base.html" %} {% from "_ui.html" import icon, badge, vm_badge, op_badge, empty, alert %} {% set page_title = 'Снимки — ' ~ vm.name %} {% set s = vm.info.state|vm_state %} {% set count = snapshots|length %} {% block page_header %} {% endblock %} {% block alerts %} {% if snapshot_message %}{{ alert('success', snapshot_message) }}{% endif %} {% if snapshot_error %}{{ alert('danger', snapshot_error) }}{% endif %} {% if operation and operation.status == 'success' %}{{ alert('success', operation.message) }}{% endif %} {% if operation and operation.status == 'error' %}{{ alert('danger', operation.message, title='Не получилось: ' ~ operation.title|lower) }}{% endif %} {% endblock %} {% block content %}
{% for op in active_operations %} {% endfor %}

Точки восстановления

Сохранённые состояния машины, к которым можно вернуться

{{ count }} из {{ max_snapshots }}
{% if snapshots %}
{% for snap in snapshots %}
{{ icon('camera') }}
{{ snap.title }} {% if snap.is_current %}{{ badge('Текущий', 'brand', dot=False, attrs='title="Машина сейчас продолжает работу от этого снимка"') }}{% endif %}
{{ snap.when }} · {{ snap.state_info.label }}{% if snap.with_memory %} — сохранена вместе с памятью{% endif %}{% if snap.description %} · {{ snap.name }}{% endif %}
{% if snap.manageable %}
{% else %} Создан вне панели {% endif %}
{% endfor %}
{% else %} {{ empty('camera', 'Снимков пока нет', 'Сделайте снимок перед обновлением или рискованной настройкой. Если что-то пойдёт не так, машину можно будет вернуть назад за минуту.') }} {% endif %}
{{ icon('terminal', 'icon-sm') }}Для специалистов{{ icon('chevron-down', 'icon-sm') }}

Это внутренние снимки libvirt (virsh snapshot-create-as … --atomic): они хранятся внутри qcow2-файла диска. Возврат — virsh snapshot-revert, удаление — virsh snapshot-delete.

virsh snapshot-list --domain {{ vm.name }}
{{ raw_list or '—' }}
{% if checks.disks %}

Диски: {% for d in checks.disks %}{{ d.target }} — {{ d.format }}{{ ', ' if not loop.last }}{% endfor %}{% if checks.uefi %} · прошивка UEFI{% endif %}

{% endif %}
{% endblock %} {% block scripts %} {% if active_operations %} {% endif %} {% endblock %}