Cópia do Linux para outra máquina
O processo de instalação de uma distribuição Linux consiste em automatizar tarefas para a configuração do sistema operacional no hardware de destino. Embora o processo possa ser feito manualmente, na maioria das vezes as facilidades de um instalador são bem vindas.
Porém quando somente é necessário a troca do hardware de um sistema já instalado, isto é, mover uma instalação para outra máquina, uma nova instalação pode ser muito dispendiosa. Nesse caso, com a simples cópia dos arquivos para a outra máquina e mais alguns poucos ajustes podemos obter um sistema pronto para uso em muito menos tempo.
Os passos sugeridos para a cópia são os seguintes:
1. Parar os serviços de rede
Para evitar corrupção de dados é recomendado o desligamento dos serviços ativos no servidor, como por exemplo Samba, Bancos de dados (MySQL, PostgreSQL), etc.
2. Copiar os arquivos usando o tar
Escolha uma partição que comporte os dados, um disco externo é uma boa opção. Os dados serão compactados então o espaço usado será bem menor que o uso atual:
Aqui vou usar o diretório /backup:
mkdir /backup cd /backup
Vamos excluir alguns diretórios de sistema que não precisam ser copiados:
cat backup.excl /proc/* /dev/* /sys/* /mnt/* /backup
Pode-se acrescentar outros caminhos conforme o caso.
Dica: “/proc/*” vai criar o diretório /proc mais não vai copiar o seu conteúdo, já “/backup” não vai nem copiar o diretório backup.
Copiando o sistema operacional:
tar cvzf backup_linux.tar.gz / -X backup.excl
3. Bootar a nova máquina com um LiveCD
Pode ser um LiveCD como o Ubuntu ou a própria mídia de instalação da distribuição no modo rescue.
Abra um shell como root e continue seguindo os passos.
4. Particionar o novo disco.
Aqui pode ser usado o mesmo esquema de partição existente antes, o que facilita as coisas, ou um novo esquema que pode precisar de ajustes no fstab e no bootloader.
O particionamento é algo muito específico para mostrar algo aqui, estas [1][2] são duas referências em caso de dúvidas.
Nesse exemplo o esquema usado é o seguinte:
/dev/hda1 /boot 100MB /dev/hda2 / 10GB /dev/hda3 swap 1GB
5. Montar e copiar
Montar as partições criadas:
mount /dev/hda2 /mnt mkdir /mnt/boot mount /dev/hda1 /mnt/boot
Copiar o arquivo tar para a nova partição e descompactar:
cd /mnt tar xvzpf backup_linux.tar.gz
Dica: usamos o ‘p‘ somente para descompactar.
6. Chroot (jail):
Essa é a parte dos “ajustes especias” para o sistema “bootar” no novo hardware.
Montar arquivos especiais:
mount -t proc none /mnt/proc mount -o bind /dev /mnt/dev mount -o bind /sys /mnt/sys
Entrando no jail:
chroot /mnt /bin/bash
A partir de agora os comandos serão executados dentro do jail.
7. Ajustando o ambiente (jail):
source /etc/profile grep -v rootfs /proc/mounts > /etc/mtab
Verificar e corrigir o fstab de acordo com as partições criadas anteriormente.
Exemplo (só exemplo mesmo não use isso!):
/dev/hda1 /boot ext2 noatime 1 2 /dev/hda2 / ext3 defaults 0 1 /dev/hda3 none swap sw 0 0 /dev/hdc /mnt/cdrom auto noauto,ro 0 0 proc /proc proc defaults 0 0
Verificar e corrigir o /boot/grub/device.map do GRUB.
Exemplo:
(hd0) /dev/hda
No caso de discos SATA:
(hd0) /dev/sda
Verificar e corrigir as configurações do GRUB em /boot/grub/menu.lst ou /boot/grub/grub.cfg (vai variar de acordo com a distribuição).
Atenção especial para o parâmetro root da entrada kernel. Exemplo:
kernel /boot/kernel-2.6.18 root=/dev/hda2
8. Instalando o bootloader (GRUB):
grub grub> root (hd0,0) # (Definir em qual partição está o /boot) grub> setup (hd0) # (Instala o GRUB na MBR) grub> quit # (Sair do shell do GRUB)
9. Finalizando o jail
exit umount /mnt/proc umount /mnt/dev umount /mnt/sys umount /mnt/boot umount /mnt
10. Reiniciar e testar
Reinicie o sistema (reboot) e teste a nova instalação.
Lembrando que esse é um guia genérico e deve ser adaptado conforme a versão do Linux usada. Muitas coisas podem ser diferentes do que foi apresentado aqui, mas essa é a ideia geral para agilizar a migração para o um novo hardware.
[1] http://www.mtm.ufsc.br/~krukoski/pub/linux/focalinux2/ch-disc.htm
[2] http://www.hardware.com.br/livros/entendendo-linux/particoes-linux.html
Fonte: http://nextsense.com.br/blog/archives/470