Версия пакета: system-restore-0.85-alt1 Системы, обновленные до Sisyphus: Alt Education 11 x86-64 Alt Workstation 11 x86-64 Alt Workstation K 11 x86-64 Предусловия: Система должна быть установлена в lvm2 на один nvme. Например: nvme0n1 259:0 0 238,5G 0 disk ├─nvme0n1p1 259:1 0 255M 0 part /boot/efi └─nvme0n1p2 259:2 0 238,2G 0 part ├─alt-root 253:0 0 50G 0 lvm / ├─alt-swap 253:1 0 16G 0 lvm [SWAP] └─alt-home 253:2 0 172,2G 0 lvm /home Использовалось устройство с 3+ дисками. Шаги воспроизведения: 1. Создать backup с помощью system-backup с параметрами по умолчанию. 1.1 Отформатировать диск для хранения бэкапов: # export BACKUP_DIR="/mnt/backup" # parted -s /dev/sdX mklabel msdos mkpart primary 0% 100% (использовался обычный ssd для записи бекапа) # mkfs.exfat -L backups /dev/sdX1 # mkdir "$BACKUP_DIR" && mount /dev/sdX1 "$BACKUP_DIR" 1.2 Экспортировать переменные окружения: # export ROOT_UUID="$(lsblk -o MOUNTPOINTS,UUID | grep -e '/ ' | awk '{ print $2; }')" && \ export ROOT_PARTNAME="$(lsblk -o MOUNTPOINTS,NAME | grep '/ ' | awk '{ print $2; }' | sed 's|[^a-z0-9]||g')" && \ export ROOT_PARTPATH="/dev/$ROOT_PARTNAME" && \ export ROOT_DEV_NAME="$(echo "$ROOT_PARTNAME" | sed 's|[0-9]||g')" && \ echo "ROOT_UUID=$ROOT_UUID" && \ echo "ROOT_PARTNAME=$ROOT_PARTNAME" && \ echo "ROOT_PARTPATH=$ROOT_PARTPATH" && \ echo "ROOT_DEV_NAME=$ROOT_DEV_NAME" 1.3 # system-backup -b "$BACKUP_DIR" -U "$ROOT_UUID" 2. Выполнить восстановление в режиме deployment: # system-restore -D -b $BACKUP_DIR/????-??-??/ -- /dev/<nvme для восстановления> или # system-restore -F -b $BACKUP_DIR/????-??-??/ /dev/<nvme для восстановления> Ожидаемый результат: Восстановленная система имеет разметку диска аналогично исходной системе. Реальный результат: lvm разметка не сохраняется, режим развертывания: Partitioner: plain (GUID/GPT) В итоге: nvme0n2 259:0 0 238,5G 0 disk ├─nvme0n2p1 259:1 0 255M 0 part /boot/efi └─nvme0n2p2 259:2 0 238,2G 0 part / Дополнительно: С разметками ext4/btrfs работает. Предварительное создание профиля с system-profile также не помогает. META.tgz при этом содержит корректные данные о разметке. Через sysrest.ini удается добиться только Partitioner: lvm2 в логах, разметка остается некорректной
(In reply to Алексей Горячев from comment #0) > Система должна быть установлена в lvm2 на один nvme. > Использовалось устройство с 3+ дисками. При использовании более одного потенциального целевого диска при восстановлении необходимо использовать файл параметров sysrest.ini, через который выбор целевого диска сокращается до одного ЛИБО там должен быть choose_target=1, см.: https://www.altlinux.org/Rescue/Deploy/system-restore/Target > Шаги воспроизведения: > 1.3 # system-backup -b "$BACKUP_DIR" -U "$ROOT_UUID" system-backup сама найдёт целевую систему без указания UUID. > 2. Выполнить восстановление в режиме deployment: > # system-restore -D -b $BACKUP_DIR/????-??-??/ -- /dev/<nvme для Востановление и развёртывание -- две противоположные операции, тут необходимо восстановление, см.: https://www.altlinux.org/Rescue/Deploy/system-restore/Restore > Ожидаемый результат: > Восстановленная система имеет разметку диска аналогично исходной системе. Как сказано в документации (см. выше) -- не совсем так. Разметка и не сохраняется, и не восстанавливается. Для железнобетонного решения достаточно задать partitioner=lvm2 в sysrest.ini. Но в коде всё же есть кое-что, что позволяет приблизиться к вашим ожиданиям. Давайте посмотрим на две вещи: 1) архив META.tgz и 2) файл sysrest.ini. Подозреваю, что создававшая исходную разметку программа не помечала разделы как LVM. Обычно для диагностики хорошо бы ещё прикладывать журнал system-restore.log с включенной отладкой.