Qual é a maneira correta de mover um servidor Ubuntu de uma máquina para outra?

0

Tentou isso três vezes e não teve sucesso, então esperava que alguém aqui pudesse me apontar na direção certa?

Estou tentando mover meu servidor Ubuntu 14.04 de uma máquina física para outra. Eu estou usando o seguinte comando rsync para conseguir isso:

rsync -aAXvP --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} root@iphere:/* /

rsync está movendo os arquivos corretamente e, sem reiniciar, eu consigo executar alguns dos serviços do servidor original, no entanto, após a reinicialização (para iniciar os outros serviços), estou obtendo agora um “carregamento Ubuntu” infinito tela. Você conhece aquele com o ponto movendo-se para a direita a cada segundo.

Originalmente, o problema era o dispositivo de inicialização não ser encontrado, então, depois de rysnc , eu mudei o UUID para o do meu servidor anterior. Isso levou ao Ubuntu não inicializar; então um passo adiante. Estou um pouco perdido agora, no entanto, como não há mensagens de erro, e eu sou incapaz de fazer qualquer coisa fisicamente com a máquina, pois é um VPS por Vultr .

E agora, pensando nisso, quando eu finalmente fizer as coisas acontecerem, o Networking estará fora de sintonia.

Eu sou muito novo no Linux e na linha de comando, então qualquer ajuda seria muito apreciada.

Também é importante notar que tomei essa abordagem porque quero manter o novo servidor exatamente como o meu antigo / atual, mas a reconstrução do servidor está fora de questão. Eu simplesmente não tenho tempo.

    
por Jake Ball 07.12.2014 / 00:14

2 respostas

2

Não é a metodologia que você usou - e considero essa técnica "ingênua" -, mas isso funcionou de maneira confiável para mim. Você pode precisar ajustar as coisas com alguma compreensão de como o Linux funciona, é claro. Eu adaptei isso de uma resposta SF com pequenos ajustes

O problema com esse método é que determinados arquivos de configuração não são não duplicados - não há motivos práticos para copiar na configuração do grub ou /etc/networks .

O que eu considero ser o jeito certo de fazer isso é usar o dpkg --get-selections para despejar uma lista de arquivos instalados. pacotes, e instale-os com dpkg --set-selections . Crie os mesmos usuários que o sistema de origem, se necessário - cat /etc/passwd deve listá-los, e você pode verificar com diff para ver se as duas listas são idênticas. Em seguida, use o rsync para duplicar sua pasta /etc/ para as configurações (se você usar uma verificação de IP estático ou deixar de fora / etc / networks), várias /home/ pastas para usuários (e verificar permissões aqui) e outras pastas como /var/www/ .

Eu recomendo testar / etc / e copiar arquivos de configuração no lugar, especialmente porque esse é um possível ponto de quebra.

Teste, certifique-se de que tudo esteja lá e pronto. Leva menos tempo do que configurar um novo servidor.

Há algumas coisas "legais" aqui. Você garante que as coisas que não devem ser feitas manualmente não são - o gerenciamento de pacotes e coisas como o grub são mantidas consistentes. Ele permite que você mova um mínimo de arquivos - seja exclusivo e não inclusive do que você move.

    
por 07.12.2014 / 00:46
1

Alterar o UUID é um bom plano. Mas a coisa é enquanto o sistema pode ser tecnicamente utilizável agora, você precisa ter certeza de algumas coisas. Todas essas notas são baseadas em minhas anotações para configuração do servidor usando o Ubuntu 12.04:

Ajustes de rede: Incerteza sobre quais configurações de rede da configuração mais antiga foram comparadas com o que deveriam estar em Vultr , mas as chances são altas que devem ser ajustadas. Se você puder fazer o login na máquina, recomendo executar ifconfig para obter uma leitura não processada dos dados da interface. No que diz respeito aos ajustes de rede, isso aconteceria em /etc/network/interfaces , que pode ser visualizado / editado da seguinte forma:

sudo nano /etc/network/interfaces

Dito isto, se você puder acessar a máquina, é provável que exista uma configuração de DHCP? Independentemente disso, eu procuraria mudar as coisas e, se você não tiver certeza de como fazer isso, entre em contato com o suporte da Vultr, diga exatamente o que você fez e o que precisa mudar. Muito confiante de que eles vão escrever de volta imediatamente com uma pequena lista de configurações de rede que você deve ajustar.

Atualizar o Grub: Isso pode ou não ser um problema, mas você deve fazer login e executar o seguinte comando:

sudo update-grub2

Isso forçará o sistema a atualizar as configurações do carregador de inicialização do Grub. Mas se você notar um atraso, pode ser um tempo limite na própria configuração do gerenciador de boot do Grub. Às vezes - e honestamente tem sido difícil para mim determinar quando ou como - o Grub ficará pendurado esperando para sempre a interação do usuário na seleção de um dispositivo de inicialização. Se você tem 100% de certeza de que não precisa inicializar em nada além do kernel do Ubuntu, recomendo que você ajuste as configurações padrão do Grub neste arquivo:

sudo nano /etc/default/grub

Encontre esta linha:

GRUB_TIMEOUT=2

Agora comente isso ou remova-o e substitua-o por essa nova configuração, além de uma configuração adicional para GRUB_RECORDFAIL_TIMEOUT da seguinte forma:

GRUB_TIMEOUT=0
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Agora, execute o comando de atualização do Grub novamente:

sudo update-grub2

E veja o que acontece na reinicialização. Se esse foi o problema, a reinicialização deve ser relativamente rápida em comparação com a anterior.

E depois de tudo isso você afirma:

It’s also worth noting that I have taken this approach because I want to keep the new server exactly as my old/current is, rebuilding the server is out of the question. I simply don’t have the time.

Bem, quanto tempo você realmente economizou entre migrar, ficar confuso com as configurações e agora fazer um hashing aqui? Isso é uma percepção de economia de tempo que realmente não resulta em tempo real sendo salvo?

Não me entenda mal; Fico feliz em ajudar. Mas, em geral, a maneira como eu configuro os servidores Linux - e principalmente o Ubuntu - é uma fórmula muito bem testada para criar um servidor base sólido do zero. Agora leva-me cerca de 1 hora para fazer isso; pode demorar mais dependendo da velocidade do sistema e tal. Mas uma vez que eu tenho essa base sólida, a configuração de aplicativos e usuários torna-se quase uma repetição tardia.

Assim, as percepções do tempo economizado podem ter a cara das realidades desconhecidas da cópia pura de clone assim: Ao instalar a partir de uma distro limpa do Linux para começar e então construir uma base sólida, você basicamente faz todo o seu Linux sistemas mais portáteis sem as imprevistas “armadilhas” de um processo de clonagem como este.

    
por 07.12.2014 / 00:46