Eu tenho vários servidores na Atlantic Net Cloud instalados há muitos anos e agora temos a maioria de nossas coisas na AWS. O bom da AWS é que ela me permite desligar (e não pagar) uma máquina raramente usada. Eu gostaria de tirar proveito disso, mas migrar será difícil, especialmente o único servidor Windows que é uma dor de cabeça para você saber o que configurar. Nenhum grande problema com o Unix.
Existe uma maneira de baixar apenas a imagem da VM? E se eu apenas puxei a imagem do disco binário (com cygwin dd ou algo assim), envie-a para a AWS, grave-a binária em um disco EBS (dd) e tente inicializá-la. Isso teria alguma chance de sucesso?
Eu fiz isso com unidades físicas de laptop muitas vezes: basta sair de um NUC e entrar em um ThinkPad e, quando esse desmoronar, transferi-lo para outro ThinkPad e de volta para o NUC, seja o que for, sempre funcionou. Mas nunca fiz isso com VMs e a AWS é particularmente crítica, pois você não obtém acesso ao console durante a inicialização.
Você deve usar o AWS Application Migration Service . Sim, você usa algo chamado "serviço de migração de aplicativos" para migrar servidores, imagine. Depois de entrar nessa área do console, ele o guiará pelo processo, mas você basicamente instala um agente em seu servidor de origem, ele replica na AWS, você interrompe o servidor antigo e inicia o novo servidor.
Se o seu sistema operacional for muito antigo e não tiver suporte da AWS, você deverá copiar seus dados e reinstalar seus aplicativos, em vez de fazer soluções alternativas sem suporte.
Eu realmente fui capaz de fazer isso e me sinto extremamente realizado agora.
Uma coisa que a maioria das pessoas não percebe é como é fácil mover o Windows de um hardware para outro. A abordagem é simplesmente fazer uma cópia bruta do disco, conectá-lo à nova máquina e inicializar.
Para aqueles que pensam que configurar um sistema Windows do zero é mais fácil, não é, especialmente se você depende de um software com mais de 10 anos e não tem os discos de instalação: é definitivamente mais fácil apenas trocar um disco do sistema por um novo hardware!
Com a migração para a AWS, é um pouco mais complicado sem um console. Mas isto pode ser feito.
Visão geral
Detalhes
Para o ponto 1. Instalar drivers da AWS na máquina antiga, não AWS, não é trivial. No meu caso eu tinha um servidor Windows 2008 super antigo que nem rodava os scripts install.ps1 que vem com grande parte dos drivers da AWS.
Este documento aqui: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/migrating-latest-types.html foi o melhor guia sobre o que fazer.
O driver PV era difícil, porque a versão mais recente informa que não suporta seu sistema antigo. Mas depois de algumas pesquisas descobri que a última versão suportada é 8.3.4, e então descobri que o URL para isso é: https://s3.amazonaws.com/ec2-windows-drivers-downloads/AWSPV/8.3 .4/AWSPVDriver.zip . Uma vez encontrado, o instalador .msi incluído funcionou sem problemas.
Os outros drivers funcionaram na versão mais recente. Mas executar os scripts install.ps1 para o driver ENA foi bastante fácil. Para os drivers NVMe foi difícil. Acabei lendo o roteiro com meus próprios olhos, interpretando o que ele faz e fazendo manualmente.
As instalações do EC2Config e EC2Launch foram diretas.
Agora a reinicialização do sistema, mesmo na plataforma antiga, já surgiu mostrando o background da AWS com o painel de informações do sistema AWS no canto superior direito. Não mostrando muito, mas diz que essa coisa do EC2Launch fez sua mágica.
Sobre cópias dd.
No cygwin as unidades de disco são /dev/sda, sdb, sdc, ... Você precisa dessa unidade bruta, não das partições. Primeiro você precisa obter os tamanhos exatos das partições que deseja copiar:
Esses tamanhos estão em bytes. Você adiciona a partição de inicialização e do sistema, 104857600 + 104805171712 = 104910029312 bytes. Para acelerar o dd, você quer ler em blocos maiores, digamos 10 MiB (bs = 10M). Nesse caso, você precisa dividir por 1024 duas vezes e 104910029312/1024/1024/10 = 10005.00004882.. e depois arredondar para cima:
no final do disco, basta somar todas as partições 66884468736 + 104805171712 + 104857600 = 171794498048 bytes / 1024 = 167768064 kiB blocks:
4 kiB é um bom tamanho pequeno. Se isso fosse muito grande, você saberia o tamanho exato do seu disco e então pegaria os últimos 4 kiB.
Quando essas cópias forem feitas, mova o material para a AWS, em uma máquina UNIX com o novo volume EBS anexado, verifique cuidadosamente onde ele está, para não limpar seus outros discos por engano. No meu caso:
e o fim:
Agora você está pronto para arrancar!
Quando não consegui me conectar a ele, foi porque a rede não estava sendo configurada corretamente.
Com o log de inicialização ativado e observando alguns logs de configuração relacionados à AWS em C:\Windows (E:\Windows ao anexar o disco a um sistema Windows em execução) classificar a visualização do diretório por hora do arquivo decrescente, pude ver que os drivers xen estavam instalado, mas o xenbus não foi encontrado e o xennet não foi instalado. Mas na segunda inicialização notei de repente que o xennet estava instalado agora. E todos os problemas desapareceram.
Parece que você está fazendo um peg quadrado/furo redondo tentando fazer isso funcionar com o Windows na AWS. Dito isso, tenho duas ideias para você.
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/troubleshooting-sac.html
/Edit - você declarou várias partes do processo na descrição do problema, mas não em detalhes. Como você pré-instalou os drivers? Você usou os pacotes daqui?
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Upgrading_PV_drivers.html