No linux, como faço para criar / restaurar um instantâneo de imagem de toda a minha unidade?

13

Estou muito estragado por utilitários do Windows que tiram uma foto digital de toda a sua unidade, da qual você pode restaurá-la no caso de uma falha na unidade. (por exemplo, como o Time Machine para Mac OS X).

Existe uma maneira semelhante de fazer isso no Linux?

    
por user35997 13.12.2008 / 01:26

9 respostas

12

A ferramenta que você quer (que mais se assemelha ao Time Machine) é chamada de rsnapshot . Ao contrário das ferramentas de backup normais, copia apenas as coisas que foram alteradas e permite-lhe viajar facilmente para muitos pontos no tempo. Você pode informar quanto espaço em disco é permitido ter e ajusta o número de instantâneos mantidos para permanecer dentro desse limite. Uma ferramenta muito legal.

    
por 13.12.2008 / 02:51
6

PartImage é executado a partir da linha de comando ou como uma GUI de texto. Tem uma vantagem importante sobre o dd:

Partimage will only copy data from the used portions of the partition. For speed and efficiency, free blocks are not written to the image file. This is unlike the 'dd' command, which also copies empty blocks.

    
por 13.12.2008 / 02:38
6

Você pode simplesmente fazer " dd if=/dev/sda of=/path/to/target/backup " se souber que tem a sala onde está tentando colocá-lo. Você também pode fazer " dd if=/dev/sda | bzip2 > /path/to/target/backup " para compactar on-the-fly. Isso pode levar algum tempo embora.

Você também pode usar " tar --preserve-permissions -cjf backup.tar.bz2 /what/to/backup " como um usuário com todas as permissões de leitura necessárias. Faça a sua escolha.

Adendo: Eu comprei recentemente um novo laptop, pré-instalado com o Vista. Imaginei que queria preservar o vista em algum lugar, caso eu quisesse testá-lo em algum momento, então, na primeira vez em que inicializei o computador (com um linux livecd), fiz isso:

dd if=/dev/sda | ssh 10.0.0.1 "bzip2 > ~/vistadrive.bz2"

Isso foi em uma rede local rápida, é claro. Caso contrário, teria sido mais prudente comprimir antes da transmissão:

dd if=/dev/sda | bzip2 | ssh 10.0.0.1 "cat > ~/vistadrive.bz2"

Espero que você ache isso útil.

Editar: Ops. bb alterado para dd ...

    
por 13.12.2008 / 02:00
4

Eu uso uma estratégia dupla: # 1 é instantâneos do LVM e o número dois é rsnapshot , que eu uso para fazer backups point-in-time em uma unidade de disco rígido externa dedicada. A unidade de disco rígido externa é colocada de forma que eu possa puxá-la facilmente para fora da porta caso algo ruim aconteça. Eu não (ainda) uso um mecanismo externo além de gravar periodicamente um instantâneo em uma série de DVDs codificados e enviá-los para o local de um amigo em outra cidade para armazenamento.

Eu recomendo altamente o rsnapshot por causa da maneira como ele faz os snapshots, usando hard links para coisas que não foram alteradas. Se o seu diretório home não funcionar, você pode simplesmente copiar o rsnapshot e o tarpipe ou rsync de volta para sua nova partição inicial após reinstalar ou recuperar da falha da unidade.

    
por 13.06.2009 / 08:37
3

Vários. Há o antiquado dd (1) , que é meio misterioso; há dump (8) e restore (8) ; existem vários produtos de código aberto, como Amanda ; e se você quiser, você pode instalar o ZFS e usar um cron script para tirar instantâneos periódicos, dando-lhe algo efetivamente idêntico ao Time Machine (veja o blog de Tim Foster).

A Wikipédia tem um artigo com uma lista de muitas opções .

    
por 13.12.2008 / 01:34
2

Se você deseja um backup em nível de arquivo, como o computador do tempo, é altamente recomendável rsnapshot como Norman sugerido .

Se você está querendo uma solução de backup de imagem completa e tipo de restauração, como o norton ghost, então eu achei que o CloneZilla funcionava muito bem . Eu inicializo o CD ao vivo e, em seguida, uso outra máquina como um servidor SSH para fazer backup / restauração da (s) imagem (s) de / para.

(Eu até consegui fazer com que a versão ao vivo funcionasse via boot PXE para um laptop tablet antigo que eu tinha sem drive de CD e sem inicialização de USB, mas foi muito complicado.)

E você também pode usá-lo em máquinas com Windows.

    
por 13.06.2009 / 08:36
1

Sempre me preocupei em usar dd quando as unidades eram de tamanhos diferentes. Ou tinha números diferentes de cabeças / setores / faixas / etc.

dd é muito útil ao fotografar e reflashing a mesma unidade. Especialmente drives USB ou partições do Windows. Mas quando vou de uma unidade de 500Meg a uma de 1500Meg, fico preocupado.

Além disso, quando meu disco falha, eu gosto de usá-lo como uma desculpa para atualizar para um sistema operacional mais novo.

Tudo o que disse, o bom e velho tar faz um bom trabalho! GNU-tar inclui diff-tar-contra-arquivos , somente-update-files-that-have-changed , e somente Opções -archive-files-newer-than-date .

(Eu deveria mencionar: Eu tive um bug há alguns anos que exigia que eu baixasse e instalasse uma versão mais nova do GNU-tar . (Algo a ver com nomes de caminhos muito longos e múltiplos) volumes.) Não é grande coisa. Apenas esteja ciente de que é sempre uma opção.

Você provavelmente deve excluir / proc , / sys / var / log / lastlog ou / mnt . (Eu normalmente faço backup em uma unidade externa montada em / mnt . Fazendo backup do backup - não tão bom!)

Incluir / dev pode valer a pena. O gnu-tar manipulará dispositivos adequadamente ( mknod ). Embora você provavelmente não use o backup / dev durante uma restauração. (Ocasionalmente é legal ver quais permissões ou links você configurou antes.)

Além disso, talvez você queira despejar fdisk & rpm info antes de fazer o backup. Por exemplo,

/sbin/sfdisk -l /dev/sda > /....../info_sda
rpm -qa | sort > /...../info_rpms
rpm -qa --qf "%{ARCH} \t %{NAME}-%{VERSION}-%{RELEASE}\n" | sort -k2,2 > /........./info_rpms_arch

Além de montar qualquer sistema de arquivos "opcional" montado pelo usuário .

    
por 14.12.2008 / 00:22
1

Aqui estão os passos completos para outro método, funciona para mover de um disco rígido para outro e até mesmo clonar uma máquina se o hardware for semelhante.

Primeiro, crie uma imagem de um bom sistema de trabalho. Faça isso como root.

# cd / 
# tar cpzf hostname.tgz / --exclude=hostname.tgz --exclude=proc --exclude=lost+found --exclude=mnt --exclude=sys --exclude=home --exclude=usr/src

Backup das imagens do kernel

# mount /boot
# cd /boot
# tar cpzf boot.tgz *

Inicialize a máquina na qual você quer que a imagem seja implantada com um CD ao vivo / gentoo. Monte o disco rígido e particione-o adequadamente:

# fdisk /dev/hda
/dev/hda1  /boot
/dev/hda2  swap
/dev/hda3  /tmp
/dev/hda4  /

Adicione sistemas de arquivos

# mke2fs /dev/hda1
# mkswap /dev/hda2
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

Montar unidades:

# mount /dev/hda4 /mnt/new_root
# mkdir /mnt/new_root/tmp
# mkdir /mnt/new_root/boot
# mkdir /mnt/new_root/proc
# mkdir /mnt/new_root/sys
# mount /dev/hda3 /mnt/new_root/tmp
# mount /dev/hda1 /mnt/new_root/boot
# swapon /dev/hda2
# mount -t proc proc /mnt/new_root/proc

Copie o arquivo hostname.tgz para esta máquina.

Extraia-o na raiz da nova máquina / mnt / new_root

# tar -xzf hostname.tgz

Chroot no novo ambiente.

# chroot /mnt/new_root /bin/bash
# env-update && source /etc/profile

Verifique o /boot/grub/grub.conf e o / etc / fstab

Configurar o grub no disco rígido:

# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install /dev/hda

Saia e desista de unidades, reinicie a máquina.

    
por 13.06.2009 / 07:56
0

Você pode ter instantâneos no Linux usando o LVM, o gerenciador de volume lógico.

    
por 26.01.2009 / 07:50