Infra - Virtualização

Usando o Hyper-V Best Practices Analyzer

Neste artigo você verá o que é, como instalar e usar o Best Practice Analyzer para Hyper-V, além de sua integração com PowerShell.

por Leandro Carvalho



Introdução

Como administradores de servidores devemos garantir que todos tenham as configurações certas e corretas, de acordo com as boas práticas criadas por outros administradores e pela própria Microsoft. Aplicando essas práticas conseguimos garantir mais performance, segurança e uma melhor administração dos serviços. Em um ambiente virtualizado com o Hyper-V não é diferente, aliás existem várias práticas recomendadas para ambiente virtualizados. O desafio é justamente saber quais são as boas práticas que devemos implementar, a diferença e o impacto de cada uma delas e os benefícios que teremos. Antigamente este era um trabalho manual feito por um especialista. Eu, por exemplo, já fiz algumas consultorias que chamávamos de “Preventiva”. Tínhamos uma lista de boas práticas e comparávamos cada servidor para saber quais estavam ou não de acordo com elas.

No Windows Server 2008 R2 existe uma solução chamada Best Practices Analyzer (BPA) para fazer todo este procedimento de forma automatizada, mostrando as melhores configurações de acordo com o serviço instalado. Nele existe um banco de dados com todas as boas práticas de acordo com o serviço instalado, reconhecendo todas as funcionalidades que não estão de acordo com as recomendações e mostrando as soluções para cada uma delas. Confira abaixo a lista de BPA para Windows:

Best Practices Analyzer for Active Directory Certificate Services

Best Practices Analyzer for Active Directory Domain Services

Best Practices Analyzer for Active Directory Rights Management Services

Best Practices Analyzer for Application Server

Best Practices Analyzer for Domain Name System

Best Practices Analyzer for Dynamic Host Configuration Protocol

Best Practices Analyzer for File Services

Best Practices Analyzer for Hyper-V

Best Practices Analyzer for Internet Information Services

Best Practices Analyzer for Network Policy and Access Services

Best Practices Analyzer for Remote Desktop Services

Best Practices Analyzer for Windows Server Update Services

Neste artigo eu mostrarei alguns detalhes, instalação e configuração do BPA para Hyper-V

Instalação

Para utilizar o BPA para Hyper-V é preciso instalar um pacote de atualização para o Windows, que pode ser baixado pelo link a seguir: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=89d80c15-0082-4fef-a4fc-fefa463bed08&displaylang=en

Para instalá-lo, basta estar logado como administrador local no servidor e executar o arquivo do link acima.

Figura 1 – Instalação do BPA para Hyper-V

Pré-requisitos

Além da credencial de administrador local, os 4 pré-requisitos abaixo devem estar instalados e em execução:

Windows Hypervisor (Hyper-V)

Hyper-V Virtual Machine Management Service

Hyper-V Networking Management Service

Hyper-V Image Management Service

Configuração

Depois da instalação, para usar o BPA, abra o Server Manager através do menu iniciar, clique em Roles e em Hyper-V. Do lado direito do Server Manager você verá a opção Best Practices Analyzer. Clique em Scan This Role, conforme figura 2.

Figura 2 – Execução do BPA para Hyper-V

Todas as configurações existentes no servidor com o Hyper-V instalado serão analisadas e algumas dicas serão apresentadas após este procedimento. Alguns exemplos que são verificados são: Serviços, processadores virtuais e lógicos, adaptadores de rede, máquinas virtuais, memória, drivers, storage, sistema operacional guest, e várias outros. No total são 30 análises feitas somente para Hyper-V. Para ter mais detalhes sobre cada uma delas, acesse http://technet.microsoft.com/en-us/library/ee941122(WS.10).aspx

Existem 4 classificações após a análise: Compliant, Noncompliant, Excluded e All. Na primeira guia é possivel observar cada uma delas e as respectivas severidades caracterizadas como erros e avisos.

Pra cada uma delas você pode encontrar informações como o problema, o impacto e o mais importante, como resolvê-lo. No exemplo da figura 3 é exibido um aviso sobre o uso de snapshots nas máquinas virtuais.

Figura 3 – Aviso sobre Snapshot

Entretanto, na figura 4 uma boa prática com a severidade “erro” foi encontrada relacionada a configuração da placa de rede do servidor. A solução neste caso é adicionar mais placas de rede ao computador físico.

Figura 4 – Erro relacionado a placa de rede

Clicando na guia Compliant são exibidas todas as boas práticas de já estão sendo utilizadas.


Figura 5 – Guia Compliant


Integração com Powershell

O BPA também pode ser usado através do Powershell, possibilitando a criação de scripts e sua utilização em Server Core, versão do Windows somente em linha de comando.

Para utilizar os commandlets do BPA através do Powershell é preciso importar os módulos do Server Manager e do BPA através das seguintes linhas de comando:

Import-Module ServerManager
Import-Module BestPractices

Para escanear o Hyper-V é preciso usar o commandlet Invoke-BPAModel seguido do ID do Hyper-V.

Invoke-BPAModelBestPracticesModelID Microsoft/Windows/Hyper-V

Para visualizar o resultado, o commando Get-BpaResult é usado com o seguinte parâmetro:

Get-BpaResult -BestPracticesModelId Microsoft/Windows/Hyper-V

Na figura 6 os commandos acima foram executados e é possível verificar os resultados com o Get-BpaResult.

Figura 6 – Comandos do Powershell para usar o BPA

É possível também fazer um filtro usando o parâmetro Where-Object no powershell. No exemplo abaixo é exibido somente os avisos e erros do BPA:

Get-BpaResult -BestPracticesModelId Microsoft/Windows/Hyper-V | Where-Object {$_.SeverityeqWarning” –or $_.SeverityeqError”}

Figura 7– Filtro para obter erros e avisos

Caso o servidor estiver usando a versão Server Core, é preciso instalar o Powershell e as funcionalidades com os 3 seguintes comandos:

dism /online /enable-feature /featurename:MicrosoftWindowsPowerShell
dism /online /enable-feature /featurename:ServerManager-PSH-Cmdlets
dism /online /enable-feature /featurename:BestPractices-PSH-Cmdlets

É possível exportar todo o resultado para um arquivo CSV ou até mesmo criar um relatório no formato HTML.

Veja o exemplo abaixo para exportar todo o resultado para um arquivo HTML:

Get-BpaResult -BestPracticesModelId Microsoft/Windows/Hyper-V | Where-Object {$_.Severity -eq "Error" -or $_.Severity -eqWarning” } | ConvertTo-Html -Property Severity,Category,Title,Problem,Impact,Resolution,Help -Title "BPA Report for Hyper-V" -Body "BPA Report for Hyper-V <HR>" –Head "<title>BPA Report</title><style type=’text/css’> table { border-collapse: collapse; width: 700px } body { font-family: Arial } td, th { border-width: 2px; border-style: solid; text-align: left; padding: 2px 4px; border-color: black } th { background-color: grey } td.Red { color: Red } </style>" | Out-File "C:\bpa.html"

Figura 8– Relatório em HTML
Leandro Carvalho

Leandro Carvalho - Leandro Carvalho trabalha em um parceiro na Australia como instrutor e engenheiro de sistemas em produtos Microsoft como Windows Server, virtualização, ISA Server, Exchange Server, System Center, CRM Server, Sharepoint e sistemas clientes, além de ajudar a comunidade constantemente com artigos, palestras e foruns.
Possui as certificações MCP/MCSA+M+S/MCSE+S/MCTS/MCITP/MCBMS, MCT e MVP Virtual Machine. No ano de 2009 ele ganhou o prêmio MCT Awards destaque do ano da América Latina e em 2010 o MVP awards especialista em virtualização.
Blog: http://msmvps.com/blogs/msvirtualization
Twitter: @leandroeduardo