Veremos aqui como realizar um backup de qualquer distribuição (como exemplo, o Gentoo), de qualquer sistema de arquivos, para qualquer partição seja de que tamanho for (desde que atenda a capacidade necessária para os dados), a ferramenta para tal será o FSArchiver.
Provavelmente disponível em qualquer distribuição decente, e dentre elas cito: Arch Linux, Debian, Slackware e Gentoo, veremos então como instalar a versão mais atualizada no Slackware no modo hard-core:
# wget https://slackbuilds.org/slackbuilds/14.2/system/fsarchiver.tar.gz # tar xvf fsarchiver.tar.gz # cd fsarchiver # chmod +x fsarchiver.SlackBuild # wget -nv https://github.com/fdupoux/fsarchiver/releases/download/0.8.4/fsarchiver-0.8.4.tar.gz # sbopkg -r # sbopkg -k -i "lz4 zstd" # VERSION=0.8.4 sh fsarchiver.SlackBuild # installpkg /tmp/fsarchiver-0.8.4-x86_64-1_SBo.tgz
Ou se quiserem o modo tetinha, usem a versão padrão do SlackBuilds, a 0.8.0, assim:
# sbopkg -r # sbopkg -k -i fsarchiver
Utilização:
Execute o comando abaixo para ver as opções do programa, incluindo alguns exemplos:
$ fsarchiver -h
Backup!
Porque será que o sistema de testes foi justamente o Gentoo?, ganhará um doce aquele que disser que é devido ao tempo necessário para instalar, configurar, etc, certo? bingo!
No exemplo abaixo, como dito farei uma cópia da partição onde está instalado o Gentoo e salvarei o arquivo na minha partição de backup:
# fsarchiver savefs -o /mnt/backup/ISOS/backup-fsa001-gentoo-amd64-20180417.fsa /dev/sdb6 -v -j2 -A
É importante dizer algumas coisas a respeito da opções usadas, por exemplo caso seu processador possua muitos cores, você pode aumentar o valor -j para o seu nº de cores +1, a opção -A permite realizar a cópia de um sistema de arquivos que esteja montado, a opção -v (de verbose, não preciso explicar), para mais vejam o help do programa.
Logo, devo dizer que essa preocupação se deu porque meu HD principal e onde estão instalados 2 Slackwares (32 e 64 Bits), Gentoo e Void Linux, anda capengando, travando o sistema de vez em quando, por isso achei uma boa voltar a usar o FSArchiver, coisa que não fazia desde que usava o Arch Linux.
Então, para demonstrar pra valer, pego um HD de 250GB que tinha aqui guardado, removo sua única partição existente, crio 3 partições primárias (60GB Slack64, 60GB Slack32 e 75GB Gentoo) e 1 partição extendida para o Void Linux (35GB) e a sobra para a SWAP, sigam-me os bons:
# cfdisk /dev/sdd # mkfs.ext4 /dev/sdd1 # mkfs.ext4 /dev/sdd2 # mkfs.ext4 /dev/sdd3 # mkfs.ext4 /dev/sdd5 # mkswap /dev/sdd6
Listando as novas unidades:
# ls -al /dev/disk/by-uuid/
Restauração!
Agora faremos o processo inverso, que será a extração do arquivo previamente criado para um destino qualquer, lembrando que já formatei as partições, obtive as UUIDS das mesmas, etc, bastará pra mim (APENAS que o DESTINO comporte todos os dados) e nesse caso assim será pois na instalação anterior o espaço em disco eram de 35GB, estando 25GB ocupados, no novo DESTINO a partição é de 75GB, então:
# fsarchiver restfs backup-fsa001-gentoo-amd64-20180417.fsa id=0,dest=/dev/sdd3,label=gentoo,uuid=977f8c13-0480-40d2-8d0b-5d8fbc8619af
Também é importante dizer algumas coisas a respeito das opções usadas, por exemplo aqui vemos restfs (em vez de savefs) por que será? rsrs. Onde se vê id=0 indica que este é o primeiro sistema de arquivos encontrado no arquivo criado quando executado o backup (SIM! você pode criar um único backup com mais de um sistema de arquivos), você também pode dividir o arquivo de backup em volumes com tamanho determinado, atribuir senhas, opções do mkfs, formatação de um para um novo sistema de arquivos, etc. Voltando… em dest=/dev/sdd3 é o caminho da nova partição previamente formatada, label=gentoo o rótulo escolhido e uuid=x.y.z, o resultado exibido com o comando:
# ls -al /dev/disk/by-uuid/ ou # blkid
Finalizando!
Agora é chegada a hora de montar o sistema restaurado, editar o seu /etc/fstab e o arquivo /boot/grub/grub.cfg, pois o mesmo terá uma UUID diferente:
# mkdir /mnt/gentoo-new # mount /dev/sdd3 /mnt/gentoo-new/ # ls /mnt/gentoo-new/ # ls /mnt/gentoo-new/boot/ # nano /mnt/gentoo/etc/fstab # nano /mnt/gentoo/boot/grub/grub.cfg # reboot
Se tudo der certo ao reiniciar em sua nova partição, execute o comando abaixo para atualizar o Grub de seu sistema:
# grub-mkconfig -o /boot/grub/grub.cfg
Por via das dúvidas, antes de reiniciar anote a UUID da nova partição, pois em caso de erro, na tela do Grub tecle “e” na linha referente ao sistema e edite a UUID, como no exemplo abaixo:
Abaixo, vejam o novo sistema, exibindo a montagem do antigo gentoo e a atualização deste novo:
Abaixo seguem processos de cópia do Void Linux e Slackware 32Bits, neste novo Gentoo e desta vez dividindo o arquivo de backup em múltiplos volumes:
# fsarchiver savefs -s 650 -o /mnt/backup/ISOS/backup-fsa001-voidlinux-amd64-20180417.fsa /dev/sdc7 -v -j2 -A # du -sh /mnt/backup/ISOS/backup-fsa001-voidlinux-amd64-20180417.f*
# fsarchiver savefs -s 650 -o /mnt/backup/ISOS/backup-fsa001-slack32-20180417.fsa /dev/sdc2 -v -j2 -A # du -sh /mnt/backup/ISOS/backup-fsa001-slack32-20180417.f*
Por tratar-se de uma solução mais elegante, com este artigo sobre o fantástico FSArchiver, eu desaconselho vocês a utilizarem o constante do artigo abaixo (embora este também funcione):
HOW-TO :: CÓPIA DE INSTALAÇÃO PARA OUTRA PARTIÇÃO
Ou mesmo ferramentas como o Partimage, cujos prós e contras podem ser vistos no link abaixo:
FSArchiver – Comparison with partimage
t+
Ótimo artigo Edinaldo.
Quando comecei a ler pensei que este programa seria semelhante ao antigo “Norton Ghost” mas, se entendi direito, ele não restaura nem a partição nem o sistema de arquivo anterior ao backup sendo necessário criá-los posteriormente antes da restauração. No entanto é uma ótima opção para se guardar uma cópia do sistema em eventuais falhas sejam elas de hardware ou software. Vou testar no openSUSE.
Muito bom artigo.
CurtirCurtir
O sistema de arquivos, você pode inclusive indicar para formatação antes do início da cópia.
Achei melhor formatar antes e apenas indicar a UUID e o destino.
CurtirCurtir
Salve mano.
Parabéns pelo trabalho.
Da próxima vez que for fazer estrepolias no meu hd principal vou usar essa dica.
Pois algum tempo atrás resolvi aplicar o ZFS na minha partição de armazenamento geral.
https://www.vivaolinux.com.br/screenshot/Tiling-window-manager-ZFS/
Imagina o risco de ferrar tudo nessa brincadeira, rsrsrs.
Obrigado pela atenção, salve!!!
CurtirCurtir
Valeu @zezao, realmente ajudará bastante, agora só me resta realizar a restauração dos outros sistemas e a cópia da minha partição de backup.
Não dá pra confiar neste HD que estou usando. Pelo menos o principal já foi feito que é o gentoo, o Slack eu instalo em 30min.
Um abraço!
CurtirCurtir
ola, e o seguinte , tenho um servidor com centos7, no qual vou trocar o hd existente por um ssd de um tera.No novo ssd ja fiz a mesma instalaçao minimal que no servidor, mas nao consigo copiar as pastas que preciso.Como poderia fazer isso com fsarchiver?obriggado
CurtirCurtir
O argumento restfs SEMPRE recria o sistema de arquivos. Como por padrão o FSArchiver preserva rótulo e UUID originais, não precisa colocar “label=” e “uuid=” ao usar restfs se for para especificar os mesmos do sistema de arquivo original! As opções “label=” e “uuid=” foram criadas para quando queremos justamente restaurar com rótulo e UUID diferentes dos originais. 😉
CurtirCurtir