Proxmox. Создание образа-бэкапа системного диска ОС Proxmox и его восстановление
Описание
Создание образа-бэкапа системного диска ОС Proxmox и его восстановление
Вариант 1. Acronis true image - загрузочный диск
Используем:
Acronis True Image 18.0 Build 6525 RePack by KpoJIuK + BootCD [Ru-En] (AcronisTrueImage2015_en-US.iso)
Бэкап
Загружаемся с загрузочного диска или флэшки (ISO - если используем ВМ)
Бэкапируем диск с ОС целиком
Насколько я понял, если используется шифрованный раздел с ОС Proxmox, то Acronis бэкапирует диск в посекторном режиме, из-за этого образ не сжимается в объеме, а остается по объему сравнивым с размером диска
Восстановление
Загружаемся с загрузочного диска или флэшки (ISO - если используем ВМ)
ПРОСТО ТАК ЗАГРУЗОЧНЫЙ ACRONIS ИЗ ISO СДЕЛАТЬ НЕЛЬЗЯ (с помощью rufus и т.п.)
НЕОБХОДИМО ИСПОЛЬЗОВАТЬ ПРОГРАММУ boutler_2_4
Восстанавливаем целиком образ на новый диск
ПОСЛЕ ВОССТАНОВЛЕНИЯ:
- загружаемся в ОС
- смотрим имя локального сетевого интерфейса (оно наверняка будет другим, нежели в оригинальной системе)
ip a
- меняем имя сетвеого интерфейса в нескольких местах файла /etc/network/interfaces
nano /etc/network/interfaces
reboot
Вариант 2. Clonezilla - загрузочный диск
Используем:
clonezilla-live-2.7.1-22-amd64.iso
Бэкап
Загружаемся с загрузочного диска или флэшки (ISO - если используем ВМ)
Бэкапируем диск с ОС целиком
Если используется шифрованный раздел с ОС Proxmox, образ не сжимается в объеме, а остается по объему сравнивым с размером диска
Восстановление
Загружаемся с загрузочного диска или флэшки (ISO - если используем ВМ)
Восстанавливаем целиком образ на новый диск
ПОСЛЕ ВОССТАНОВЛЕНИЯ:
- загружаемся в ОС
- смотрим имя локального сетевого интерфейса (оно наверняка будет другим, нежели в оригинальной системе)
ip a
- меняем имя сетвеого интерфейса в нескольких местах файла /etc/network/interfaces
nano /etc/network/interfaces
reboot
Вариант 3. DD
Работает даже если разделы зашифрованы
Клонирование системного диска pve в образ по SSH
Клонирование
На системе-источнике PVE
Чтобы не копировать весь диск (например, разделы sda1,sda2 суммарно занимают 32ГБ, а весь диск - 500ГБ)
Копируем только полезные данные, неразмеченное место не трогаем
sda - системный диск
fdisk -l /dev/sda
... Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 999424 63500287 62500864 29.8G 83 Linux ...
Нас интересует номер последнего полезного блока (последний блок sda2) - 63500287
Копируем все блоки с первого по последний полезный
/dev/sda - системный диск
192.168.17.12 - сервер ssh, куда будем копировать образ
БЕЗ архивации
dd status=progress bs=512 count=63500287 if=/dev/sda | sshpass -p "PassWord#1" ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o Compression=no -x root@192.168.17.12 dd of=/mnt/raid/usersadm/img/dd/`hostname`_`date +%Y-%d-%m_%H-%M`.img
С архивацией (ПРИ ВОССТАНОВЛЕНИИ ИЗ WINDOWS (программой etcher) ОБРАЗ НЕ ВОССТАНОВИТСЯ. ОБРАЗ ЛУЧШЕ НЕ АРХИВИРОВАТЬ).
dd status=progress bs=512 count=63500287 if=/dev/sda | gzip -1 - | sshpass -p "PassWord#1" ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o Compression=no -x root@192.168.17.12 dd of=/mnt/raid/usersadm/img/dd/`hostname`_`date +%Y-%d-%m_%H-%M`.img.gz
Восстановление
На системе-цели
Linux
Загружаемся с systemrescuecd на целевой системе (192.168.17.169, диск для новой системы - /dev/sda)
Сюда будем клонировать диск из образа
192.168.17.12 - NAS, на котором хранится образ
НЕархивированный образ
ssh root@192.168.17.12 cat /path/to/image.img | dd of=/dev/sda
Архивированный образ
ssh root@192.168.17.12 cat /path/to/image.img.gz | gunzip | sudo dd of=/dev/sda
Windows
Загружаемся с любого загрузочного Windows
Запускаем balenaEtcher 1.5.x
Восстанавливаем ОБЯЗАТЕЛЬНО НЕАРХИВИРОВАННЫЙ образ image.img с сервера SMB
АРХИВИРОВАННЫЙ ОБРАЗ *img.gz КОРРЕКТНО НЕ ВОССТАНОВИТСЯ!
Вариант 4. Клонирование системного диска pve на другой диск в другой системе по SSH
На системе-цели
Загружаемся с systemrescuecd на целевой системе (192.168.17.169, диск для новой системы - /dev/sda)
Сюда будем клонировать диск
На системе-источнике PVE
Чтобы не копировать весь диск (например, разделы sda1,sda2 суммарно занимают 32ГБ, а весь диск - 500ГБ)
Копируем только полезные данные, неразмеченное место не трогаем
sda - системный диск
fdisk -l /dev/sda
... Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 999423 997376 487M 83 Linux /dev/sda2 999424 63500287 62500864 29.8G 83 Linux ...
Нас интересует номер последнего полезного блока (последний блок sda2) - 63500287
Копируем все блоки с первого по последний полезный
dd status=progress bs=512 count=63500287 if=/dev/sda | gzip | ssh root@192.168.17.169 'gzip -d | dd of=/dev/sda'
После окончания перезагружаем целевую систему
Вариант 5. Создаем образ-бэкап диска с системой proxmox с помощью VEEAM-AGENT
Бэкапирование
!!!!!!!НЕ РАБОТАЕТ ВОССТАНОВЛЕНИЕ ПРИ ШИФРОВАННОМ РАЗДЕЛЕ ОС!!!!!!!!!!!!
ИСПОЛЬЗОВАТЬ ТОЛЬКО ЕСЛИ СИСТЕМНЫЙ РАЗДЕЛ НЕЗАШИФРОВАН
КОГДА СИСТЕМА РАСШИФРОВАНА И РАБОТАЕТ - VEEAM БЭКАПИТ РАСШИФРОВАННЫЕ РАЗДЕЛЫ,
А СМЫСЛ В НЕОБХОДИМОСТИ БЭКАПИТЬ ЗАШИФРОВАННЫЕ РАЗДЕЛЫ. МНЕ НЕ УДАЛОСЬ ДОБИТЬСЯ ЭТОГО
Исходные данные:
- установлен Debian 10
- системный раздел зашифрован штатными средствами при установке
sda1 - /boot
sda5 - sda_crypt (на нем разделы / и swap)
- на Debian 10 установлен Proxmox 6
Загружаем со страницы:
https://www.veeam.com/linux-backup-free-download.html
veeam-release-deb_<VERSION>_amd64.deb - для установки veeam в среде Debian
veeam-recovery-media-5.0.0.4318_x86_64.iso - для дальнейшего восстановления образа
Устанавливаем репозиторий
dpkg -i veeam-release-deb_<VERSION>_amd64.deb
Обновляем систему
apt update
apt full-upgrade
Устанавливаем утилиты
apt install pve-headers
apt install veeam cifs-utils
Accept license
veeamconfig agreement accepteula && veeamconfig agreement acceptthirdpartylicenses
Create repo
Сreate repo SMB
veeamconfig repository create --name nas-17-12 --type smb --location //192.168.17.12/img/veeam --username backup --password
Create job
veeamconfig job create volumeLevel --name `hostname` --backupAllSystem --maxPoints 7 --repoName nas-17-12
Edit job (change maxPoints to 7)
veeamconfig job edit volumeLevel --maxPoints 7 for --name `hostname`
Start backup job
veeamconfig job start --name `hostname`
To perform active full backup MANUALY, use the following command:
veeamconfig job start --name <job_name> --activefull
Schedule job
veeamconfig schedule set --jobName `hostname` --daily --at 00:00
Schedule active-full backup
veeamconfig schedule activefull set --jobName `hostname` --weekdays Saturday
Show job info
veeamconfig job info --name `hostname`
Show job scedule
veeamconfig schedule show --jobName `hostname`
Восстановление
Используем загрузочный ISO отсюда:
https://www.veeam.com/linux-backup-free-download.html
veeam-recovery-media-5.0.0.4318_x86_64.iso