4 Maneiras de Fazer Backup da Configuração do Host ESXi

A virtualização oferece várias vantagens para operações de backup e recuperação, que são a espinha dorsal da proteção de dados, continuidade operacional e disponibilidade. Mais importante ainda, a virtualização torna possíveis backups sem agente e baseados em imagem, ao nível do host. Esses tipos de backups podem capturar o VM completo, incluindo a configuração do VM, bem como os dados do VM.

No entanto, é importante proteger também os hosts, pois hosts ESXi saudáveis são importantes para que os VMs funcionem corretamente. É recomendável que você também faça backup da configuração do ESXi, pois um backup de host utilizável pode ajudar a restaurar a configuração do host em minutos, sem ter que configurar um servidor ESXi do zero. Continue lendo para aprender os diferentes métodos para backup de host ESXi.

Método 1: Usando a Linha de Comando do ESXi para Fazer Backup de Hosts ESXi

Usar a linha de comando do ESXi é o método mais acessível para fazer backup da configuração de um host ESXi. Você não precisa instalar nenhum software adicional para usar a linha de comando do ESXi. Você só precisa ativar o shell do ESXi e o acesso SSH remoto a um host ESXi. Uma vez conectado ao seu host ESXi via SSH, você pode executar os comandos.

A configuração do ESXi é salva automaticamente a cada hora no arquivo /bootblank/state.tgz. Por esse motivo, você deve garantir que a configuração atual do ESXi seja gravada nos arquivos de configuração do ESXi agora para garantir que todas as alterações feitas com a configuração do ESXi desde o último salvamento automático sejam salvas. Para fazer isso:Verifique e sincronize a configuração do ESXi com o armazenamento persistente:
vim-cmd hostsvc/firmware/sync_config

  1. Verificar e sincronizar a configuração do ESXi com o armazenamento persistente:

    vim-cmd hostsvc/firmware/sync_config

  2. Fazer backup da configuração do ESXi após a conclusão da sincronização:

    vim-cmd hostsvc/firmware/backup_config

    Como resultado, você receberá um link para baixar o arquivo configBundle.tgz do host ESXi.

    http://*/downloads/UUID/configBundle-ESXiNameOrIPAddress.tgz

  3. Substitua o asterisco (*) pelo endereço IP do seu host ESXi. O arquivo de backup de configuração do ESXi é salvo no diretório /scratch/downloads por um curto período de tempo (alguns minutos).

    Você pode encontrar o endereço IP do seu host ESXi na interface direta do console ESXi ou na linha de comando com o comando:

    esxcli network ip interface ipv4 get

    O endereço IP do host ESXi usado no exemplo atual é 192.168.101.208

  4. Baixe o arquivo de backup do ESXi o mais rápido possível e armazene-o em um local seguro.

Como automatizar o backup de configuração do ESXi na linha de comando do ESXi

A vantagem de uma interface de linha de comando é a capacidade de automatização, e o backup da configuração do ESXi não é uma exceção. Vamos revisar os passos para fazer isso:

  1. Crie um diretório para armazenar arquivos de backup no seu datastore ESXi.

    mkdir /vmfs/volumes/datastore1/ESXi_backup

  2. Crie um script para fazer backup da configuração do ESXi:

    vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  3. Adicione as seguintes linhas ao script:

    vim-cmd hostsvc/firmware/sync_config

    vim-cmd hostsvc/firmware/backup_config

    find /scratch/downloads/ -name \*.tgz -exec cp {} /vmfs/volumes/datastore1/ESXi_backup/ESXi_config_backup_$(date +'%Y%m%d_%H%M%S').tgz \;

  4. Salve o arquivo e saia do vi:

    :wq

    NOTA: Para maior conveniência, você também pode incluir o nome do host ESXi ou o endereço IP no nome do arquivo de backup. Isso ajudará a evitar confusão com vários hosts ESXi.

  5. Torque o script executável:

    chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  6. Vá para o diretório onde o script está localizado:

    cd /vmfs/volumes/datastore1/ESXi_backup/

  7. Execute o script:

    ./esxi_backup.sh

  8. Verifique se um arquivo de backup foi criado:

    ls -al

  9. Assegure-se de que o script de backup de configuração do ESXi esteja sendo executado no cronograma (automaticamente). Edite a configuração do agendador para esse fim:

    vi /var/spool/cron/crontabs/root

  10. Adicione a seguinte string para realizar o backup da configuração do ESXi todos os dias às 02:10 AM:

    10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh

  11. Salve as alterações no arquivo. Para salvar alterações no arquivo somente leitura, digite:

    :wq!

    Como alternativa, você pode alterar as permissões do arquivo antes de editá-lo:

    chmod +w /var/spool/cron/crontabs/root

Depois de configurado, a configuração do ESXi será automaticamente salva às 02:10 todas as noites no arquivo com o nome ESXi_config_bakup_date_time.tgz.

Como recuperar a configuração do ESXi na linha de comando do ESXi

Você deve ter o ESXi da mesma versão e número de compilação do host ESXi salvo instalado na máquina onde deseja restaurar a configuração do ESXi. Esta regra é válida para todos os métodos de recuperação de configuração do ESXi considerados neste post do blog.

Se você for restaurar a configuração do ESXi em um host ESXi que está instalado do zero (recém-instalado), você precisa definir o endereço IP para a interface de rede usada para a rede de gerenciamento do ESXi e habilitar o acesso SSH.

O UUID deve ser o mesmo em ambos os servidores ESXi que foram backup e no servidor ESXi no qual a configuração será restaurada. Os passos a seguir se os valores do UUID forem diferentes estão cobertos na próxima seção.

Para recuperar a configuração do ESXi:

  1. Depois de ter preparado o seu host ESXi recém-instalado para restaurar a configuração do ESXi a partir de um backup, conecte-se ao host ESXi via SSH e coloque o host no modo de manutenção (as VMs são interrompidas neste modo).

    esxcli system maintenanceMode set --enable yes

    ou

    vim-cmd hostsvc/maintenance_mode_enter

  2. Copie o arquivo que contém o backup da configuração do ESXi para um diretório no host ESXi usando um cliente SCP, por exemplo, WinSCP. Vamos copiar o arquivo configBundle-xxxx.tgz da máquina local para o diretório /tmp/ no servidor ESXi de destino.

  3. Renomeie o arquivo configBundle-xxxx.tgz para configBundle.tgz antes de executar o comando para restaurar a configuração do ESXi. Caso contrário, você receberá a mensagem de erro: “Arquivo /tmp/configBundle.tgz não foi encontrado“.

    Você pode renomear o arquivo no shell do ESXi ao qual se conectou via SSH:

    mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz

  4. Restaure a configuração do ESXi:

    vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

    Após executar este comando, um host ESXi será reiniciado automaticamente.

  5. Após reiniciar o servidor ESXi, saia do modo de manutenção, momento a partir do qual você pode usar o host como de costume.

    esxcli system maintenanceMode set --enable no

    ou

    vim-cmd hostsvc/maintenance_mode_exit

Como alterar o UUID para restaurar a configuração do ESXi

Você pode usar uma das 2 maneiras para verificar o UUID do servidor ESXi:

  1. No interface de linha de comando do ESXi:

    esxcfg-info -u

  2. No arquivo Manifest.txt dentro do arquivo de backup configBundle.tgz que você fez com os comandos explicados acima.

Você não pode alterar o UUID do servidor ESXi, pois o identificador é gerado dependendo do hardware. No entanto, você pode recuperar a configuração do ESXi do host A para o host B do ESXi após alterar o UUID no arquivo Manifest.txt armazenado no arquivo de backup da configuração do ESXi configBundle.tgz.

Agora, vamos ver como alterar o UUID para aplicar a configuração de backup a outro servidor físico. Servidor A é o servidor cuja configuração foi backupada, e Servidor B é o servidor ao qual a configuração será aplicada.

Estágio 1

Verifique o UUID no host ESXi para o qual você deseja aplicar a configuração backupada (servidor B). Isso pode ser feito com pelo menos dois métodos, mas o segundo método também permite verificar a versão do ESXi:

  1. Execute o esxcfg-info -u
  2. Faça backup da configuração do Servidor ESXi B:

    vim-cmd hostsvc/firmware/sync_config

    vim-cmd hostsvc/firmware/backup_config

  3. Copie o arquivo de backup para o diretório temporário e vá para esse diretório:

    cp /scratch/downloads/_hash_value_/configBundle-localhost.localdomain.tgz /tmp

    cd /tmp/

  4. Extraia os arquivos do arquivo:

    tar zxvf configBundle.tgz

  5. Abra o arquivo Manifest.txt com vi e verifique o valor do UUID (você verá uma linha separada com o UUID). Anote o UUID.

    vi Manifest.txt

    No nosso caso, o UUID é 1E9E4D56-B724-DFBE-D19D-4C2D827E0188

  6. Você pode excluir arquivos temporários no diretório /tmp/:

    rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz

Etapa 2

  1. Copie o arquivo de backup de configuração configBundle.tgz do servidor ESXi A para o Servidor B, por exemplo, para o diretório /tmp/ e vá para esse diretório.
  2. Extraia os arquivos do arquivo configBundle.tgz:

    tar zxvf configBundle.tgz

  3. Abra o arquivo Manifest.txt com vi e atualize o valor UUID do Servidor A para o UUID do Servidor B:

    vi Manifest.txt

    Em nosso caso, mudamos 9EA94D56-7E39-96A8-AB45-DF31EF0971EC para 1E9E4D56-B724-DFBE-D19D-4C2D827E0188

    Salve o arquivo e saia do editor de texto:

    :wq

  4. Renomeie seu arquivo de origem configBundle.tgz para configBundle1.tgz, por exemplo (se o nome do seu arquivo de backup de configuração do ESXi for diferente de configBundle.tgz, você pode pular esta etapa):

    mv configBundle.tgz configBundle1.tgz

  5. Tar Manifest.txt, state.tgz e jumpstrt.gz arquivos para um novo arquivo configBundle.tgz:

    tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz

  6. Coloque o host ESXi em modo de manutenção e restaure a configuração:

    esxcli system maintenanceMode set --enable yes

    vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

Método 2: Como Fazer Backup do Host ESXi com vSphere CLI

Outra interface de linha de comando fornecida pela VMware para gerenciar hosts ESXi é vSphere CLI (não confundir com VMware PowerCLI). Você deve instalar vSphere CLI em uma máquina executando Linux ou Windows para gerenciar hosts ESXi remotamente. Perl é necessário para instalar o vSphere CLI.

A vantagem de usar vSphere CLI é a conveniência e o poder do bash no Linux. Este método é especialmente conveniente para ESXi 6.x. Se você estiver usando ESXi 8, opte por outros métodos explicados neste artigo.

Instalando e configurando vCLI

  1. Faça o download da versão necessária do vSphere CLI para o seu sistema operacional a partir do site da VMware. O Ubuntu Linux é usado neste exemplo.
  2. Vá para o diretório onde o arquivo baixado está localizado e extraia os arquivos do arquivo compactado:

    tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz

  3. Instale os pacotes necessários:

    apt-get install -y perl-doc libmodule-build-perl libssl-dev libxml-libxml-perl libsoap-lite-perl libuuid-perl build-essential

    A recomendação oficial da VMware é instalar este conjunto de pacotes:

    apt-get install ia32-libs build-essential gcc uuid uuid-dev perl libssl-dev perl-doc liburi-perl libxml-libxml-perl libcrypt-ssleay-perl

  4. Vá para o diretório onde os arquivos extraídos estão localizados e execute o instalador:

    ./vmware-install.pl

  5. Leia e aceite o contrato de licença. Se o instalador solicitar a instalação de alguns módulos necessários, digite y e instale os módulos.

  6. Alguns módulos devem ser instalados manualmente no nosso caso. Eles podem ser instalados usando o shell interativo do Perl.

    Entre no shell interativo do Perl:

    perl -MCPAN -e shell

  7. Execute o comando para instalar o módulo Perl necessário:

    install Devel::StackTrace

    Da mesma forma, instale outros módulos.

    NOTA: No nosso caso, um módulo não pôde ser instalado no shell interativo do Perl, mas podemos instalar esse módulo com o comando no console do Ubuntu:

    apt-get install libcrypt-ssleay-perl

  8. Após instalar os módulos do Perl, execute novamente o instalador do VMware vSphere CLI.
  9. A instalação foi concluída com sucesso e você pode ver a seguinte tela neste caso:

  10. Agora vamos tentar usar o vSphere CLI e inserir um comando no console do Linux para exibir a lista de dispositivos do servidor ESXi (192.168.101.208 é o endereço IP do servidor ESXi).

    esxcli --server 192.168.101.208 storage core device list

  11. O thumbprint SHA-1 do servidor não é confiável, e a conexão com o host ESXi falhou. Isso significa que você deve definir o thumbprint por motivos de segurança. Vamos tentar outro comando:

    esxcli --server 192.168.101.208 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode get

    O nome de usuário e a senha serão solicitados no console no modo interativo.

    Tente não usar comandos onde um nome de usuário e senha são digitados como texto simples assim:

    esxcli --server 192.168.101.208 --username root --password TestPass_555 --thumbprint B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA system maintenanceMode get

    NOTA: Isso é por razões de segurança. Os comandos executados são salvos no Linux até você executar o comando history -c para limpar o histórico. Se precisar evitar usar o modo interativo e inserir um login e senha manualmente, você pode salvar a sessão do ESXi no arquivo e usar este arquivo ao executar comandos. Salvar sessões é seguro ao contrário de inserir uma senha como texto simples no comando. Salvar sessões é explicado abaixo.

Salvando uma impressão digital para se conectar aos hosts ESXi

Digitar uma impressão digital do ESXi cada vez que executar um comando não é conveniente. Felizmente, é possível salvar a impressão digital e executar outros comandos com o vSphere CLI sem definir uma impressão digital.

  1. Vá para o diretório:

    cd /usr/lib/vmware-vcli/apps/general/

  2. /usr/lib/vmware-vcli/apps/general/credstore_admin.pl adicionar -s servidor -t impressão_digital

    No nosso exemplo particular, o comando é:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl adicionar -s 192.168.101.208 -t B3:63:9F:67:E2:D9:C4:53:7D:A9:2A:4A:37:DC:AE:73:3C:83:C7:DA

  3. Agora você pode executar comandos no vSphere CLI sem precisar inserir uma impressão digital toda vez:

    esxcli --servidor 192.168.101.208 sistema obterModoManutenção

No entanto, ainda é necessário inserir um nome de usuário e senha. No entanto, você pode configurar o vSphere CLI para executar comandos sem inserir uma senha toda vez, conforme mostrado nas seções abaixo.

Usando um arquivo de sessão para se conectar a hosts ESXi

Usar um arquivo de sessão salvo é um dos métodos para evitar inserir um nome de usuário e senha ao executar um comando em um host ESXi remoto usando o vSphere CLI.

  1. Crie um diretório para armazenar os arquivos de backup de configuração do ESXi, por exemplo, /backup/

    mkdir /backup

  2. Vá para esse diretório:

    cd /usr/lib/vmware-vcli/apps/session

  3. Salve sua sessão autorizada do host ESXi no arquivo usando um script Perl com o comando:

    perl save_session.pl --savesessionfile /backup/192-168-101-208session --server 192.168.101.208 --username root --password TestPass_555

    Onde:

    savesessionfile /backup/192-168-101-208session é o nome do arquivo de sessão criado

    servidor 192.168.101.208 é o nome do host ESXi cuja sessão está sendo salva (este host ESXi é usado em vários exemplos)

    nome de usuário root é o nome do usuário conectado ao host ESXi

    senha TestPass_555 é a senha do usuário conectado ao host ESXi

Agora você pode executar comandos sem digitar uma senha, mas deve inserir a chave sessionfile (opção) e definir o caminho para o arquivo de sessão.

Por exemplo:

esxcli --sessionfile /backup/192-168-101-208session system maintenanceMode get

Usando um arquivo de configuração para conectar-se a hosts ESXi

A ideia por trás deste método é salvar as credenciais no arquivo de configuração como texto simples e referenciar este arquivo ao executar comandos ESXi no vSphere CLI.

  1. Crie um arquivo de configuração:

    vim /backup/vcli-config

  2. Insira as credenciais da seguinte forma:

    VI_USERNAME=root

    VI_PASSWORD=TestPass_555

  3. Salve o arquivo.
  4. Execute este comando no servidor ESXi remoto usando o vSphere CLI:

    esxcli --server 192.168.101.208 --config vcli-config system maintenanceMode get

NOTA: Dado que as credenciais são salvas como texto simples, este método não é seguro.

Usando um repositório de credenciais para se conectar aos hosts do ESXi

A credential store is the xml file located in the user directory in the vmware subdirectory ~/.vmware/credstore/vicredentials.xml. The advantage of using the credentials store to run commands on remote ESXi hosts is that the password is not saved as plain text. As a result, this method provides higher security.

  1. Para adicionar credenciais ao repositório de credenciais, execute o comando:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl add --server 192.168.101.208 --username root

  2. Liste as credenciais salvas no repositório de credenciais para garantir que as credenciais necessárias estejam presentes:

    /usr/lib/vmware-vcli/apps/general/credstore_admin.pl list

  3. Execute o comando no host remoto ESXi sem inserir uma senha usando o armazenamento de credenciais:

    # esxcli --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml system maintenanceMode get

    Se você usar um usuário que não seja root, o arquivo de credenciais será salvo em /home/nome_do_usuario/.vmware/credstore/vicredentials.xml

No screenshot abaixo, você pode ver como as credenciais são salvas no arquivo de armazenamento de credenciais.

Usando vSphere CLI para fazer backup da configuração do host ESXi

Agora que você configurou o vSphere CLI na máquina Ubuntu Linux, você pode executar os comandos e fazer backup da configuração do ESXi:

  1. Vá para o diretório /usr/bin/:

    cd /usr/bin

  2. Para criar um backup da configuração do ESXi sem inserir o nome de usuário e senha, use um dos comandos abaixo.
    • Para nome de usuário e senha salvos no armazenamento de credenciais, use o comando:

      vicfg-cfgbackup --server 192.168.101.208 --credstore /root/.vmware/credstore/vicredentials.xml -s /backup/192-168-101-208-esxi-cfg.tgz

    • Ou após salvar a sessão no arquivo de sessão, use o comando:

      vicfg-cfgbackup --sessionfile /backup/192-168-101-208session -s /backup/192-168-101-208-esxi-cfg.tgz

      NOTA: os comandos vicfg- estão obsoletos. Se vicfg não funcionar no seu caso, use comandos equivalentes do ESXCLI na interface de linha de comando ao trabalhar com hosts ESXi das versões mais recentes. Veja os comandos para outros métodos de backup de configuração do ESXi.

      A desvantagem de usar a opção de sessionfile é o tempo limite de 30 minutos quando ocioso após a execução do último comando na CLI do vSphere. Depois disso, você precisa autenticar e criar um arquivo de sessão novamente.

    • Se você deseja criar um backup da configuração do ESXi enquanto insere uma senha no modo interativo, você pode executar o comando:

      vicfg-cfgbackup --server 192.168.101.208 -s /backup/192-168-101-208-esxi-cfg.tgz

Como automatizar o backup de configuração do ESXi

Se você possui um ambiente em constante mudança, e a configuração dos hosts ESXi muda frequentemente, o backup manual dos hosts ESXi pode não ser prático. Nesse caso, você pode automatizar o backup da configuração do ESXi adicionando um comando de backup ou um script de backup que contenha vários comandos ao agendador. Crontab é um agendador no Linux.

  1. Edite a configuração do agendador no Linux para executar periodicamente e automaticamente o comando de backup de configuração do ESXi.

    crontab -e

    NOTA: Se estiver editando a configuração do crontab pela primeira vez, deve selecionar o editor de texto padrão a ser usado para editar a configuração do crontab. Em nosso exemplo, usamos /usr/bin/vim.basic para este propósito.

    O formato da configuração do crontab é o seguinte:

    minutos horas dia_do_mês mês dia_da_semana comando 

  2. Vamos fazer backup da configuração do host ESXi todas as noites às 03:25 AM adicionando a seguinte linha à configuração do crontab:

    25 03 * * * /usr/bin/vicfg-cfgbackup server 192.168.101.208 config /backup/vcli-config -s /backup/192-168-101-208-esxi-cfg-cron.tgz

  3. Escreva a configuração do agendador crontab e saia do editor de texto vim (que é usado neste exemplo):

    :wq

  4. Vamos esperar até depois das 03:25 AM para verificar o diretório no qual os arquivos de configuração de backup do ESXi devem ser salvos:

    ls -al

    Como você vê na captura de tela abaixo, o arquivo de backup da configuração do host ESXi foi criado automaticamente às 03:25.

Agora o backup de configuração do ESXi foi criado automaticamente, o que é ótimo, mas há uma desvantagem. Cada vez que o crontab executa um comando agendado para criar o backup de configuração do ESXi, o arquivo tgz anterior é substituído pelo novo arquivo tgz. Isso pode causar problemas se o backup com a configuração correta do ESXi criado antes de ontem for substituído por um arquivo criado no dia seguinte contendo a configuração incorreta do ESXi. Para evitar esse problema, você deve fazer backup da configuração do ESXi em arquivos diferentes.

Vamos criar um script simples para salvar a configuração do ESXi a cada vez como um arquivo separado com um nome de arquivo único que contenha a data e a hora da criação do arquivo de backup da configuração do ESXi no nome do arquivo. Criar um script permite adicionar comandos para fazer backup de vários hosts ESXi executando um único script.

  1. Crie o arquivo esxi_backup.sh no diretório /backup/:

    vim /backup/esxi_backup.sh

  2. Adicione linhas ao arquivo conforme abaixo:

    #!/bin/bash

    ESXI101_208_BACKUP_NAME=”192-168-101-208-$(date +’%Y%m%d_%H%M%S’)esxi-cfg.tgz”

    vicfg-cfgbackup server 192.168.101.208 config /backup/vcli-config -s /backup/$ESXI101_208_BACKUP_NAME

  3. Escreva as mudanças no arquivo e saia do editor de texto vim:

    :wq

  4. Torne o arquivo executável:

    chmod +x /backup/esxi_backup.sh

  5. Edite a configuração do agendador:

    crontab -e

  6. Adicione a linha assim:

    50 06 * * * /backup/esxi_backup.sh

    Esta linha de configuração nos permite configurar o crontab para executar o script de backup de configuração do ESXi às 06:50 da manhã.

    Desative a tarefa agendada anterior que você adicionou adicionando o caractere # no início da linha.

    Salve a configuração.

  7. Aguarde o tempo definido e verifique se o arquivo de backup de configuração do ESXi foi criado.

Este é um script simples que demonstra a ideia de automação. Você pode criar scripts complexos para fazer backup de vários hosts ESXi.

NOTA: Após cada reinicialização do ESXi ou 30 minutos de inatividade, a autenticação para a sessão ESXi expira. Tenha isso em mente ao criar um script para backup automatizado do ESXi.

Como recuperar a configuração do ESXi no vSphere CLI

Os requisitos para restaurar a configuração do ESXi usando vSphere CLI são semelhantes aos requisitos de outros métodos. Para restaurar a configuração do ESXi, certifique-se de que o acesso remoto via SSH esteja ativado e que o endereço IP do servidor ESXi seja conhecido (é recomendável usar o mesmo endereço IP do host ESXi de backup).

Para restaurar a configuração do ESXi, execute o comando:

vicfg-cfgbackup --server=endereço_IP_do_host_ESXi --username=root -l arquivo_de_backup

No nosso exemplo específico, o comando é:

vicfg-cfgbackup --server=192.168.101.208 --username=root -l /backup/192-168-101-208-esxi-cfg.tgz

Se o UUID do host ESXi de destino no qual deseja restaurar a configuração for diferente do UUID do servidor ESXi de backup (cujo UUID está definido no arquivo Manifest.txt dentro do arquivo de backup tgz), você pode usar a opção -f (forçar) para substituir o UUID.

Você pode verificar o UUID do host ESXi em execução com o comando, como você lembra:

esxcfg-info -u

NOTA: A partir do ESXi 7.0 U2, a substituição forçada do UUID não funciona se um TPM (Módulo de Plataforma Confiável) for usado em um host ESXi.

Método 3: Usando o PowerCLI para fazer backup de hosts ESXi

Os usuários que gostam do Windows PowerShell podem usar PowerCLI para gerenciamento do vSphere e para fazer backup das configurações do ESXi. O PowerCLI é um conjunto de cmdlets do PowerShell, e alguns comandos básicos do PowerCLI são explicados neste post do blog.

Para usar o PowerCLI para fazer backup do host ESXi, você primeiro precisa instalar o PowerCLI em seu sistema operacional:

  1. Execute o PowerCLI como administrador no Windows.
  2. Conecte-se ao seu servidor ESXi:

    Connect-VIServer endereço_IP_ESXi -user nome_de_usuário -senha sua_senha

    No nosso caso, usamos os comandos:

    Connect-VIServer 192.168.101.208 -user root -senha TestPass_555

    Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -CaminhoDestino "C:\backup do host ESXi"

    • Se seus hosts ESXi são gerenciados pelo vCenter Server, você pode se conectar ao vCenter primeiro e, em seguida, fazer o backup da configuração do ESXi em seus hosts no PowerCLI sem precisar autenticar-se a cada vez antes de fazer o backup da configuração de cada host:

      Connect-VIServer 10.10.10.16

      Insira seu login administrativo e senha para acessar o vCenter Server. Uma janela popup aparece para este propósito.

  3. Faça backup da configuração do ESXi de cada host:

    Get-VMHostFirmware -vmhost 10.10.10.61 -BackupConfiguration -DestinationPath "C:\backup ESXi host"

    Get-VMHostFirmware -vmhost 10.10.10.46 -BackupConfiguration -DestinationPath "C:\backup ESXi host"

Como restaurar a configuração do ESXi no PowerCLI

  1. Execute o VMware PowerCLI como administrador.
  2. Conecte-se ao host ESXi no qual deseja recuperar a configuração (em nosso exemplo, recuperamos a configuração no host ESXi com o endereço IP 192.168.101.208).
  3. Coloque o host ESXi no modo de manutenção:

    Set-VMHost -VMHost 192.168.101.208 -State Maintenance

  4. Certifique-se de que as VMs residentes nesse host ESXi estejam desligadas ou migradas para outro host ESXi antes de recuperar a configuração do ESXi. Esteja ciente de que após executar um comando para restaurar a configuração, o host ESXi será reiniciado automaticamente.
  5. Restaure a configuração com o comando Set-VMHostFirmware restore:

    Set-VMHostFirmware -vmhost 192.168.101.208 -Restore -SourcePath "C:\backup ESXi host\configBundle-192.168.101.20

    8.tgz" -HostUser root -HostPassword TestPass_555

A versão, número de compilação e UUID do host ESXi no qual a configuração é recuperada devem corresponder à versão, número de compilação e UUID do host ESXi cujo backup você está usando para restaurar a configuração. Use a chave -force no comando para ignorar a verificação de UUID.

Método 4: Backup e Restauração Manual da Configuração do ESXi

Você também deve estar preparado para uma situação na qual não consegue fazer login no seu host ESXi, ou quando um host ESXi não consegue inicializar e você não pode usar a interface de linha de comando para executar o comando de backup ou restauração da configuração do ESXi. Isso pode acontecer devido a falha de hardware ou problemas de software. Nesse caso, é melhor saber como fazer backup e recuperar uma configuração do ESXi manualmente.

Como você se lembra da configuração padrão do crontab em um host ESXi, o script /sbin/auto-backup.sh é executado a cada hora e sempre que um host ESXi é reiniciado ou desligado. Este script é destinado a fazer o backup (salvar) da configuração do ESXi armazenada na memória para o arquivo /bootbank/state.tgz.

NOTA: O arquivo /bootbank/state.tgz não deve ser criptografado para usar este método.

A configuração do ESXi é armazenada na RAM do computador quando um servidor ESXi está em execução (o disco RAM apropriado é montado no diretório /etc/). Quando o ESXi está inicializando, os arquivos do sistema são extraídos do arquivo /bootbank/state.tgz para o diretório /etc/. Você pode copiar manualmente o arquivo /bootbank/state.tgz se o seu host ESXi estiver em execução, usando um cliente SCP como o WinSCP (o acesso remoto SSH deve estar habilitado). Como alternativa, você pode inicializar a partir do DVD ao vivo e copiar manualmente o arquivo state.tgz se o seu host ESXi não for inicializável (por exemplo, devido a uma falha de hardware).

Fluxo de trabalho de recuperação manual

  1. Prepare o arquivo de backup que você fez anteriormente com o shell do ESXi, vSphere CLI ou PowerCLI. O nome do arquivo é configBundle-192-168-101-208.tgz no nosso caso. Você pode copiar o arquivo para uma unidade flash USB, por exemplo, e inserir essa unidade flash em uma porta USB do servidor ESXi no qual você precisa recuperar a configuração do sistema.
  2. Inicialize a partir do CD/DVD ao vivo na máquina onde o ESXi está instalado. Você pode usar o disco de instalação do Ubuntu como um CD/DVD ao vivo.
  3. Abra o console (terminal) no Linux.
  4. Listar as partições:

    ls -al /dev/sd*

    fdisk -l | grep /dev/sda

    Neste caso, precisamos da /dev/sda5/ partição que é marcada como dados básicos do Microsoft.

    Partições de disco do ESXi foram mencionadas no post do blog sobre Inicialização do ESXi a partir de um pendrive e Recuperação de senha do ESXi.

    Estamos interessados na /dev/sda5 partição neste caso.

  5. Crie o diretório no qual a partição /dev/sda5 será montada:

    mkdir /mnt/sda5

  6. Monte a partição de disco nesse diretório:

    mount /dev/sda5 /mnt/sda5

  7. No diretório /mnt/sda5, você pode encontrar o arquivo state.tgz, que contém a configuração do ESXi. Esse diretório (no qual state.tgz é armazenado) é chamado de /bootblank/ quando um host ESXi é iniciado.
  8. Copie o arquivo de backup da configuração do ESXi do pen drive USB para o diretório /tmp/ do Ubuntu carregado a partir do Live DVD. No nosso exemplo, copiamos:

    cp /media/Ubuntu/Ubuntu\ 18.0/backup_ESXi_host/configBundle-192-168-101-208.tgz /tmp/configBundle.tgz

  9. Extraia arquivos do arquivo de backup:

    tar zxvf /tmp/configBundle.tgz

  10. Você pode ver que o arquivo state.tgz é extraído do arquivo:

    ls -al /tmp/

  11. Renomeie o arquivo original state.tgz que está localizado na partição /dev/sda5 montada em /mnt/sda5/

    mv /mnt/sda5/state.tgz /mnt/sda5/state-old.tgz

  12. Copie o arquivo state.tgz que você extraiu do arquivo de backup de configuração do ESXi (configBundle.tgz) para o diretório /tmp/:

    cp /tmp/state.tgz /mnt/sda5/

  13. Desmonte as partições montadas:

    umount /dev/sda5/

  14. Reinicie o servidor. Ejecte o DVD do Ubuntu Live e inicialize a partir do disco em que o ESXi está instalado.

    init 6

Agora sua configuração do ESXi deve estar restaurada.

Conclusão

O uso da interface de linha de comando do ESXi é bom porque você não precisa instalar software adicional. As vantagens do vSphere CLI são a capacidade de executar comandos remotamente usando máquinas Linux e a capacidade de automatizar o backup da configuração do ESXi. PowerCLI, por outro lado, pode ser apreciado pelos usuários do Windows.

Se um host ESXi não estiver saudável e você não puder inicializar o host, poderá fazer backup e restaurar a configuração manualmente. Observe que as informações sobre bootblank e informações sobre VMs não são armazenadas no arquivo de backup de configuração do ESXi. Após restaurar a configuração do ESXi, talvez seja necessário registrar máquinas virtuais em seu inventário.

É recomendável que você faça backup de suas máquinas virtuais do vSphere, além de fazer backup dos hosts do ESXi. O NAKIVO Backup & Replication é uma solução de backup universal que pode fazer backup de suas VMs VMware, VMs Hyper-V, instâncias Amazon EC2, bem como servidores físicos Linux e Windows.

Source:
https://www.nakivo.com/blog/back-up-and-restore-vmware-esxi-host-configuration-guide/