Назад | Перейти на главную страницу

Загрузочная резервная копия USB

Я хотел бы создать копию моей работающей установки Linux на USB-накопителе емкостью 16 ГБ. Текущая система представляет собой базовый ПК ATX, используемый в качестве удаленного сервера в качестве удаленного сервера. Я хотел бы иметь возможность резервного копирования на случай отказа жесткого диска. В основном кто-то выключал компьютер, подключал USB-накопитель, содержащий точную копию системы, и система загружалась и запускалась с USB-накопителя столько, сколько необходимо, то есть до тех пор, пока я не смогу добраться до места с новой надлежащей заменой жесткого диска. .

Текущий размер жесткого диска составляет 120 ГБ. Используемое пространство составляет около 5 ГБ. Итак, вопросы:
1. Как создать его точную (загрузочную) копию на USB-накопителе размером 16 ГБ?
2. Как скопировать все обратно на диск большего размера (например, 250 ГБ или 500 ГБ), когда я устанавливаю новый жесткий диск? Желательно расширить файловую систему до размера всего диска, потому что остальное свободное пространство иногда используется в качестве хранилища для покадровой фотографии.

Вот еще несколько подробностей о текущей конфигурации диска:

fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xac46573c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64       14594   116707328   8e  Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_swap: 1979 MB, 1979711488 bytes
255 heads, 63 sectors/track, 240 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_home: 63.8 GB, 63837306880 bytes
255 heads, 63 sectors/track, 7761 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

df -BG

Filesystem           1G-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                           50G        3G       45G   5% /
tmpfs                       1G        0G        1G   0% /dev/shm
/dev/sda1                   1G        1G        1G  20% /boot
/dev/mapper/VolGroup-lv_home
                           59G        1G       55G   2% /home

Универсальный инструмент для низкоуровневой работы с жесткими дисками

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Игра с низкоуровневым инструментом может нанести вред вашей системе! Не спрашивайте меня о нанесенном вами потенциальном ущербе!

Для такого рода работ я использую личный версия Debian-Live, собран со всеми необходимыми дисковыми инструментами

    gsmartcontrol
    smartmontools
    partclone
    ntfs-3g
    lvm2
    mdadm

Резервное копирование

Есть несколько шагов для резервного копирования вашей машины:

  • Копирование структуры раздела Для этого вы можете использовать любой из parted, sfdisk, gparted или другой cfdisk... С последующим mdadm и / или lvm2 инструменты.
  • Копирование данных Копирование данных может быть выполнено с помощью следующей команды: tar -cpC /sourcePath . | tar -xpC /destPath. Для резервного копирования смонтированных разделов с активным подмонтированием я использую следующие обходной путь (образец корневого каталога резервной копии /):

    # Debian-live is automatically mounted to /media/DEBIAN-LIVE and /media/persistance
    mkdir /media/persistance/root/Backup
    mount --bind / /mnt
    tar -zcpC /mnt . >/media/persistance/root/Backup/root.tgz
    umount /mnt
    
  • Сделать систему загрузочной. Это более тонко: если вы загрузились Debian-Live вы должны построить свою целевую структуру, chroot в них, чем бежать grub-install:

    # mount /dev/mapper/VolGroup-lv_root /mnt
    # mount dev/sda1 /mnt/boot
    # # /home is useless for installing grub
    # for bind in proc sys dev{,/pts};do mount --bind /$bind /mnt/$bind;done
    # chroot /mnt
     # /usr/share/mdadm/mkconf >/etc/mdadm/mdadm.conf
     # update-initramfs -u -k all
     # grub-install
     # exit
    # umount /mnt/{dev{/pts,},sys,proc,}
    

Затем (в надежде, что все работает нормально) я перезагружаюсь.

Альтернатива мульти-ОС с помощью partclone

Есть в общем и целом решение для поддержки целых разделов, но при хранении побайтово каждый раздел, вы необходимость место назначения больше или того же размера, что и ваш источник: (в любом случае это может быть сохранено на небольшом USB-носителе).

Основа такая же, построена самостоятельно Debian вживую со всеми необходимыми инструментами, но partclone.

Чем хранить весь мультизагрузочный диск с WinXP и Linux на одном диске (пример):

mkdir ReleventDirectoryName
cd $_
SOURCE=sdA 
dd if=/dev/$SOURCE count=1 | gzip >bblock.gz
sfdisk -d /dev/$SOURCE >sfdisk.dump
partclone.ntfs -c -s /dev/${SOURCE}1 | xz >part1-ntfs.pclone.xz
partclone.ext4 -c -s /dev/${SOURCE}2 | xz >part2-ext4.pclone.xz
partclone.ext4 -c -s /dev/${SOURCE}5 | xz >part5-ext4.pclone.xz

и так далее...

к восстановить, вам нужно только обратить процесс:

cd ReleventDirectoryName
DEST=sdA
zcat bblock.gz | dd of=/dev/$DEST
sfdisk /dev/$DEST <sfdisk.dump
partclone.ntfs -r -o /dev/${DEST}1 < <(xzcat part1-ntfs.pclone.xz)
partclone.ext4 -r -o /dev/${DEST}2 < <(xzcat part2-ext4.pclone.xz)
partclone.ext4 -r -o /dev/${DEST}5 < <(xzcat part5-ext4.pclone.xz)

Затем ... перезагрузитесь ...!