Live Migration utilizando autenticação baseada em Kerberos
O Windows Server 2012(R2) realmente veio para facilitar a nossa vida como administradores de diversos ambientes, entre eles o Live Migration que agora pode ser realizado através da rede graças aos avanços do SMB 3.0.
Neste documento, mostrarei em apenas algumas etapas como este processo é bem simples e descomplicado, e que com certeza facilitará bastante o nosso dia a dia dentro de nossos ambientes.
Realizei estas etapas em um cliente e acredito que a dificuldade inicial que encontrei e a solução poderá ajudar a muitos que enfrentam o mesmo cenário.
Primeiro, devemos habilitar a opção de aceitação de live migration em cada servidor no qual será realizado live migration.
Para isso, basta acessar o Hyper-V manager e ir direto ao Hyper-v settings -> Live Migrations, marque a opção Enable incoming and outgoing live migrations.
Em Advanced Features (apenas na versão R2 na primeira aparece logo abaixo da opção de habilitação do Live Migration), poderemos escolher a opção de autenticação, é neste ponto que devemos nos atentar, pois podem aparecer alguns problemas decorrentes da falta de configuração adequada.
Neste cenário, por existir e contar com uma infraestrutura baseada no Active Directory, escolherei a opção Use Kerberos (que requer a delegação restrita - constrained delegation habilitada na conta do host que abordaremos logo abaixo)
Já o CredSSP não necessita do Active Directory, mas requer que você se autentique diretamente no host destino para efetuar a live migration.
(Não abordarei a autenticação baseada em CredSSP neste artigo)
** **
** Delegação Restrita (Constrained Delegation)**
Este é o detalhe mencionado acima que precisará ser realizado para que o live migration para que não ocorra o erro com credenciais caso selecionamos a autenticação baseada em Kerberos.
Como configurar um aplicativo para usar delegação restrita
Antes que você possa passar as credenciais associadas a um KerberosToken token de segurança para ceder a um conjunto de recursos limitados em um computador remoto (delegação restrita), o emissor, o receptor, e o controlador de domínio deve ser configurado para fazê-lo. O procedimento a seguir lista os passos que permitem a delegação restrita.
Procedimentos
- No controlador de domínio, desmarque a conta é sensível e não pode ser delegada a caixa de seleção para a conta sob a qual o aplicativo cliente está sendo executado.
- No controlador de domínio, selecione a conta é confiável caixa de seleção delegação para a conta sob a qual o aplicativo cliente está sendo executado para.
- No controlador de domínio, configure o computador de camada intermediária para que ele seja confiável para delegação, clicando no computador Trust for opção delegação.
- No controlador de domínio, configure o computador camada intermediária de usar a delegação restrita, clicando no Confiança no computador para delegação apenas para serviços especificados opção.
Fonte: MSDN
Live Migration Passo a Passo
Depois de termos configurado a delegação restrita poderemos prosseguir com o live migration, mas antes recomendo a criação de um grupo contendo todas as contas dos hosts virtualizadores que serão designados para esta tarefa, depois insira este grupo no grupo de local administrators e hyper-v administrators de cada host.
Nota, se utilizarmos o hyper-v manager de um computador remoto, recomendo que insira a conta deste computador remoto no mesmo grupo dos hosts.
Ao abrirmos o Hyper-V manager poderemos clicar na VM a ser migrada e nas opções devemos clicar move.
Após o esta etapa, devemos seguir o wizard de live migration e selecionarmos as opções desejadas:
Selecionamos o host de destino nesta tela
Podemos migrar a VM completa ou somente a VM ou o VHD e cada parte da VM desejada.
Nesta etapa, definimos o local de onde será o destino da VM a ser migrada.
Após as etapas, o live migration é executado, quando terminar, a VM será ativada no host de destino e excluída do host anterior.
Para acompanhar a migração utilizei o ping para a VM que estava sendo migrada, o processo foi executado sem nenhum down time da VM durante a migração.