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 emHyper-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 emServer 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-BPAModel –BestPracticesModelID 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 {$_.Severity –eq “Warning” –or $_.Severity –eq “Error”}
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 -eq “Warning” } | 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
MCSA+S+M | MCSE+S | MCTS | MCITP | MCBMSS | MCT | MVP Virtual Machine
MSVirtualization | WordPress | Winsec.org | LinhadeCodigo | MVP Profile
Twitter: LeandroEduardo | LinkedIn: Leandroesc
Vida Longa e Próspera! Eu sou o Rafael, um empreendedor em TI com uma vontade louca de transformar profissionais de TI em vencedores! Tenho todas as principais certificações técnicas que preciso e também sou premiado pela Microsoft como MVP (Most Valuable Professional) por 7 anos! Depois dá uma olhadinha na minha página do Facebook, fb.com/bernardes.rafael, lá eu realizo Lives todos os dias!