4.1. Gerenciamento de máquinas virtuais

Cada máquina virtual (VM) é um sistema independente com um conjunto independente de hardware virtual. Seus recursos principais são os seguintes:

  • Uma máquina virtual assemelha-se e funciona como um computador comum. Tem seu próprio hardware virtual. Os aplicativos de software podem funcionar nas máquinas virtuais sem qualquer modificação ou ajuste.
  • A configuração da máquina virtual pode ser alterada facilmente, ou seja, adicionando-se novos discos virtuais ou memória.
  • Embora as máquinas virtuais compartilhem recursos físicos de hardware, elas ficam totalmente isoladas umas das outras (sistema de arquivos, processos, variáveis sysctl) e do nó de computação.
  • As máquinas virtuais podem executar qualquer sistema operacional convidado compatível.

A tabela abaixo lista os limites atuais de configuração de máquinas virtuais:

Tabela 4.1.1 Hardware de máquina virtual
Recurso Limite
RAM 1 TiB
CPU 48 CPUs lógicas
Armazenamento 15 volumes, 512 TiB cada
Rede 15 NICs

Uma CPU lógica é um núcleo (thread) de um processador multinúcleos (multithreading).

4.1.1. Sistemas operacionais convidados compatíveis

Os seguintes sistemas operacionais convidados foram testados e são compatíveis com máquinas virtuais:

Tabela 4.1.1.1 Sistemas operacionais convidados do Windows
Sistema operacional Edição Arquitetura
Windows Server 2019 Essentials, Standard, Datacenter x64
Windows Server 2016 Essentials, Standard, Datacenter x64
Windows Server 2012 R2 Essentials, Standard, Datacenter x64
Windows Server 2012 Standard, Datacenter x64
Windows Server 2008 R2 Standard, Datacenter x64
Windows Server 2008 Standard, Datacenter x64
Windows 10 Home, Professional, Enterprise, Enterprise 2016 LTSB x64
Windows 8.1 Home, Professional, Enterprise x64
Windows 7 Home, Professional, Enterprise x64
Tabela 4.1.1.2 Sistemas operacionais convidados do Linux
Sistema operacional Arquitetura
CentOS 8.x x64
CentOS 7.x x64
CentOS 6.x x64
RHEL 8.x x64
RHEL 7.x x64
Debian 9.x x64
Ubuntu 20.04.x x64
Ubuntu 18.04.x x64
Ubuntu 16.04.x x64

4.1.2. Como criar máquinas virtuais

Antes de continuar e criar máquinas virtuais, verifique se você tem o seguinte:

  • a origem de um SO convidado (consulte Gerenciamento de imagens):

    • uma imagem ISO de distribuição do SO convidado para instalar a VM ou

    • um modelo que é um volume de inicialização no formato QCOW2, ou

    • um volume de inicialização

      Nota

      Para obter um volume de inicialização, crie um volume conforme descrito em Gerenciamento de volumes, anexe-o à VM, instale um sistema operacional e exclua a VM.

Nota

As máquinas virtuais serão criadas com o modelo de CPU do host por padrão. Ter nós de computação com CPUs diferentes poderá causar problemas de migração. Para evitá-los, você pode definir manualmente o modelo da CPU de todas as novas VMs, conforme descrito em Setting Virtual Machines CPU Model.

Para criar uma VM, faça o seguinte:

  1. No Virtual machines screen, clique em Criar máquina virtual. Será aberta uma janela onde você deverá definir os parâmetros da VM.

    ../_images/stor_image70_ac.png
  2. Defina um nome para a nova VM.

  3. Em Implantar de, escolha Volume se você tiver um volume de inicialização ou quiser criar um novo. Caso contrário, escolha Imagem.

  4. Dependendo da sua opção, clique no ícone do lápis na seção Volumes ou Imagem e execute uma destas operações:

    • Na janela Imagens, selecione a imagem ISO ou o modelo e clique em Concluído.
    ../_images/stor_image71_ac.png
    • Na janela Volumes, execute uma destas operações:
      • Se você tiver preparado um volume com um SO convidado instalado, clique em Anexar, encontre e selecione um volume e clique em Concluído.
    ../_images/stor_image72_ac.png ../_images/stor_image73_ac.png
  5. Opcionalmente, na janela Volumes, clique em Adicionar ou Anexar para criar ou anexar quaisquer outros volumes que precisar. Para selecionar um volume como reinicializável, coloque-o no primeiro lugar da lista clicando na seta para cima ao lado do volume.

  6. Depois de selecionar uma imagem ou um volume, a lista suspensa Posicionamento será exibida. Os posicionamentos são criados pelo administrador para agrupar nós ou VMs que compartilham um recurso distintivo, como uma licença especial. Selecione o posicionamento correspondente às características da VMs. Para mais informações, acesse Managing Placements.

  7. Na janela Versão, escolha uma versão e clique em Concluído.

    ../_images/stor_image74_ac.png
  8. Na janela da rede, clique em Adicionar, selecione uma interface de rede virtual e clique em Adicionar. Ela aparecerá na lista Interfaces de rede.

    ../_images/stor_image75_ac.png

    Você pode editar parâmetros adicionais de interfaces de rede recém-adicionadas, como endereços IP e MAC e proteção contra falsificação. Para fazer isso, clique no ícone de reticências da interface, selecione Editar e defina os parâmetros na janela Editar interface de rede.

    ../_images/stor_image75_1_ac.png

    Esses parâmetros não poderão ser editados posteriormente. Em vez disso, você poderá excluir a antiga interface de rede e substituí-la por uma nova.

    ../_images/stor_image75_2_ac.png

    Clique em Concluído.

  9. (Opcional) Se você vai implementar uma VM a partir de um modelo ou volume de inicialização (não uma imagem ISO), poderá definir o seguinte:

    • Uma chave SSH a ser injetada na VM. Para isso, selecione uma chave SSH na janela Selecione uma chave SSH e clique em Concluir.

      ../_images/stor_image76_ac.png

      Nota

      Para poder se conectar à VM via SSH, verifique se o cloud-init e o OpenSSH estão instalados no modelo da VM ou no volume de inicialização (confira Preparing Templates).

    • Dados do usuário para personalizar a VM após o lançamento. Você pode definir os dados do usuário em dois formatos: cloud-config ou shell script. Para isso, crie um script no campo Script de personalização ou procure um arquivo no servidor local para carregar o script.

      ../_images/stor_image77_ac.png

      Nota

      Para que o SO convidado possa ser personalizado, verifique se o modelo da VM ou o volume de inicialização tem o cloud-init instalado (confira Preparing Templates).

      Para injetar um script em uma VM do Windows, consulte a documentação do Cloudbase-Init. Por exemplo, você pode definir uma senha nova para a conta usando o script a seguir:

      #ps1
      net user <username> <new_password>
      
  10. De volta à janela Criar máquina virtual, clique em Implantar para criar e iniciar a VM.

  11. Se você for implantar a VM a partir de uma imagem ISO (e não de um modelo de volume de inicialização ou um volume com um SO convidado pré-instalado), selecione a VM, clique em Console e instale o SO convidado utilizando o console VNC interno.

  12. (Opcional) Se você for implantar a VM a partir de um modelo preparado com uma chave SSH injetada, poderá se conectar a ele por meio de SSH utilizando o nome de usuário e o endereço IP da VM:

    • Para modelos do Linux, digite o nome de usuário padrão para o SO de imagem de nuvem (por exemplo, para uma imagem de nuvem CentOS, o login padrão é centos).
    • Para modelos do Windows, digite o nome de usuário que você definiu durante a instalação do Cloudbase-Init.

    Por exemplo:

    # ssh myuser@10.10.10.10
    

4.1.3. Visão geral das ações da máquina virtual

Depois que você criar uma máquina virtual, poderá gerenciá-la utilizando as ações disponíveis para seu estado atual. Para ver a lista completa de ações disponíveis, clique no botão das reticências ao lado de uma VM ou na parte superior do painel. As ações incluem:

  • Executar liga uma VM.

  • Console conecta-se às VMs em execução por meio do console VNC interno. Na janela do navegador do console, envie uma combinação de chaves para uma VM, faça uma captura de tela da janela do console e baixe o log do console.

  • Reiniciar executa uma reinicialização da VM via software.

  • Desligar desliga corretamente uma VM em execução.

  • Reinicialização manual corta e restaura a energia e, em seguida, inicia uma VM.

  • Desligar força o corte de energia de uma VM.

  • Arquivar desvincula uma VM parada do nó em que está hospedada e libera seus recursos reservados, como CPU e RAM. Uma MV arquivada permanece reinicializável e retém sua configuração, inclusive os endereços IP.

    Máquinas virtuais em outros estados podem ser arquivadas com um clique em Desligar ou em Desligar e marcando a caixa de seleção Arquivar máquina virtual na janela de confirmação.

  • Desarquivar gera uma VM arquivada em um nó com recursos suficientes para hospedá-la.

  • Suspender salva o estado da VM atual em um arquivo.

    Isso pode ser útil, por exemplo, se você precisar reiniciar o host mas não quiser fechar os aplicativos que estiverem em execução no momento na VM ou reiniciar seu SO convidado.

  • Retomar restaura a VM do estado de suspensão.

  • Baixar log do console baixa o log do console. Verifique se o registro em log está ativado na VM, caso contrário, o log ficará vazio (para mais informações, consulte Como ativar o registro em log em máquinas virtuais).

    A análise dos logs do console pode ajudar na solução de problemas de máquinas virtuais com falha.

  • Redefinir o estado redefine a VM presa em um estado de transição ou com falha recuperando seu último estado estável: ativo, desligada ou arquivada.

  • Excluir remove uma VM do cluster de computação.

4.1.4. Como ativar o registro em log em máquinas virtuais

O log do console da VM conterá mensagens de log somente se os níveis do registro em log TTY1 e TTYS0 estiverem ativados dentro da VM. Por exemplo, você pode ativá-los da seguinte maneira em VMs do Linux:

  1. Adicione a linha GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0" ao arquivo /etc/default/grub.

  2. Dependendo do carregador de inicialização, execute

    # grub-mkconfig -o /boot/grub/grub.cfg
    

    ou

    # grub2-mkconfig -o /boot/grub2/grub.cfg
    
  3. Reinicie a VM.

Em VMs do Windows, você pode ativar o redirecionamento do console dos Serviços de gerenciamento de emergência (EMS) para esse fim. Faça o seguinte:

  1. Inicie o Windows PowerShell com privilégios de administrador.

  2. No console do PowerShell, defina a porta COM e a taxa de transmissão para o redirecionamento do console EMS. Como as VMs do Windows só têm a porta COM1 com a taxa de transmissão de 9600 bps, execute:

    bcdedit /emssettings EMSPORT:1
    
  3. Ative o EMS para a entrada de boot atual:

    bcdedit /ems on
    

Você poderá também ativar o registro de log do status da unidade para ver a lista de unidades carregadas. Isso pode ser útil na solução de problemas de uma unidade com problemas ou em processos de inicialização prolongados. Você poderá fazer isso da seguinte maneira:

  1. Inicie a Configuração do sistema com privilégios de administrador.
  2. Na janela Configuração do sistema abra a guia Iniciar, marque as caixas de seleção Informações da inicialização do SO e Torne todas as configurações de inicialização permanentes.
  3. Confirme as alterações e reinicie o sistema.

4.1.5. Reconfiguração e monitoramento de máquinas virtuais

Para monitorar a CPU, o armazenamento e a utilização de rede das máquinas virtuais, selecione a VM e abra a guia Monitoramento.

O intervalo de tempo padrão dos gráficos é de 12 horas. Para ampliar um intervalo de tempo específico, selecione o intervalo com o mouse; para redefinir a ampliação, clique duas vezes sobre qualquer gráfico.

Os seguintes gráficos de desempenho estão disponíveis:

CPU/RAM
Utilização da CPU e RAM pela VM.
Rede
Tráfego de rede de entrada e saída.
Leitura/gravação no armazenamento
Quantidade de leituras e gravações de dados pela VM.
Latência da leitura/gravação
Latência da leitura e gravação. Para ver também a latência média e máxima de um momento e dos 95 e 99 percentis, passe o cursor do mouse sobre um ponto no mapa.

Para reconfigurar uma VM, selecione-a e, na guia Visão geral, clique no ícone do lápis a lado do parâmetro que precisar alterar. Você não poderá fazer o seguinte:

  • Alterar, desanexar ou excluir o volume de inicialização
  • Gerenciar volumes que não são de inicialização exceto anexar e desanexar
  • Modificar interfaces de rede adicionadas anteriormente
  • Anexar e desanexar interfaces de rede em e de VMs arquivadas

4.1.6. Gerenciamento de ferramentas convidadas

Esta seção explica como instalar e desinstalar as ferramentas convidadas. Essa funcionalidade é necessária para criar instantâneos consistentes dos discos de uma VM em execução (confira Gerenciamento de instantâneos de volume).

4.1.6.1. Instalação de ferramentas convidadas

Para instalar as ferramentas convidadas em uma máquina virtual, faça o seguinte:

  • Em uma VM do Windows:

    1. Baixe a imagem ISO das ferramentas convidadas do Windows fornecida pelo administrador do sistema.
    2. Monte a imagem na VM.
      • No Windows 8 ou no Windows Server 2012 ou mais recentes, você pode montar uma imagem ISO de forma nativa. Para fazer isso, clique com o botão direito do mouse na imagem ISO da ferramenta convidada e selecione Montar.
      • No Windows 7 e no Windows Server 2008, você precisará de um aplicativo de terceiros para montar imagens ISO.
    3. Acesse a unidade óptica montada no Explorer e instale as ferramentas convidadas executando setup.exe.
    4. Após a conclusão da instalação, reinicie a VM.
  • Em uma VM do Linux:

    1. Baixe a imagem ISO das ferramentas convidadas do Linux fornecida pelo administrador do sistema.

    2. Crie um ponto de montagem para a unidade óptica com a imagem das ferramentas convidadas e execute o instalador:

      # mkdir /mnt/cdrom
      # mount <path_to_guest_tools_iso> /mnt/cdrom
      # bash /mnt/cdrom/install
      

Nota

As ferramentas convidadas contam com o agente convidado QEMU instalado junto com as ferramentas. O agente de serviço deve estar em execução para as ferramentas funcionarem.

4.1.6.2. Desinstalação das ferramentas convidadas

Se você descobrir que as ferramentas convidadas são incompatíveis com alguns softwares dentro de uma máquina virtual, poderá desinstalá-las da seguinte maneira:

  • Em uma VM do Windows:

    1. Remova os drivers de dispositivo QEMU do gerenciador de dispositivos.

      Importante

      Não remova o driver de disco rígido VirtIO/SCSI e o driver de rede NetKVM. Sem o primeiro, a VM não será inicializada; sem o último, a VM perderá a conectividade de rede.

    2. Desinstale o agente convidado QEMU e as ferramentas convidadas da lista de aplicativos instalados.

    3. Pare e exclua o Monitor de ferramentas convidadas:

      > sc stop VzGuestToolsMonitor
      > sc delete VzGuestToolsMonitor
      
    4. Cancele o registro do Monitor de ferramentas convidadas do log de eventos:

      > reg delete HKLM\SYSTEM\CurrentControlSet\services\eventlog\Application\\
      VzGuestToolsMonitor
      
    5. Exclua a chave de registro de execução automática para RebootNotifier:

      > reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v \
      VzRebootNotifier
      
    6. Exclua o diretório C:\Program Files\Qemu-ga\.

      Se VzGuestToolsMonitor.exe estiver bloqueado, feche todas as janelas do Visualizador de Eventos. Se ele permanecer bloqueado, reinicie o serviço eventlog:

      > sc stop eventlog
      > sc start eventlog
      

    Depois de remover as ferramentas convidadas, reinicie a máquina virtual.

  • Em uma VM do Linux:

    1. Remova os pacotes:

      1. Em sistemas baseados em RPM (CentOS e outros):

        # yum remove dkms-vzvirtio_balloon prl_nettool qemu-guest-agent-vz vz-guest-udev
        
      2. Em sistemas baseados em DEB (Debian e Ubuntu):

        # apt-get remove vzvirtio-balloon-dkms prl-nettool qemu-guest-agent-vz vz-guest-udev
        

        Se algum dos pacotes listados acima não estiver instalado no sistema, o comando falhará. Nesse caso, exclua esses pacotes do comando e execute-o novamente.

    2. Remova os arquivos:

      # rm -f /usr/bin/prl_backup /usr/share/qemu-ga/VERSION /usr/bin/install-tools \
      /etc/udev/rules.d/90-guest_iso.rules /usr/local/bin/fstrim-static /etc/cron.weekly/fstrim
      
    3. Recarregue as regras udev:

      # udevadm control --reload
      

    Depois de remover as ferramentas convidadas, reinicie a máquina virtual.