Backup USB inicializável

1

Eu gostaria de criar uma cópia da minha instalação Linux em um pen drive USB de 16 GB. O sistema atual é um PC ATX básico usado como um servidor sem cabeçalho em um local remoto. Eu gostaria de ter uma opção de backup em caso de falha no disco rígido. Basicamente, alguém desligaria o computador, conectaria o USB contendo a cópia exata do sistema e o sistema inicializaria e sairia da unidade USB pelo tempo que for necessário, ou seja, até eu conseguir chegar ao local com a nova substituição adequada do HDD .

O HD atual é de 120 GB. O espaço usado é de cerca de 5 GB. Então as perguntas são:
1. Como criar uma cópia exata (inicializável) disso, em uma unidade usb menor de 16 GB?
2. Como copiar tudo de volta para uma unidade maior (por exemplo, 250 GB ou 500 GB) quando faço uma nova instalação de HDD? De preferência, expandir o sistema de arquivos de volta para todo o tamanho do disco, porque o restante do espaço livre é usado ocasionalmente como armazenamento de fotografia com lapso de tempo.

Aqui estão mais alguns detalhes sobre a configuração atual do disco:

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
    
por Ivan Kovacevic 17.11.2013 / 11:27

1 resposta

2

Ferramenta genérica para trabalho de baixo nível contra discos rígidos

EXCLUSÃO DE RESPONSABILIDADE Jogar com a ferramenta de baixo nível pode prejudicar o seu sistema! Não me pergunte nada sobre possíveis danos que você fez!

Para este tipo de trabalhos, eu uso uma versão pessoal de Debian-Live , construída com todos ferramentas de disco necessárias

    gsmartcontrol
    smartmontools
    partclone
    ntfs-3g
    lvm2
    mdadm

Cópia de segurança

Existem alguns passos para apoiar a sua máquina:

  • Copiando a estrutura da partição Para isso, você pode usar qualquer uma das ferramentas parted , sfdisk , gparted ou outro cfdisk ... Seguido por mdadm e / ou lvm2 .
  • Copiando dados Copiar dados pode ser feito pelo seguinte comando: tar -cpC /sourcePath . | tar -xpC /destPath . Para backup de partições montadas com submontagem ativa, eu uso a seguinte solução alternativa (diretório raiz de backup de amostra / ):

    # 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
    
  • Torna o sistema inicializável . Isso é mais sutil: Supondo que você tenha inicializado em Debian-Live você tem que construir sua estrutura de destino, chroot neles, do que executar 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,}
    

Do que (Na esperança de que tudo funcione bem) eu reinicio.

Alternativa multi-os usando partclone

Existe uma solução global para fazer backup de partições inteiras, mas como você armazena byte-by-byte em cada partição, você precisa de um destino maior ou com o mesmo tamanho da sua fonte: (Isso pode ser armazenado em uma pequena chave USB).

A base é bem a mesma, construiu seu próprio Debian live com todas as ferramentas necessárias, mas partclone .

Do que armazenar um disco multi-boot inteiro compartilhando WinXP e Linux no mesmo disco (amostra):

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

e assim por diante ...

para restaurar , você só precisa inverter o processo:

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)

Do que ... reinicie ...!

    
por 17.11.2013 / 12:08