Hyper-V Server – Dos comandos iniciais ao Cluster

Nesse post será mostrado as configurações iniciais em um host com Hyper-V Server 2012 R2 até a configuração de um cluster entre dois nós.

Para isso serão usados dois nós com Hyper-V Server 2012 R2 e quatro interfaces de rede para as seguintes funções:

1 – Gerenciamento do Servidor – Nome: MANAGEMENT;
2 – Rede Pública – Utilizada para a rede das VMs – Nome: PUBLIC_NETWORK;
3 – Live Migration – Rede utilizada para a migração de VMs entre os dois nós – Nome: LIVE_MIGRATION;
4 – Heartbeat – Rede utilizada para comunicações do Cluster – Nome: HEARTBEAT.
Teremos três discos compartilhados, um vai ficar como quórum e os outros dois ficarão para as VMs.

Alguns passos como instalação serão pulados. Vou mostrar a configuração de apenas um host.

Tela inicial após instalação:
Após instalar o SO e logar no servidor a seguinte tela aparecerá:

1401

Instalação de drivers de rede:
Detalhe interessante foi que o servidor não reconheceu os drivers de rede. Esse será o primeiro passo, fazer a instalação dos drivers de rede.
A instalação dos drivers de rede é muito simples, basta inserir um pendrive com os executáveis no servidor e pelo Prompt de Comando executar.

1402

Isso pode ser realizado tanto para a instalação de drivers que não foram reconhecidos pelo SO quanto para atualização.
Com os drivers de rede reconhecidos o próximo passo é configurar o adaptador de rede que será usado para o gerenciamento do servidor e então continuar as configurações através do acesso remoto e não mais pela console.

Configuração de endereços IP e nomenclatura nas interfaces:

A configuração do IP na interface de rede pode ser realizada pelo Server Configuration ou via PowerShell. Se for o caso de fazer via powershell, basta no prompt de comando digitar Powershell.

1403

Configurando a interface via PowerShell:
1º Passo é identificar as interfaces de rede do servidor. Para isso usar o comando:
Get-NetAdapter
No meu caso sei qual interface vai fazer o que através do MAC Address. Para ver qual o MAC de cada placa basta digitar:
Get-NetAdapter | ft Name, MacAddress
Identificada a placa vamos dar o nome para ela. Nesse caso o nome será MANAGEMENT e a placa correspondente está com o nome “Ethernet 4”
Rename-NetAdapter -name “Ethernet 4” -NewName “MANAGEMENT”
Caso exista um DHCP entregando IP para essa interface de rede não será preciso fazer nenhuma configuração. Caso contrário para setar as configurações de IP podem ser usados os comandos:
New-NetIPAddress -InterfaceAlias “MANAGEMENT” -IPAddress 10.10.0.222 -PrefixLength “24” -DefaultGateway 10.10.0.254
Set-DnsClientServerAddress -InterfaceAlias “MANAGEMENT” -ServerAddresses “10.10.0.209”,”10.10.0.202″
No caso acima será configurado o IP 10.10.0.222 com máscara 255.255.255.0, gateway 10.10.0.254 e DNS 10.10.0.209 e 10.10.0.202.

Feita essa configuração pelo PS é possível voltar até o Server Manager e visualizar as alterações usando a opção 8: “Network Settings”
Como as configurações para as outras três redes são iguais, não vou mostrar aqui.

Configuração de VLAN em uma interface de rede:
Caso seja preciso adicionar uma VLAN em alguma placa:
O seguinte comando mostra as placas e VLANs:
Get-NetAdapter | ft Name, Status, Linkspeed, VlanID
Para alterar a Vlan de uma placa basta usar o seguinte comando:
Set-NetAdapter –Name “LIVE_MIGRATION” -VlanID 618
O comando acima coloca a VLAN 618 na placa de nome “LIVE_MIGRATION”.
Caso ocorra um erro será preciso ver se no registro da placa existe o campo de VLANID.

Para acrescentar no registro:
Precisamos do Interface Guid da placa. No caso vamos usar a “LIVE_MIGRATION”:
Get-NetAdapter -name “LIVE_MIGRATION” | ft InterfaceGuid

1404

Feito isso será preciso abrir o Registro (basta digitar regedit no Prompt de comando ou PowerShell) e procurar pelo InterfaceGuid dentro de:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet0001\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}

1405

Quando encontrar será preciso criar uma nova string chamada VlanId e colocar o número da Vlan:

1406

Após podemos verificar no powershell:
Get-NetAdapter | ft Name, Status, Linkspeed, VlanID

1407

Um dado importante, após essa alteração no registro será preciso reiniciar o servidor.

Habilitando o Acesso Remoto:
Com o IP da interface de gerenciamento configurado o próximo passo é habilitar o acesso remoto ao servidor para continuarmos as configurações. Para isso no server manager basta escolher a opção 7: “Remote Desktop” que vem desabilitada por padrão.
Será perguntado o que fazer e deverá ser inserido E para habilitar.

1408

Então será perguntado o nível de autenticação e pode ser escolhido o 1. Então vira a mensagem que o Remote Desktop foi habilitado:

1409

Liberando o Firewall para Acesso Remoto:
Com o Remote Desktop habilitado pode-se acessar o servidor como qualquer conexão RDS.
Caso o acesso não seja possível será preciso verificar o firewall do Hyper-V. Para verificar as regras de Acesso remoto precisamos do comando:
Get-NetFirewallRule | where DisplayName -Match “Remote Desktop” | ft DisplayName, Enabled
ou
Get-NetFirewallRule -Group “@FirewallAPI.dll,-28752” | ft DisplayName, Enabled
E habilitamos:
Enable-NetFirewallRule -Group “@FirewallAPI.dll,-28752”
Feito isso o acesso remoto deve funcionar.

Configurando o Nome do Servidor:
Acessando o servidor remotamente, o próximo passo pode ser acertar o nome.
Pelo Server Configuration escolher a opção 2 e digitar o novo nome. Será pedido para reiniciar o servidor.

Ingressando no Domínio:
Após o servidor reiniciar e acessar remotamente, um passo interessante é colocar no domínio para ele poder entrar nas políticas da organização.
Para ingressar o servidor no domínio basta escolher a opção 1 no Server Configuration.
Para ingressar no domínio deve-se apertar D e então será pedido o nome do domínio. Após digitar o nome do domínio será pedido o nome do usuário que tenha permissão para ingressar o servidor no domínio. Quando o usuário for adicionado, uma nova janela abrirá para que seja colocada a senha. Nessa janela não vai aparecer nenhum caractere quando a senha for digitada. Ao final basta dar Enter. Será pedido se queremos trocar o nome do servidor e de ser escolhido não e então o servidor será reiniciado.

Atualização de todos os drivers:
Com o servidor reiniciado algumas coisas precisam ser finalizadas.
Os drivers devem ser atualizados e as interfaces de rede devem ser configuradas.
As instruções para atualização de drivers podem ser encontradas no seguinte link:
http://technet.microsoft.com/en-us/library/jj647787.aspx

Atualização do Servidor:
Após a atualização dos drivers e acerto de todas as interfaces de rede o ideal é atualizar o servidor. Em Server Configuration escolher a opção 6. Um novo prompt vai surgir perguntando se é para procurar todos os downloads ou somente os recomendados. Pode-se escolher todos pressionando A.

1410

Quando o servidor terminar de verificar os updates disponíveis ele pedirá qual a opção de instalação, se todos, nenhum ou algum update em específico. Nesse caso vamos escolher todos, para isso pressionamos A novamente.

1411

1412

Após será pedido para reiniciar o servidor.

1413

Configurações de disco:

Com o servidor atualizado, com drivers corretos, ingressado no domínio e com as interfaces de rede funcionando chegou a hora de configurar os discos.
Para usar o Disk Management o ideal é utilizar outro computador. Antes de acessar é preciso de uns poucos comandos:
No host hyper-v, dentro do Powershell utilizar os comandos:
Add-WindowsFeature -Name File-Services
Enable-NetFirewallRule -DisplayGroup “Remote Volume Management”
Start-Service vds
Nesse momento devemos reiniciar o servidor.

1414

Na estação ou servidor que vai ser usado para acessar o servidor remotamente usar os comandos:
cmdkey /add:”IP Hyper-V Host” /user:domínio\usuário /pass
Exemplo: cmdkey /add:”10.10.0.222” /user:contoso\administrator /pass
Vai ser requerida a senha.
netsh advfirewall firewall set rule group=”Remote Volume Management” new enable=yes

Acessando o Disk Management Remotamente:
Feito isso será possível abrir o Disk Management do host Hyper-V através do Computer Management da estação ou servidor remoto.
Após abrir o Computer Management ir em Action e Connect to Another computer …

1415

Instalação do MPIO:
Acessando o disk manager do servidor podemos fazer as ações necessárias. Nesse caso vou instalar o Multi-Path IO. Para isso vou usar o comando no PowerShell:
Add-WindowsFeature -name multipath-io

1416

Para acessar o MPIO basta digitar:
mpiocpl
As configurações do MPIO podem mudar conforme o vendor.

CLUSTER:
Adicionando a feature de Cluster:
O próximo passo é configurar o cluster. Nos hosts adicionar a feature:
Install-WindowsFeature –Name Failover-Clustering –IncludeManagementTools

1417

Teste dos nós do Cluster:
Instalada a feature, será preciso testar se será possível criar o host entre os nós:
Test-Cluster -Node hc01b10, hc01b11

1418

Como é possível observar ocorreu um aviso. Abrindo o documento é possível ver que o aviso é sobre rede. Esse aviso se deve ao fato de ter algumas interfaces de rede que não vou usar ativas. Para isso vou desabilitar as interfaces de rede que não vou usar. Para executar o comando pode-se usar o seguinte comando em PS:
Get-NetAdapter | where status -eq disconnected | Disable-NetAdapter (será preciso dar um Y para confirmar cada interface)

Criando o Cluster:
Para criar efetivamente o cluster usar:
New-Cluster -Name CONTOSOCLUSTER -Node HC01B10, HC01B11 -StaticAddress 10.10.0.30

11419

Acessando o Cluster Remotamente:
Nesse momento já é possível usar a interface gráfica em outro servidor ou estação para acessar o cluster criado e fazer o gerenciamento. Apenas um detalhe importante, apesar de o gerenciamento abrir através de um WS 2012 (abre mas não vai ser possível administrar corretamente), deve-se usar um WS 2012 R2 ou o RSAT para Windows 8.1 para o gerenciamento.

Renomeando as interfaces de rede do Cluster:
Depois de criado, será preciso nomear as interfaces de rede no cluster, para facilitar o gerenciamento.
Para isso vamos usar o comando:
Get-ClusterNetworkInterface

1420

Com isso vamos renomear as interfaces de rede do cluster. A rede de nome “Cluster Network 1” é na realidade a rede Heartbeat nos servidores, então vou renomear a rede do cluster para esse nome:
(Get-ClusterNetwork | where name -eq “Cluster Network 1”).Name = “HEARTBEAT”
Usar Get-ClusterNetwork para ver como ficou.

1421

Após alterar os nomes, será preciso verificar as métricas, tendo a HEARTBEAT como mais baixa:
Get-ClusterNetwork | ft Name, Metric, AutoMetric, Role
O commando acima verifica as métricas e o comando abaixo altera a métrica da rede Heartbeat:
(Get-ClusterNetwork “HEARTBEAT”).Metric=900
A alteração da métrica pode ser feita em apenas um servidor, já que é um comando de cluster.
Para finalizar a configuração vamos criar um Virtual Switch usando a rede Public_Network. Esse comando poderia ser executado antes da criação do cluster:
Para criar um Switch Virtual chamado “Public_Network – Virtual Switch” usando a interface de nome Public_Network usamos o seguinte comando:
New-VMSwitch –Name “Public_Network – Virtual Switch” –NetAdapterName “Public_Network” –AllowManagementOS $false

Configurando os discos do Cluster:
Finalizando a configuração do cluster temos os discos:
Para mostrar os discos do cluster basta usar o seguinte comando:
Get-ClusterResource | where ResourceType -eq “Physical Disk”

1422

Para saber se o cluster já indicou um disco de quórum basta usar o seguinte comando:
Get-ClusterQuorum
Para adicionar os outros dois discos como Cluster Shared Volume:
Add-ClusterSharedVolume “Cluster Disk 3”

1423

Renomeando os discos do Cluster:
Finalmente para renomear um cluster disk podemos usar o seguinte comando:
(Get-ClusterSharedVolume -Name “Cluster Disk 2”).Name = “POC_2”

Pronto. Agora é só usar o cluster criado no Hyper-V Server 2012 R2.

Para gerenciamento de Cluster com PowerShell existe este post: https://yudicezar.wordpress.com/2013/12/14/comandos-powershell-em-cluster-2012/
Para gerenciamento de VMs com PowerShell existe este post: https://yudicezar.wordpress.com/2013/06/18/gerenciando-vms-no-hyper-v-com-powershell/