4.4. 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.4.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.4.1. Sistemas operacionais convidados compatíveis

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

Tabela 4.4.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.4.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.4.2. Como criar máquinas virtuais

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

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 COMPUTE > Virtual machines > VIRTUAL MACHINES tab, 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 Gerenciar posicionamentos.

  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 Preparar modelos).

    • 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 Preparar modelos).

      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.4.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.

  • Migrar move uma VM para outro nó no cluster de computação (para mais informações, consulte Como migrar máquinas virtuais).

4.4.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.4.5. Como migrar máquinas virtuais

A migração de máquinas virtuais ajuda a facilitar os upgrades de clusters e o balanceamento de carga do trabalho entre nós de computação. O Acronis Cyber Infrastructure permite que você realize dois tipos de migração:

  • Migração fria para máquinas virtuais paradas e suspensas
  • Migração quente para máquinas virtuais em execução (permite evitar o tempo de inatividade da VM)

Para os dois tipos de migração, uma máquina virtual é migrada entre os nós de computação usando o armazenamento compartilhado, portanto, nenhuma migração de dispositivo de bloco ocorre.

A migração quente consiste nas seguintes etapas:

  1. Toda a memória da VM é copiada para o nó de destino, enquanto a máquina virtual mantém-se em execução no nó de origem. Se uma página de memória da VM for alterada, será copiada novamente.
  2. Quando somente algumas poucas páginas de memória forem deixadas para serem copiadas, as página remanescentes serão transferidas e a VM será reiniciada no nó de destino.

Grandes máquinas virtuais com cargas de trabalho de gravação intensiva gravam na memória mais rapidamente do que as alterações de memória que podem ser transferidas para o nó de destino, dessa forma impedindo a convergência da migração. Para essas VMs, é utilizado o mecanismo de convergência automática. Quando é detectada uma ausência de convergência durante a migração em tempo real, a velocidade de execução da vCPU das VMs é reduzida, o que também reduz a velocidade de gravação na memória da VM. Inicialmente, a vCPU da máquina virtual é reduzida em 20% e depois em 10% durante cada iteração. Esse processo continua até que a velocidade de gravação na memória da VM diminua o suficiente para que a migração seja concluída ou que a vCPU da VM seja reduzida em 99%.

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 migrar uma VM, faça o seguinte:

  1. Na guia COMPUTAR > Máquinas virtuais > MAQUINAS VIRTUAIS, clique em uma VM para migrar, clique no botão das reticências e escolha Migrar.

    ../_images/stor_image104_ac.png
  2. Na nova janela, defina o nó de destino:

    • Automático. Seleciona automaticamente o destino otimizado entre os nós do cluster com base nos recursos de CPU e RAM disponíveis.
    • Selecione o nó de destino manualmente na lista suspensa.
    ../_images/stor_image105_ac.png
  3. Por padrão, as VMs em execução são migradas em tempo real. Você pode mudar o modo de migração para offline marcando a caixa de seleção Migração fria. Uma VM será interrompida e reiniciada no nó de destino após a migração.

  4. Clique em Migrar para reservar recursos no nó de destino e iniciar a migração.

O painel de administração exibirá o andamento da migração.

4.4.6. 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
  • Alterar a versão de VMs em execução e arquivadas

4.4.7. Configuração da alta disponibilidade de máquinas virtuais

A alta disponibilidade mantém as máquinas virtuais operacionais se o nó em que se encontrarem falhar devido a pane no kernel, falta de energia ou se deixar de ser acessível na rede. O desligamento normal não é considerado um evento de falha.

Importante

O cluster de computação pode sobreviver à falha de somente um nó.

No caso de uma falha, o sistema tentará evacuar as VMs afetadas automaticamente, ou seja, migrá-las offline com agendamento automático para outros nós de computação íntegros na seguinte ordem:

  • As VMs com o status “Ativa” são evacuadas antes e iniciadas automaticamente.
  • As VMs com o status “Desligada” serão evacuadas em seguida e permanecem interrompidas.
  • Todas as demais VMs serão ignoradas e deixadas no nó que falhou.

Se algo bloquear a evacuação, por exemplo, os nós de computação de destino não têm recursos para hospedar as VMs afetadas, essas VMs permanecerão no nó com falha e receberão o status “Erro”. Você poderá evacuá-las manualmente depois de resolver o problema (fornecendo recursos suficientes, associando novos nós ao cluster, etc.). Para isso, clique no ícone das reticências ao lado dessa VM, ou abra seu painel, e clique em Evacuar.

../_images/stor_image155_ac.png

Quando o nó com falha tornar-se disponível novamente, ficará isolado do agendamento de novas VMs no mesmo e poderá ser retornado manualmente à operação. Para isso, clique no botão das reticências ao lado do nó isolado, ou abra seu painel, e clique em Voltar à operação.

../_images/stor_image154_ac.png

Por padrão, a alta disponibilidade para máquinas virtuais é ativada automaticamente após a criação de um cluster de computação. Se necessário, você poderá desativá-la manualmente da seguinte maneira:

  1. Clique na VM para a qual deseja desativar a HA.
  2. No painel da VM, clique no ícone do lápis ao lado do parâmetro Alta disponibilidade.
  3. Na janela Alta disponibilidade, desative a HA da VM e clique em Salvar.
../_images/stor_image156_ac.png

As máquinas virtuais com HA desativada não serão evacuadas para os nós saudáveis no caso de failover.

4.4.8. Gerenciamento de ferramentas convidadas

Esta seção explica como instalar e desinstalar as ferramentas convidadas. Essa funcionalidade é necessária para o Running Commands in Virtual Machines without Network Connectivity, além de criar instantâneos consistentes dos discos de uma VM em execução (confira Gerenciamento de instantâneos de volume).

4.4.8.1. Instalação de ferramentas convidadas

A instalação das ferramentas convidadas dentro de uma máquina virtual inclui etapas executadas por usuários com diferentes funções: um administrador do sistema e um usuário da VM.

Como administrador do sistema, você precisará fazer o seguinte:

  1. Carregue os arquivos ISO das ferramentas convidadas, localizados no diretório /usr/share/vz-guest-tools/ em qualquer nó de computação, em um compartilhamento de rede ou servidor FTP:
    • para um convidado do Windows, carregue: vz-guest-tools-win.iso
    • para um convidado do Linux, carregue: vz-guest-tools-lin.iso
  2. Forneça acesso ao arquivo ISO carregado para um usuário da VM.

Como usuário da VM, faça login na máquina virtual, depois 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.4.8.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.