Fala galera, 100%?
A um tempo atrás escrevi sobre os riscos existentes em ter um Controlador de Domínio virtualizado. No artigo, que você pode ler aqui, eu comento que ter um ambiente virtualizado não é errado, muito menos deixo de recomendar tal prática, o lance foi abrir os olhos quanto ao possível uso incorreto dos Snapshots, recurso que permite salvar o estado de uma maquina em determinado tempo e, a qualquer momento aplicar essa imagem novamente. Em resumo, problemas com USN e RID podem acontecer nesta brincadeira.
Eu mostrei o que pode dar errado, a ideia agora é apresentar o que já existe para mitigar tais problemas.
A partir do Windows Server 2012 um “recurso” (ênfase nas aspas) chamado Virtual machine generation identifier (VM GenID), foi adicionado. Esse carinha tem a função de garantir que, caso um DC virtualizado tenha um snapshot revertido ou VHD copiado, nenhum dos problemas citados no artigo anterior (aqui) aconteça.
O VM GenID recebe informações a partir da plataforma de virtualização, que consegue ler o que acontece no DC e atualiza-lo (O VM GenID).
De forma resumida funciona da seguinte forma. Sempre que um novo objeto é adicionado ao AD um RID é atribuído ao objeto e o USN é incrementado em +1. Quando algum processo ocorre e faz com que o USN volte no tempo (snapshot, por exemplo) o Active Directory, a partir da leitura do VM GenID, identifica o problema e gera o seguinte evento.
Event ID: 2170
Task Category: Internal Configuration
Level: Warning
Description:
A Generation ID change has been detected.
Generation ID cached in DS (old value): 4614786344935980275
Generation ID currently in VM (new value): 10595675270371099562
The Generation ID change occurs after the application of a virtual machine snapshot,
after a virtual machine import operation or after a live migration operation. Active Directory
Domain Services will create a new invocation ID to recover the domain controller.
Virtualized domain controllers should not be restored using virtual machine snapshots.
The supported method to restore or rollback the content of na Active Directory Domain
Services database is to restore a system state backup made with na Active Directory Domain
Services aware backup application.
O AD mantem o VM GenID em uma tabela que não é replicada e compara o ID existente com o atual que foi reportado pela plataforma de virtualização. Se esse ID for diferente uma série de etapas são realizadas com intuito de garantir a integridade do Active Directory.
1. O Invocation ID (idetnficado utilizado toda vez que o AD é restaurado) do DC é resetado
2. O RID Pool do DC é limpo
3. Um restore não-autoritativo do SYSVOL do DC é realizado
4. Se o DC em questão for dono das FSMOs ele perde esse cargo até que um ciclo de replicação seja concluído.
Todas essas etapas são realizadas de forma conjunta garantem que não haverá nenhum tipo de inconsistência na floresta em que houve a restauração do Snapshot ou algo parecido.
Pra finalizar, deixo um exemplo do Brian Desmond. Para explicar como o VM GenID funciona ele usa o seguinte exemplo:
O USN do Active Directory é como um relógio, os ticks (tique-taque do relógio) são sempre para frente. Quando o AD enxerga que houve um tick pra trás, ele faz a checagem do VM GenID e iniciar o processo citado anteriormente.
Artigo simples, curto, mas que elucida as dúvidas em relação a ter o AD virtualizado!
Espero que tenham gostado! Grande abraço \,,/
Compartilhe isso:
Legal Nathan. Bem explicado.
Valeu man! Tomara que tenha agregado pra ti.
Abraço