Solucionar problemas com instâncias do Windows do Amazon EC2
Veja a seguir dicas de solução de problemas para ajudar na resolução de problemas com instâncias do Windows do Amazon EC2.
Problemas
- Os volumes do EBS não são inicializados no Windows Server 2016 e 2019
- Inicialize uma instância do EC2 Windows no Directory Services Restore Mode (DSRM)
- A instância perde a conectividade de rede ou as tarefas agendadas não são executadas quando esperado
- Não foi possível obter o resultado do console
- Windows Server 2012 R2 não disponível na rede
- Colisão de assinatura em disco
Os volumes do EBS não são inicializados no Windows Server 2016 e 2019
Instâncias criadas nas Imagens de máquina da Amazon (AMIs) para Windows Server 2016 e 2019 usam o agente EC2Launch v1 para uma variedade de tarefas de inicialização, incluindo a inicialização de volumes do EBS. Por padrão, o EC2Launch v1 não inicializa volumes secundários. No entanto, é possível configurar o EC2Launch v1 para inicializar esses discos automaticamente, como mostrado a seguir.
Mapear letras de unidade a volumes
-
Conecte-se à instância para configurar e abrir o arquivo
C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json
em um editor de texto. -
Especifique as configurações do volume da seguinte maneira:
{ "driveLetterMapping": [ { "volumeName": "
sample volume
", "driveLetter": "H
" }] } -
Salve as alterações e feche o arquivo.
-
Abra o Windows PowerShell e use o seguinte comando para executar o script do EC2Launch v1 que inicializa os discos:
PS C:\>
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1Para inicializar os discos sempre que a instância for inicializada, adicione o sinalizador
-Schedule
da seguinte forma:PS C:\>
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -ScheduleO agente EC2Launch v1 pode executar scripts de inicialização de instâncias, como
initializeDisks.ps1
em paralelo com o scriptInitializeInstance.ps1
. Se o scriptInitializeInstance.ps1
reinicializar a instância, ele poderá interromper outras tarefas agendadas que são executadas na inicialização da instância. Para evitar possíveis conflitos, recomendamos que você adicione lógica ao seu scriptinitializeDisks.ps1
para garantir que a inicialização da instância tenha sido concluída primeiro.nota
Se o script EC2Launch não inicializar os volumes, verifique se os volumes estão online. Se os volumes estiverem offline, execute o comando a seguir para colocar todos os discos online.
PS C:\>
Get-Disk | Where-Object IsOffline -Eq $True | Set-Disk -IsOffline $False
Inicialize uma instância do EC2 Windows no Directory Services Restore Mode (DSRM)
Se uma instância que estiver executando o Microsoft Active Directory tiver uma falha do sistema ou outros problemas críticos, você poderá solucionar problemas na instância inicializando em uma versão especial do modo seguro denominado Directory Services Restore Mode (DSRM). No DSRM, você pode reparar ou recuperar o Ative Directory.
Suporte a drivers para DSRM
A forma como você habilita o DSRM e faz a inicialização na instância depende dos drivers que a instância estiver executando. No console do EC2, você pode visualizar os detalhes de versão do driver para uma instância no log do sistema. As tabelas a seguir mostram quais drivers são compatíveis com o DSRM.
Versões do driver | DSRM com suporte? | Próximas etapas |
---|---|---|
Citrix PV 5.9 | Não | Restaure a instância de um backup. Você não pode habilitar o DSRM. |
AWS PV 7.2.0 | Não | Embora o DSRM não tenha suporte para esse driver, você ainda pode desanexar o volume raiz da instância, criar um snapshot do volume ou criar uma AMI dele e anexá-la a outra instância na mesma zona de disponibilidade que um volume secundário. Em seguida, você pode habilitar o DSRM (como descrito nesta seção). |
AWS PV 7.2.2 e posteriores | Sim | Desanexe o volume raiz, anexe-o a outra instância e habilite o DSRM (como descrito nesta seção). |
Redes avançadas | Sim | Desanexe o volume raiz, anexe-o a outra instância e habilite o DSRM (como descrito nesta seção). |
Para obter informações sobre como habilitar as redes aperfeiçoadas, consulte Habilitar redes aperfeiçoadas com o ENA em instâncias do EC2. Para obter informações sobre como atualizar drivers PV da AWS, consulte Upgrade PV drivers on Windows instances.
Configurar uma instância para ser inicializada no DSRM
As instâncias do EC2 Windows não têm conectividade de rede antes que o sistema operacional seja executado. Por esse motivo, você não pode pressionar o botão F8 no teclado para selecionar uma opção de inicialização. Você deve usar um dos seguintes procedimentos para inicializar uma instância do EC2 Windows Server no DSRM.
Se você suspeitar que o Active Directory foi danificado e a instância ainda estiver em execução, você poderá configurar a instância para fazer a inicialização no DSRM usando a caixa de diálogo Configurações do sistema ou o prompt de comando.
Para inicializar uma instância online no DSRM usando a caixa de diálogo Configurações do sistema
-
Na caixa de diálogo Executar, digite
msconfig
e pressione Enter. -
Escolha a guia Inicializar.
-
Em Opções de inicialização, escolha Inicialização segura.
-
Escolha Reparo do Active Directory e escolha OK. O sistema solicita que você reinicialize o servidor.
Para inicializar uma instância online no DSRM usando a linha de comando
Em uma janela do prompt de comando, execute o comando a seguir:
bcdedit /set safeboot dsrepair
Se uma instância estiver offline e inacessível, você deverá desanexar o volume raiz e anexá-lo a outra instância para habilitar o modo DSRM.
Para inicializar uma instância offline no DSRM
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Instances (Instâncias).
-
Localize e selecione a instância afetada. Escolha Instance state (Estado da instância) e Stop instance (Interromper instância).
-
Escolha Launch instances (Executar instância) e crie uma instância temporária na mesma zona de disponibilidade que a instância afetada. Escolha um tipo de instância que use uma versão diferente do Windows. Por exemplo, se sua instância for o Windows Server 2016, escolha uma instância do Windows Server 2019.
Importante
Se você não criar a instância na mesma zona de disponibilidade que a instância afetada, não conseguirá associar o volume do dispositivo raiz da instância afetada à nova instância.
-
No painel de navegação, escolha Volumes.
-
Localize o volume do dispositivo raiz da instância afetada. Separe o volume e associe-o à instância temporária criada anteriormente. Associe-a com o nome do padrão do dispositivo (xvdf).
-
Use a Área de Trabalho Remota para conectar-se à instância temporária e use em utilitário Gerenciamento de Disco para disponibilizar o volume para uso.
-
Abra um prompt de comando e execute o seguinte comando. Substitua D pela letra real de unidade do volume secundário que você acabou de anexar:
bcdedit /store D:\Boot\BCD /set {default} safeboot dsrepair
-
No utilitário de Gerenciamento de Disco, escolha a unidade que você associou anteriormente, abra o menu contextual (botão direito do mouse) e escolha Offline.
-
No console do EC2, separe o volume afetado de instância temporária e reanexe-o à sua instância original com o nome de dispositivo
/dev/sda1
. Você deve especificar o nome desse dispositivo para designar o volume como volume do dispositivo raiz. -
Inicie a instância.
-
Depois que a instância passar nas verificações de integridade no console do EC2, conecte-se à instância usando o Remote Desktop e verifique se ela é inicializada no modo DSRM.
-
(Opcional) Exclua ou interrompa a instância temporária que você criou nesse procedimento.
A instância perde a conectividade de rede ou as tarefas agendadas não são executadas quando esperado
Se você reiniciar sua instância e perder a conectividade de rede, é possível que a instância tenha o horário errado.
Por padrão, as instâncias do Windows usam o tempo universal coordenado (UTC). Se você definir o horário de sua instância como outro fuso horário e, em seguida, reiniciá-la, ocorrerá um desvio no horário, e a instância perderá temporariamente seu endereço IP. A instância recuperará a conectividade de rede, mas isso pode levar várias horas. A quantidade de tempo que leva para a instância recuperar a rede de conectividade depende da diferença entre o UTC e o outro fuso horário.
Esse mesmo problema no horário também pode fazer com que as tarefas agendadas não sejam executadas no horário esperado. Nesse caso, as tarefas agendadas não são executadas quando esperado porque a instância tem o horário incorreto.
Para usar um fuso horário diferente do UTC de forma persistente, você deve definir a chave de Registro RealTimeIsUniversal. Sem essa chave, a instância usará o UTC depois de reiniciá-la.
Para resolver problemas no horário que causam a perda da conectividade de rede
-
Certifique-se de que você esteja executando os drivers PV recomendados. Para ter mais informações, consulte Atualizar drivers PV em instâncias do Windows do EC2.
-
Verifique se a chave de Registro a seguir existe e está definida como
1
: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
Não foi possível obter o resultado do console
Para instâncias do Windows, o console da instância exibe o resultado das tarefas realizadas durante o processo de inicialização do Windows. Se o Windows for inicializado com êxito, a última mensagem registrada será Windows is Ready to use
. Você também pode exibir mensagens de log de eventos no console, mas esse recurso pode não estar habilitado por padrão, dependendo da sua versão do Windows. Para ter mais informações, consulte Agentes de inicialização do Windows em instâncias do Windows do Amazon EC2.
Para obter a saída do console da instância usando o console do Amazon EC2, selecione a instância e escolha Actions (Ações), Monitor and troubleshoot (Monitorar e solucionar problemas), Get system log (Obter log do sistema). Para obter a saída do console usando a linha de comando, use um dos seguintes comandos: get-console-output (AWS CLI) ou Get-EC2ConsoleOutput (AWS Tools for Windows PowerShell).
Para instâncias executadas no Windows Server 2012 R2 e anteriores, se a saída do console estiver vazia, poderá indicar um problema com o serviço EC2Config, como um arquivo de configuração desconfigurado ou que o Windows não foi inicializado corretamente. Para corrigir o problema, faça download e instale a versão mais recente do EC2Config. Para ter mais informações, consulte Instalar a versão mais recente do EC2Config.
Windows Server 2012 R2 não disponível na rede
Para obter informações sobre como solucionar problemas de uma instância do Windows Server 2012 R2 que não está disponível na rede, consulte Windows Server 2012 R2 loses network and storage connectivity after an instance reboot.
Colisão de assinatura em disco
Você pode conferir e resolver colisões de assinatura em disco usando o EC2Rescue para Windows Server. Como alternativa, você pode resolver problemas de assinatura em disco manualmente realizando as etapas a seguir.
Atenção
O procedimento a seguir descreve como editar o Registro do Windows usando o Editor do Registro. Se você não estiver familiarizado com o Registro do Windows ou como fazer alterações com segurança usando o Editor do Registro, consulteConfigure the Registry
-
Abra um prompt de comando, digite regedit.exe e pressione Enter.
-
No Editor do Registro, escolha HKEY_LOCAL_MACHINE no menu contextual (clique com o botão direito do mouse), depois escolha Localizar.
-
Digite Windows Boot Manager e escolha Localizar Próxima.
-
Escolha a chave chamada
11000001
. Essa chave é irmã da chave que você localizou na etapa anterior. -
No painel direito, selecione
Element
e escolha Modificar no menu de contexto (clique com o botão direito do mouse). -
Localize a assinatura de disco de quatro bytes no deslocamento 0x38 nos dados. Esta é a assinatura do Boot Configuration Database (BCD). Inverta os bytes para criar a assinatura de disco e anote-a. Por exemplo, a assinatura de disco representada pelos seguintes dados é
E9EB3AA5
:... 0030 00 00 00 00 01 00 00 00 0038
A5 3A EB E9
00 00 00 00 0040 00 00 00 00 00 00 00 00 ... -
Em uma janela do prompt de comando, execute o comando a seguir para iniciar o Microsoft DiskPart.
diskpart
-
Execute o comando
select disk
DiskPart e especifique o número do disco para o volume com a colisão da assinatura do disco.dica
Para verificar o número do disco do volume com a colisão da assinatura do disco, use o utilitário de Gerenciamento de disco. Abra um prompt de comando, digite
compmgmt.msc
e pressione Enter. No painel de navegação à esquerda, clique duas vezes em Gerenciamento de disco. No utilitário de Gerenciamento de disco, verifique o número do disco do volume off-line com a colisão de assinatura do disco.DISKPART>
select disk1
Disk
1
is now the selected disk. -
Execute o comando DiskPart a seguir para obter a assinatura do disco.
DISKPART>
uniqueid diskDisk ID:
0C764FA8
-
Se a assinatura de disco mostrada na etapa anterior não corresponder à assinatura de disco que você anotou anteriormente, use o seguinte comando DiskPart para alterar a assinatura de disco para que ela corresponda:
DISKPART>
uniqueid disk id=E9EB3AA5