Инструменты пользователя

Инструменты сайта


os:backup

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
os:backup [29.01.2020 06:40] – [Система на GPT] viacheslavos:backup [30.07.2024 19:21] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +===== Резервное копирование системы =====
 +==== Система на MBR ====
 +Два раздела - загрузочный /boot и / на LVM.
 +Сначала надо получить всю информацию:
 +<code bash>
 +fdisk -l
 +df -Th
 +pvdisplay
 +vgdisplay
 +lvdisplay
 +swapon -s # --show
 +ls -l /dev/mapper
 +# Нужно знать размеры разделов в байтах, это нужно при восстановлении
 +lvdisplay /dev/vg0/root --unit B |grep 'LV Size' |sed 's![^0-9]!!g'
 +</code>
  
 +<code bash>
 +# Бэкап /boot, в архиве будет папка boot, и там всё остальное
 +tar -czf /mnt/backup/boot01.bz2 /boot
 +# Посмотреть, что в архиве
 +tar -tvf /mnt/backup/boot01.bz2
 +
 +# Копия раздела / на LVM
 +# Снапшот
 +lvcreate -s -n root-snap -L 512M /dev/vg0/root
 +mkdir /mnt/root
 +mount /dev/vg0/root-snap /mnt/root
 +# бэкап
 +dd if=/dev/vg0/root-snap conv=sync,noerror bs=64K |gzip -c > root.img.gz
 +
 +# вариант с копированием по SSH
 +dd if=/dev/vg0/root-snap conv=sync,noerror bs=64K |gzip -c |ssh user@hostname "dd of=root.img.gz bs=64k"
 +
 +# вариант с netcat
 +dd if=/dev/vg0/root-snap conv=sync,noerror bs=64K |gzip -c |nc 192.168.1.1 3333
 +# при этом на удалённой машине должно быть запущено
 +nc -l -p 3333 > hda.img.gz
 +
 +# вариант с SMB
 +smbmount //192.168.1.100/shared /mnt/remoteshare -o username=имяпользователя,password=пароль
 +# дальше бэкап как на локальную машину
 +</code>
 +
 +==== Система на GPT ====
 +Дано - раздел ESP (/boot/efi), /boot, /.\\
 +[[https://askubuntu.com/questions/698980/how-can-i-make-a-backup-of-an-efi-system-partition|Резервная копия раздела ESP]] делается точно так же, как и /boot.
 +<code bash>
 +tar czf /path/to/backup/ESP_backup.tar.gz /boot/efi
 +</code>
 +Вероятно, можно делать копию просто раздела /boot вместе с ESP и восстанавливать их вместе после монтирования разделов в соответствующие каталоги на новой системе.
 +===== Восстановление системы =====
 +==== Система на MBR ====
 +<code bash>
 +# Разметить новый системный диск как старый, размер / сделать точно такого же размера, что и старый
 +lvcreate -n root -L 7634762534B vg0
 +# вартиант - взять значение из файла
 +lvcreate -n root -L $(cat /mnt/backup/rootsize)B vg0
 +
 +# Восстановление локально
 +zcat /mnt/backup/root.img.gz | dd of=/dev/vg0/root conv=sync,noerror bs=64K
 +# с удалённой машины
 +dd if=root.img.gz | ssh user@deadhost "zcat | dd of=/dev/vg0/root bs=64k"
 +# в данном случае не следует использовать опцию conv=sync,noerror в опциях dd - 
 +# если вы всё-таки включите эту опцию, в большинстве случаев это исказит записываемые данные
 +# (это заставляет dd не дожидаться данных, приходящих по сети, если целый блок недоступен).
 +
 +# Восстановить /boot
 +mount /dev/sda1 /mnt/root/boot
 +tar xjf /mnt/backup/boot01.bz2 -C /mnt/root/boot --strip=1
 +
 +# Восстановление GRUB
 +mount -t proc none /mnt/root/proc
 +mount --rbind /sys /mnt/root/sys
 +mount --rbind /dev /mnt/root/dev
 +chroot /mnt/root /bin/bash
 +grub-install /dev/sda
 +update-grub
 +</code>
 +
 +http://mydebianblog.blogspot.com/2008/03/dd.html\\
 +https://access.redhat.com/solutions/26045
 +
 +==== Система на GPT ====
 +<code bash>
 +
 +# Восстановление GRUB
 +sudo mount /dev/sdXXX /mnt
 +sudo mount /dev/sdXX /mnt/boot/efi
 +for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
 +sudo chroot /mnt
 +grub-install /dev/sdX
 +update-grub  
 +</code>
 +
 +https://askubuntu.com/questions/831216/how-can-i-reinstall-grub-to-the-efi-partition\\
 +https://superuser.com/questions/111152/whats-the-proper-way-to-prepare-chroot-to-recover-a-broken-linux-installation

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki