migração de dados

migração de dados

  • Migrando seus dados pra um disco novo

    Essa dúvida surgiu no grupo de Ubuntu do Telegram (https://t.me/ulboficial) e ao invés de responder lá eu preferi escrever um artigo sobre isso.

    O método que uso, principalmente em laptops novos, é basicamente o mesmo desde... acho que aprendi a fazer isso por volta dos anos 2000.  Era um capítulo do venerado livro "Unix Power Tools", a bíblia dos scripts pra sysadmins.

    Livro Unix Power Tools
    Livro Unix Power Tools

    Eu primeiramente insiro o HD novo e particiono.  Não vou usar o exemplo de LVM, que é mais simples, mas o mais cabeludo que é quando se cria todas as partições que vai usar.  Então digamos que eu adicione um novo HD que aparecerá para mim como /dev/sdb (pra facilitar).  Supondo que o particionamento seja o seguinte:

    • /dev/sdb1: /boot
    • /dev/sdb5: /
    • /dev/sdb6: /home

    O passo seguinte, após formatar as partições no formato desejado (eu geralmente uso XFS), é montar essas partições em um local onde possa copiar os dados.  Eu normalmente uso o /mnt pra essa finalidade.

    root@goosfraba ~# mount /dev/sdb5 /mnt
    root@goosfraba ~# mount /dev/sdb1 /mnt/boot
    root@goosfraba ~# mount /dev/sdb6 /mnt/home
    

    Uma vez com tudo montado é fazer cópia de um lado pro outro evitando copiar o /mnt, que já está em uso com o disco novo, e diretórios como /proc, /dev ou /sys, que são criados durante o boot.  E pra isso eu uso o comando tar.

    root@goosfraba ~# tar cvf - --exclude=./proc --exclude=./sys --exclude=./dev --exclude=./mnt -C / . | tar xf -C /mnt

    Com isso o disco já está todo pronto em /mnt.  Resta corrigir o boot.  Pra isso eu uso chroot pra acessar o disco novo a partir de /mnt e montando tanto /proc quanto /dev pro grub localizar o disco corretamente.

    root@goosfraba ~# mkdir /mnt/{proc, dev}
    root@goosfraba ~# mount --bind /proc /mnt/proc
    root@goosfraba ~# mount --bind /dev /mnt/dev
    root@goosfraba ~# chroot /mnt
    root@chroot ~$ grub-install /dev/sdb 
    

    Assumindo que vá remover o primeiro disco, /dev/sda, e sdb será o novo sda, nada mais é preciso.  Agora caso vá ficar com sdb como disco principal, então é preciso modificar as entradas do /etc/fstab pra conter os dados corretos do novo disco.

    Ao terminar e antes de rebootar, tenha com você o disco de instalação em mãos pra utilizar o modo de recuperação em caso de algum problema (e não precisar ficar colocando o disco antigo).

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.