Associando um disco real a uma máquina virtual (Hyper-V)

Você notará que você não conseguirá selecionar a opção Physical Hard Disk. Para associarmos um disco real diretamente a uma VM, precisamos torná-lo “off-line” para o host.

Para isso, precisamos acessar o Gerenciador de discos remotamente no Hyper-V. Você pode usar o Corefig ou o comando abaixo para habilitar o Gerenciamento de Volumes Remoto:

netsh advfirewall firewall set rule group="Gerenciamento de Volumes Remoto" new enable=yes

Após habilitá-lo, use um computador cliente e abra o Menu iniciar. Dê botão direito em Computador e clique em Gerenciar.

2016-09-14-21_01_32

Na barra lateral esquerda, dê botão direito em Gerenciamento do computador e clique em Conectar a outro computador…

Digite o IP do servidor Hyper-V e clique em OK.

2016-09-14-21_02_42-adicionar-novo-post-eduardo-mozart-wordpress

A conexão deverá ocorrer normalmente (caso a conexão falhe, será exibido mensagem de erro do RPC – verifique se você habilitou o Gerenciamento Remoto no Firewall do Windows e que o IP usado na conexão está correto).

2016-09-14-21_07_19-gerenciamento-de-disco

Você não tem direitos de acesso ao ‘Gerenciador de discos lógicos’

Caso apareça a mensagem Acesso negado ao acessar o Gerenciamento de disco remoto, verifique se o usuário logado atualmente no computador Cliente com um usuário membro do grupo Admins. do domínio. Caso contrário, realize logoff e logue-se com um usuário do domínio membro deste grupo.

Caso você não possua uma estrutura Active Directory ou o servidor Hyper-V não seja membro do domínio, será necessário, no computador Cliente, criar uma conta com o MESMO NOME DE USUÁRIO E SENHA da conta Administrador do Servidor. Para isso, abra o Gerenciamento do computador (local), expanda Usuários e Grupos Locais. Dê botão direito em Usuários e clique em Novo usuário… Após criar o novo usuário, realize Logoff e logue-se com ele.

No Gerenciador de discos lógicos, dê botão direito no disco que você deseja atribuir a VM e selecione a opção Offline.

2016-09-14-21_22_26

Agora, no 5nine Manager no Servidor, na aba Hyper-V Manager, dê botão direito na VM e clique em Settings.

Em Controlador SCSI, selecione Hard Drive na lista e clique em Add.

Selecione o disco real em Physical Hard Drive.

Anúncios

Instalando e Configurando o 5nine Manager for Hyper-V (Free Edition) no Windows Server Hyper-V 2012

Na empresa onde trabalhamos, possuímos um servidor de virtualização Hyper-V 2012 (gratuito) sem interface gráfica. Gerenciávamos nossas máquinas virtuais através do RSAT, mas recentemente atualizamos nossa estrutura da versão 2008 R2 do Hyper-V para 2012 R2.

Infelizmente, após a mudança, o RSAT instalado nos nossos clientes com Windows 7 não poderiam mais ser usados para gerenciar o Hyper-V 2012 R2 – o cliente RSAT compatível com estas versões do Hyper-V somente é compatível com Windows 8.1. Infelizmente, não possuímos nenhum computador na organização que possuí licença para esta versão do Windows.

Procurando por uma solução, encontramos o 5nine Manager, que possibilita gerenciarmos as máquinas virtuais localmente no Hyper-V Server 2012.

Instalação

O 5nine Manager for Hyper-V (Free Edition) pode ser obtido no site da 5nine no link: http://www.5nine.com/5nine-manager-for-hyper-v-free.aspx

É necessário preencher um pequeno cadastro para realizar o download do instalador, mas o software é gratuito. O link para download e o arquivo de licença será enviado para o e-mail informado no cadastro.

Após o download, é necessário extrair o arquivo baixado (ZIP) antes de instalá-lo no servidor. O Windows possuí suporte nativo a extração de arquivos ZIP, mas você pode usar o 7-Zip para este trabalho.

2016-09-14-18_21_47

Após a extração, copie o arquivo de licença em anexo no e-mail para a mesma pasta onde extraiu o instalador do 5nine.

é necessário executar o instalador no servidor. Você pode instalá-lo através de um pen drive ou HD externo com o comando:

D:\5nineManager\59Manager.exe

Durante a instalação, será necessário localizar o arquivo de licença que você recebeu via e-mail.

2016-09-14-18_29_32-5nine-manager-setup

Durante a instalação, será questionado se você deseja usar um banco de dados SQLite local ou Microsoft SQL Server para armazenar os logs de monitoramento do 5nine.

Caso você possua um servidor de produção Microsoft SQL Server na sua empresa, você pode usá-lo. Caso contrário, use o banco de dados SQLite e clique em Next.

2016-09-14-18_30_40-5nine-manager-setup

Configuração

Adaptador de rede

Durante a primeira execução do 5nine, precisamos configurar nosso adaptador de rede físico de forma a disponibilizá-los para as máquinas virtuais.

Tivemos problemas ao criar um adaptador de rede virtual pelo 5nine Manager: A conexão externa com a internet no Host era simplesmente perdida! Tivemos de criar o adaptador virtual pelo PowerShell.

Existem 3 tipos de redes virtuais:

Externo (Bridge): Permite acesso à internet e a rede local através da nossa placa de rede real. As máquinas virtuais receberão um IP na faixa da rede interna.

Interno: Rede que permite a troca de informações entre as máquinas virtuais e ao host HYPER-V.

Particular: Rede interna somente entre as máquinas virtuais.

Para criar um adaptador Externo, execute o comando powershell no prompt de comando.

Encontre os adaptadores de rede existentes usando o cmdlet Get-NetAdapter. Anote o nome do adaptador de rede que você deseja usar para o switch virtual.

Get-NetAdapter

Crie um novo switch virtual usando o cmdlet New-VMSwitch. Por exemplo, para criar um switch externo virtual com a opção Allow management operating system to share this network adapter habilitada, execute o seguinte comando.

New-VMSwitch -name ExternalSwitch -NetAdapterName Ethernet -AllowManagementOS $true

Ao clicar no menu Refresh (aba Virtual Network Adapters), nosso switch virtual será exibido automaticamente.

Máquinas virtuais

Entre na aba Hyper-V Manager (ao lado de Summary).

Agora, na barra lateral esquerda, dê botão direito no servidor e clique em Create New VM …

Na primeira tela, você poderá criar uma VM (Create new virtual machine) ou importá-la usando um arquivo de configuração.

Na próxima tela, será necessário informar o nome da VM.

Na próxima tela, será necessário informar a geração (Generation) da VM.

  • Geração 1 usa Legacy BIOS. Na dúvida, use esta opção.
  • Geração 2 usa UEFI, possuindo suporte a Secure Boot e PXE usando este padrão. Use esta opção somente ao instalar uma versão moderna do Windows (Windows 8/Server 2012+) ou uma distribuição Linux que suporte este padrão.

Nas próximas quatros telas, você poderá configurar o número de processadores, memória, rede e espaço em disco para esta máquina virtual.

Durante a alocação da memória, procure sempre usar múltiplos de 2 (1024, 2048, 4096…), de forma a não fugir do padrão utilizado em máquinas reais.

Durante a configuração de rede (Networking), selecione a conexão criada anteriormente e clique em Next,

Durante a configuração do disco rígido, você poderá criar um novo disco virtual .VHDX, importar um disco .VHD/.VHDX existente ou adicionar um disco virtual depois (Attach a virtual hard disk later).

Há um pequeno bug durante a criação de uma máquina virtual usando a opção Attach a virtual hard disk later. Caso você tenha selecionado a opção de importar antes de marcar esta opção, não será possível avançar a próxima tela (exibirá um aviso “Check the entered path”).

Na última tela (Summary), será exibido um pequeno resumo das configurações que definimos para a VM. Desmarque a caixa Start VM after creation caso você não deseje iniciar a VM automaticamente após sua criação.

Iniciando uma VM automaticamente durante a iniciação do Hyper-V Server

Para iniciar uma VM automaticamente durante a iniciação, dê botão direito nela e clique em Settings. Na barra lateral esquerda, clique em Management. Na aba Advanced, em Automatic Start Action, selecione a opção Always start.

Adicionando um disco virtual após a criação da VM

Caso você tenha usado a opção Attach a virtual hard disk later, para importar um disco virtual a uma VM, dê botão direito nela e clique em Settings.

Na barra lateral esquerda, em Controlador IDE 0, selecione Hard Drive na lista e clique em Add,

Marque a opção Virtual hard disk e clique em Browse… para selecionar um disco existente ou Create para criar um novo disco virtual. Clicando em Inspect, você poderá ver quanto espaço a VM realmente está utilizando do disco virtual. 

Instalação do Corefig para Hyper-V Server 2012 R2

1033-image_40f0c61a

O Corefig adiciona uma interface gráfica (UI) para o Hyper-V Server 2012, substituindo o sconfig.

Ele é open source e pode ser obtido no CodePlex (baixe a versão ZIP).

Após o download, extraia o arquivo.

Copie a pasta extraída para o servidor com o comando:

xcopy D:\Corefig C:\Corefig /cheriky

Execute-o com o comando:

cscript C:\Corefig\Start_Corefig.wsf

Durante a primeira iniciação, ele instalará o .NET Framework 4 (NetFx4) e Windows PowerShell.

Adicionando o Hyper-V Server ao domínio

Para ingressar o servidor Hyper-V ao domínio, clique no botão Computer settings…

Em Computer Name and Domain, clique no botão de mesmo nome.

Exibirá uma tela similar a exibida no Windows. Marque a caixa Domínio e digite o nome do domínio. Será necessário informar um usuário membro do grupo Administradores para ingressar nosso servidor Hyper-V ao domínio.

Caso o computador falhe ao ingressar ao domínio, verifique as configurações DNS do servidor Hyper-V.

Habilitando o snap-in “Gerenciamento do Computador” e o Ping

Para habilitar o Ping, clique no botão Control Panel…

Em Windows Firewall, clique no botão Firewall…

Na barra lateral esquerda, clique em Rule Configuration.

corefirewall

Para habilitar um item da lista, selecione Enabled

  • Enable Event Log Management
  • Enable Service Management
  • Enable Remote Volume Management
  • ICMP Echo Request (Ping)

e clique em Apply.

Para gerenciar o Hyper-V Server remotamente, você pode usar o Gerenciamento do Computador em qualquer computador cliente com Windows (diferente do RSAT, não é necessário usar a versão 8.1 ou superior do Windows para acessar o Hyper-V Server 2012 – é possível usar um cliente Windows 7 para gerenciar o servidor).

Infelizmente, o Corefig não possui a opção de habilitarmos portas específicas no Firewall do Windows: Ele possuí somente modelos prontos de regras que podem ser habilitadas ou desabilitadas.

Instalando um driver

Para habilitar um arquivo *.inf de driver, clique no botão Control Panel…

Em Hardware Settings, clique no botão Drivers…

Clique no botão Have Disk… para selecionar o arquivo *.inf.

Clique no botão OK para iniciar a instalação.

Iniciando o Corefig automaticamente após o login

Do prompt de comando, execute o regedit. Navegue para Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Adicione um novo valor string (Valor da Cadeia de Caracteres) com o nome corefig e valor cmd.exe /k C:\Windows\system32\cscript.exe C:\Corefig\Start_Corefig.wsf

Referências

Automatically open a PowerShell session on Hyper-V Server 2008 R2 or Windows Server 2008 R2 Core? – Super User – http://superuser.com/questions/315809/automatically-open-a-powershell-session-on-hyper-v-server-2008-r2-or-windows-ser

Escondendo Dispositivos de Rede Virtuais do VMWare e VirtualBox do Firewall do Windows e da Central de Rede e Compartilhamento

vboxhostonlynetnetnsharing1

O VMWare Workstation cria dois adaptadores de rede virtual por padrão. Um é a rede host-only e outro é para roteamento NAT. Você pode criar adaptadores adicionais para adequá-lo a necessidades de cenários mais complexos.

O VirtualBox cria um dispositivo “VirtualBox Host-Only Network” que é essencialmente um adaptador loopback para criar conexões de rede entre máquinas virtuals e entre o host e máquinas virtuais. Infelizmente, ele é exibido como uma rede pública desconhecida.

O problema é que estas redes causam o Windows 7 pensar que está conectado a uma rede pública “não identificada” que possuí como efeito colateral a desabilitação da descoberta de rede e compartilhamento de arquivos e impressoras. Você experimentará o mesmo problema com o Windows 7 Virtual PC se você criar um adaptador de loopback virtual. Este é um grande efeito colateral ao instalar alguns softwares de virtualização. Felizmente, o Windows possuí um meio de marcar um dispositivo de rede como virtual criando um valor no registro.

*NdisDeviceType

O tipo do dispositivo. O valor padrão é zero, que indica um dispositivo de rede padrão que conecta-se a uma rede. Defina *NdisDeviceType para NDIS_DEVICE_TYPE_ENDPOINT (1) caso este dispositivo seja um dispositivo endpoint e não é uma interface de rede verdadeira que conecta-se a uma rede. […] Consequentemente, o Windows ignora dispositivos endpoint quando ele identifica redes. A API Networl Awareness indica que o dispositivo não conecta o computador a uma rede. Para usuários finais nesta situação, a Central de Rede e Compartilhamento e o ícone de rede da área de notificação não exibirá o dispositivo endpoint NDIS como conectado. Porém, a conexão será exibida na pasta Conexões de Rede.

Tanto quanto sei é que este é somente um bug tanto no VirtualBox e VMware Workstation. Eles podem ter seus dispositivos de rede virtual marcados como *NdisDeviceType=1 para compatibilidade com sistemas NT 6.x.

Até eles fazerem isso, Brian Reiter criou dois pequenos scripts em PowerShell para encontrar todos os adaptadores de rede criados pelo VMware [1] quanto para VirtualBox [2] e marcá-los como virtuais e decidi uni-los em um único script.

# tell windows that VM Network Adapters
# is not a true network interface that connects to a network
# see http://msdn.microsoft.com/en-us/library/ff557037(VS.85).aspx
pushd
function NdisDeviceType([string]$arg1)
{
echo "Marking $arg1 as virtual."
cd 'HKLM:\system\CurrentControlSet\control\class\{4D36E972-E325-11CE-BFC1-08002BE10318}'
ls ???? | where { ($_ | get-itemproperty -name driverdesc).driverdesc `
-eq $arg1 } |`
new-itemproperty -name '*NdisDeviceType' -PropertyType dword -value 1
}
NdisDeviceType "VirtualBox Host-Only Ethernet Adapter"
NdisDeviceType "VMware Virtual Ethernet Adapter"
echo "`r`nReboot to apply changes."
popd

Copie o conteúdo do script no Bloco de notas e salve-o como NdisDeviceType.ps1

Para executar o script, abra o Prompt de Comando como administrador e execute o PowerShell com o comando:

powershell.exe -noprofile -executionpolicy bypass

No PowerShell, execute o script digitando o caminho completo do arquivo:

C:\Users\Marcos\Desktop\NdisDeviceType.ps1

NdisDeviceType-PS

A configuração começará a ter efeito após a reinicialização do computador.

Referências

[1] Hide VMWare Virtual Network Interfaces from Windows Firewall and Network and Sharing Center – Brian Reiter – https://brianreiter.org/2011/08/29/hide-vmware-virtual-network-interfaces-from-windows-firewall-and-network-and-sharing-center/

[2] FIX: VirtualBox Host-Only Network Adapter Creates a Virtual “Public Network” Connection That Causes Windows to Disable Services – Brian Reiter – https://brianreiter.org/2010/09/18/fix-virtualbox-host-only-network-adapter-creates-a-virtual-public-network-connection-that-causes-windows-to-disable-services/

Create Your Own PowerShell Functions – Windows IT Pro – http://windowsitpro.com/windows/create-your-own-powershell-functions

How do I pass multiple parameters into a function in PowerShell? – StackOverflow – http://stackoverflow.com/questions/4988226/how-do-i-pass-multiple-parameters-into-a-function-in-powershell

How to enable execution of PowerShell scripts? – Super User – http://superuser.com/questions/106360/how-to-enable-execution-of-powershell-scripts

Iniciando VMs automaticamente no ESXi

Para iniciar a VM automaticamente após a iniciação do ESXi, logue-se no cliente vSphere.

No canto esquerdo da tela, clique no nome/IP do servidor ESXi, entre na aba Configuration. Na barra lateral esquerda da janela de configuração, no menu Software, clique em Virtual Machine Startup/Shutdown.

Na nova janela que abrir, certifique-se que a caixa Allow virtual machines to start and stop automatically with the system está marcada em System settings.

Em Startup Order, selecione a máquina virtual que você deseja iniciar automaticamente com o sistema e clique no botão Move Up até ela alcançar Automatic Startup.

1

vSphere Client: “Cannot complete login due to an incorrect user name or password”

Este erro apareceu logo na nossa primeira tentativa de acessar nosso servidor ESXi através do vSphere Client.

Digitamos o usuário (root) e a senha corretamente, mas ainda não tínhamos acesso ao servidor através do vSphere Client. O acesso via SSH também dava falha de autenticação. Mas, ao acessarmos o servidor localmente, tínhamos acesso completo as configurações do servidor ao pressionarmos <F2> com a mesma senha! Tentamos, inicialmente, reiniciar o servidor, obter um novo IP via DHCP… Nada!

Na comunidade SpiceWorks, recomendaram o formato domíniousuário em User name, sem sucesso. Tentamos também no formato domínio@usuário, como sugerido no blog vFrank. Como não possuímos um servidor de domínio (ainda), utilizamos o IP do servidor ESXi.

Em um dos comentários no blog vFrank, pude encontrar uma dica para quem possuí AD: Verifique se a senha do usuário não está expirada.

Outras dicas que pude encontrar no blog ITXPerience era criar, na zona reversa do DNS, um registro PTR para o IP do servidor ESXi. Esta dica não aplica-se a nossa estrutura por não possuirmos um servidor DNS ainda.

Como última tentativa, decidirmos acessar as configurações do ESXi localmente (pressionando <F2>) e mudarmos a senha para outra menos complexa, que não utiliza caracteres especiais (como @ e .), somente letras (maiúsculas e minúsculas) e números.

Tanto o acesso via SSH quanto pelo vSphere Client foram restaurados com a nova senha! Utilizamos apenas ‘root’ como usuário e utilizamos o IP do servidor em IP address / Name.

Continuo com problemas, e agora?

Uma informação que ajudaria muito seriam os logs. É possível visualizar os logs através do vSphere Client 4.0 e superiores em Home > Administration > System Logs e do vSphere 5.1 e do Web Client 5.5 em Home > Log Browser. [2]

Os logs do host ESXi são armazenados em /var/log/vmware. No KB2110014 [1] e KB1021804 [2] da VMware você encontra uma descrição dos arquivos de log gerados pelo vCenter Server. Os principais são:

Log Descrição
vmware-vpx\vpxd.log Log principal do vCenter Server, consistindo de todas as conexões vSphere Client e WebServices, eventos e tarefas internas e comunicação com o vCenter Server Agent (vpxa) (1) (2)
vmware-vpx\vpxd-alert.log Informações não-fatais do processo vpxd (1) (2)
vsphere-client VMware vSphere Web Client (1)
SSO VMware Single Sign-On (1)

Nota: a medida que cada log aumenta, ele é rotacionado em uma série de arquivos numerados componente-nnn.log (2)

Referências

  1. VMware Knowledge Base – Location of VMware vCenter Server 6.0 log files (2110014)
  2. VMware Knowledge Base – Location of vCenter Server log files (1021804)

VMware Server: Problemas de autenticação ao rebaixar um servidor de domínio para um servidor membro

Nota: O VMware Server foi descontinuado no dia 30/06/2011, sendo substituído pelo VMware ESXi.

vmware1

Could not choose a ‘__vmware_user__’ password long enough (min lenght 0). Aborting.

Ao desinstalar o Active Directory (rebaixar o controlador de domínio [DC] para um servidor membro) em um servidor Windows Server em uma empresa que prestava suporte, não pude mais acessar a interface de gerenciamento do VMware Server pela web.

Este problema ocorre devido ao VMware integrar o usuário padrão (__vmware_user__) utilizado para autenticação pelo serviço vmauthd ao Active Directory.

Quando rebaixamos o domínio, todas as contas de usuário e chaves criptografadas são excluídas (isso significa que todos os arquivos criptografados pelos usuários estarão inacessíveis para sempre caso o backup das chaves não sejam realizados). [1]

Fig8-18

(Reprodução)

Para restaurar o acesso a interface, precisamos recriar localmente o usuário ‘__vmware_user__’ e adicionarmos ele aos grupos ‘__vmware__’ e ‘Administradores’.

Para isso, abra o Menu iniciar > Painel de Controle. Selecione o modo de exibição por ícones grandes e abra Ferramentas Administrativas > Gerenciamento do computador.

Em Usuários e grupos locais, dê botão direito em Usuários e selecione Novo usuário… Em Nome do usuário, digite ‘vmware_user‘ (sem aspas) e clique no botão Criar.

Não é necessário definir uma senha ao criarmos o usuário – ela é gerada automaticamente cada vez que o serviço vmauthd inicia. Mas precisamos deletar o arquivo %ALLUSERSPROFILE%VMwareVMware Serverhostdauthorization.xml

vmware2

Se apenas criarmos o usuário ‘vmware_user‘ e não o adicionarmos ao grupo ‘vmware‘, a mensagem abaixo será exibida no Visualizador de Eventos ao iniciar o serviço vmauthd:

An error occurred while checking group membership:
Can't look up VMware User Group group.

Agora, dê botão direito em Grupo e selecione Novo grupo… Em Nome do grupo, digite ‘__vmware__’ (sem aspas). Em Membros, clique no botão Adicionar > Avançado… e clique no botão Localizar agora…

Na lista, selecione o usuário ‘__vmware_user__’, dê OK para fechar as duas janelas e clique no botão Criar para criar o grupo ‘__vmware__’ com o membro ‘__vmware_user__’.

Ainda em Grupos, dê dois cliques em Adminsitradores (Administrators) e repita o processo realizado no grupo ‘vmware‘ para adicionar o usuário ‘vmware_user‘ ao grupo.

Na pasta Virtual Machines, dê permissão total ao grupo ‘vmware‘.

Agora, ao tentarmos iniciar o VMware Server, o Visualizador de eventos mostrará o Evento 100:

vmware3

Cannot find perfmon object in array returned by perfDll, index=0

Este erro ocorre por que a conta de usuário que recém-criamos (‘vmware_user‘) não possuí permissões para logon como serviço (SeServiceLogonRight). [2] O serviço vmauthd utiliza o usuário ‘vmware_user‘ para ser iniciado. Mas por padrão, contas de usuário não possuem permissão para logon como serviço. Precisamos editar a nossa Política de grupo local para permitirmos isso:

Pressione as teclas Windows + R e digite gpedit.msc

Agora, expanda Configuração do Computador > Configurações do Windows > Configurações de segurança >
Diretiva locais > Atribuição de direitos de usuário

Adicione o usuário ‘vmware_user‘ as diretivas Permitir logon localFazer login como serviço. Podemos realizar este procedimento utilizando o ntrights disponível no Windows Resource Kits 2003 com o comando:


ntrights.exe +r SeServiceLogonRight -u MYCOMPUTER__vmware_user__

Substitua “MYCOMPUTER” pelo nome do computador. Você pode encontrar o nome do computador pressionando a combinação de teclas Windows + Pause Break.

Na diretiva Negar logon como serviço, remova o usuário ‘vmware_user‘ desta lista. Ela anula a diretiva Fazer login como serviço.

Para atualizarmos a diretiva, precisamos reiniciar o computador ou abrir o Prompt de comando como Administrador e executarmos o comando:


gpupdate /force

Agora, o serviço vmauthd deve iniciar normalmente.

Você pode ainda tentar reparar os Contadores de performance (Performance Counters) do Windows.

 


REFERÊNCIAS

  1. Lição 081 – Capítulo 08 – Fundamentos em: Rebaixar um DC de volta a Member Server – Julio Battisti – http://juliobattisti.com.br/artigos/w3kcc/capitulo08/05.asp
  2. Event ID 100 – vmauthd – Deus Ex Machina – EventLog Lookup – http://deusexmachina.uk/evdoco/event.php?event=122