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 possibilita backups sem agente e baseados em imagem, no nível do host. Esses tipos de backups podem capturar a VM completa, incluindo a configuração da VM e os dados da VM.
No entanto, é importante proteger também os hosts, já que hosts ESXi saudáveis são importantes para que as 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 ajudá-lo 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 dos 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 habilitar o shell do ESXi e o acesso SSH remoto a um host ESXi. Depois de ter se 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 mesmo 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: vim-cmd hostsvc/firmware/sync_config
- Verificar e sincronizar a configuração do ESXi com armazenamento persistente:
vim-cmd hostsvc/firmware/sync_config
- 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
- Substitua o asterisco (*) pelo endereço IP do seu host ESXi. O arquivo de arquivamento que contém o 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
- 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 automatizar, e o backup da configuração do ESXi não é uma exceção. Vamos seguir os passos para fazer isso:
- Crie um diretório para armazenar arquivos de backup no seu datastore ESXi.
mkdir /vmfs/volumes/datastore1/ESXi_backup
- Crie um script para fazer backup da configuração do ESXi:
vi /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
- 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 \;
- Salve o arquivo e saia do vi:
:wq
NOTA: Para maior comodidade, você também pode incluir o nome do host ou o endereço IP do ESXi no nome do arquivo de backup. Isso ajudará a evitar confusões com vários hosts ESXi.
- Torne o script executável:
chmod +x /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
- Vá para o diretório onde o script está localizado:
cd /vmfs/volumes/datastore1/ESXi_backup/
- Execute o script:
./esxi_backup.sh
- Verifique se um arquivo de backup foi criado:
ls -al
- Assegure-se de que o script de backup de configuração do ESXi está sendo executado conforme o agendado (automaticamente). Edite a configuração do agendador para este fim:
vi /var/spool/cron/crontabs/root
- Adicione a seguinte string para realizar o backup de configuração do ESXi todos os dias às 02:10 AM:
10 02 * * * /vmfs/volumes/datastore1/ESXi_backup/esxi_backup.sh
- 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
Uma vez configurado, a configuração do ESXi será automaticamente backup às 02:10 todas as noites para o 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 de backup instalado na máquina onde deseja restaurar a configuração do ESXi. Essa regra é verdadeira 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 foi instalado do zero (recém-instalado), é necessário 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 copiados e no servidor ESXi no qual a configuração será restaurada. Os passos a seguir, caso os valores do UUID sejam diferentes, estão cobertos na próxima seção.
Para recuperar a configuração do ESXi:
- Depois de ter preparado 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
- 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, o WinSCP. Vamos copiar o arquivo configBundle-xxxx.tgz da máquina local para o diretório /tmp/ no servidor ESXi de destino.
- configBundle-xxxx.tgz arquivo precisa ser renomeado para configBundle.tgz antes de inserir 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, para o qual você se conectou via SSH:
mv /tmp/configBundle-esxi6-7b.localdomain.tgz /tmp/configBundle.tgz
- Restaurar a configuração do ESXi:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Após executar este comando, um host do ESXi será reiniciado automaticamente.
- Após reiniciar o servidor ESXi, saia do modo de manutenção, a partir de então você poderá usar o host conforme o usual.
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 um dos 2 métodos para verificar o UUID do servidor ESXi:
- No interface de linha de comando do ESXi:
esxcfg-info -u
- No arquivo Manifest.txt dentro do arquivo de backup da configuração do ESXi configBundle.tgz que você fez com os comandos explicados acima.
Você não pode alterar o UUID do servidor ESXi, já que 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.
Vamos agora 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 salva, e Servidor B é o servidor ao qual a configuração será aplicada.
Etapa 1
Verifique o UUID no host ESXi ao qual deseja aplicar a configuração salva (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:
- Execute o
esxcfg-info -u
- Faça o backup da configuração do Servidor ESXi B:
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
- 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/
- Extraia os arquivos do arquivo:
tar zxvf configBundle.tgz
- 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
- Você pode excluir os arquivos temporários no diretório /tmp/:
rm configBundle-localhost.localdomain.tgz Manifest.txt state.tgz
Estágio 2
- 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.
- Extraia os arquivos do arquivo configBundle.tgz:
tar zxvf configBundle.tgz
- Abra o arquivo Manifest.txt com o 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
- 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
- Tar o arquivo Manifest.txt, state.tgz e jumpstrt.gz para um novo arquivo de configuração configBundle.tgz:
tar zcvf configBundle.tgz Manifest.txt state.tgz jumpstrt.gz
- 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 é o vSphere CLI (não deve ser confundido com VMware PowerCLI). Você deve instalar o 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 o vSphere CLI é a conveniência e o poder do bash no Linux. Este método é especialmente conveniente para ESXi 6.x. Se estiver usando ESXi 8, opte por outros métodos explicados neste artigo.
Instalando e configurando vCLI
- Baixe a versão necessária do vSphere CLI para seu sistema operacional do site da VMware. Ubuntu Linux é usado neste exemplo.
- Vá para o diretório onde o arquivo baixado está localizado e extraia os arquivos do arquivo:
tar -zxvf VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz
- 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
- Vá para o diretório onde os arquivos extraídos estão localizados e execute o instalador:
./vmware-install.pl
- 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.
- 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
- 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
- Após instalar os módulos do Perl, execute novamente o instalador do VMware vSphere CLI.
- A instalação foi concluída com sucesso e você pode ver a seguinte tela neste caso:
- 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
- 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 como este:
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 motivos 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 o uso do 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 conectar a hosts ESXi
Inserir uma impressão digital do ESXi cada vez que você executar um comando não é conveniente. Felizmente, é possível salvar a impressão digital e executar comandos posteriores com vSphere CLI sem definir uma impressão digital.
- Vá para o diretório:
cd /usr/lib/vmware-vcli/apps/general/
-
/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
- Agora você pode executar comandos no vSphere CLI sem precisar inserir uma impressão digital toda vez:
esxcli --server 192.168.101.208 sistema modoManutenção obter
No entanto, você ainda precisa inserir um nome de usuário e senha. No entanto, você pode configurar o vSphere CLI para executar comandos sem precisar 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 a vSphere CLI.
- Crie um diretório para armazenar os arquivos de backup de configuração do ESXi, por exemplo, /backup/
mkdir /backup
- Vá para esse diretório:
cd /usr/lib/vmware-vcli/apps/session
- Salve a 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
––server 192.168.101.208 é o nome do host ESXi cuja sessão é salva (este host ESXi é usado em vários exemplos)
––username root é o nome do usuário conectado ao host ESXi
––password TestPass_555 é a senha para o usuário conectado ao host ESXi
Agora você pode executar comandos sem inserir 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 se conectar 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.
- Crie um arquivo de configuração:
vim /backup/vcli-config
- Insira as credenciais no seguinte:
VI_USERNAME=root
VI_PASSWORD=TestPass_555
- Salve o arquivo.
- Execute este comando no servidor remoto ESXi 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 armazenamento de credenciais para se conectar aos hosts 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.
- Para adicionar credenciais ao armazenamento de credenciais, execute o comando:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl add --server 192.168.101.208 --username root
- Liste as credenciais salvas no armazenamento de credenciais para garantir que as credenciais necessárias estejam presentes:
/usr/lib/vmware-vcli/apps/general/credstore_admin.pl list
-
# 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 é salvo em /home/user_name/.vmware/credstore/vicredentials.xml
Na captura de tela 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:
- Vá para o diretório /usr/bin/:
cd /usr/bin
- Para criar um backup da configuração do ESXi sem inserir o nome de usuário e a senha, use um dos comandos abaixo.
- Para o 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. Consulte comandos para outros métodos de backup de configuração do ESXi.
A desvantagem de usar a opção ––sessionfile é o tempo limite de 30 minutos de inatividade após a execução do último comando no vSphere CLI. Após isso, é necessário autenticar-se e criar novamente um arquivo de sessão.
- Se você quiser 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
- Para o nome de usuário e senha salvos no armazenamento de credenciais, use o comando:
Como automatizar o backup de configuração do ESXi
Se você tem um ambiente com mudanças dinâmicas 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.
- Edite a configuração do agendador no Linux para executar o comando de backup de configuração do ESXi periodicamente e automaticamente.
crontab -e
NOTA: Se estiver editando a configuração do crontab pela primeira vez, você deve selecionar o editor de texto padrão que deve ser usado para editar a configuração do crontab. Em nosso exemplo, usamos /usr/bin/vim.basic para esse fim.
O formato da configuração do crontab é o seguinte:
minutos horas dia_do_mês mês dia_da_semana comando
- Vamos fazer o backup da configuração do host ESXi todas as noites às 03:25 da manhã, adicionando a seguinte linha à configuração do crontab:
25 03 * * * /usr/bin/vicfg-cfgbackup ––servidor 192.168.101.208 ––config /backup/vcli-config -s /backup/192-168-101-208-esxi-cfg-cron.tgz
- Escreva a configuração do agendador crontab e saia do editor de texto vim (que é usado neste exemplo):
:wq
- Vamos esperar até depois das 03:25 da manhã para verificar o diretório onde os arquivos de configuração de backup do ESXi devem ser salvos:
ls -al
Como você pode ver na captura de tela abaixo, o arquivo de backup da configuração do host ESXi foi criado às 03:25 automaticamente.
A configuração de backup do ESXi foi criada automaticamente, o que é ótimo, mas há uma desvantagem. Cada vez que o crontab executa um comando agendado para criar o backup da configuração do ESXi, o arquivo tgz anterior é sobrescrito pelo novo arquivo tgz. Isso pode causar problemas se o backup com a configuração correta do ESXi criada anteontem for sobrescrito por um arquivo criado no dia seguinte contendo a configuração incorreta do ESXi. Para evitar esse problema, você deve fazer o backup da configuração do ESXi em arquivos diferentes.
Vamos criar um script simples para salvar a configuração do ESXi cada vez como um arquivo separado com um nome de arquivo único que contenha a data e 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.
- Crie o arquivo esxi_backup.sh no diretório /backup/:
vim /backup/esxi_backup.sh
- Adicione linhas ao arquivo conforme a seguir:
#!/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
- Escreva as alterações no arquivo e saia do editor de texto vim:
:wq
- Torne o arquivo executável:
chmod +x /backup/esxi_backup.sh
- Edite a configuração do agendador:
crontab -e
- Adicione a linha assim:
50 06 * * * /backup/esxi_backup.sh
Essa linha de configuração permite que definamos o crontab para executar o script de backup de configuração do ESXi às 06h50.
Desative a tarefa agendada anterior que você adicionou, adicionando o caractere # no início da linha.
Salve a configuração.
- 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 está habilitado e que o endereço IP do servidor ESXi é conhecido (é recomendável que você use 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 você deseja restaurar a configuração tiver um UUID 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 tecla -f (forçar) para substituir o UUID.
Você pode verificar o UUID do host ESXi em execução com o comando, como você se 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 o 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 no seu sistema operacional:
- Execute o PowerCLI como administrador no Windows.
- Conecte-se ao seu servidor ESXi:
Connect-VIServer endereço_IP_ESXi -usuário nome_de_usuário -senha sua_senha
No nosso caso, usamos os comandos:
Connect-VIServer 192.168.101.208 -usuário root -senha TestPass_555
Get-VMHostFirmware -vmhost 192.168.101.208 -BackupConfiguration -CaminhoDestino "C:\backup host ESXi"
- Se os seus hosts ESXi são gerenciados pelo vCenter Server, você pode se conectar ao vCenter primeiro e depois fazer backup da configuração do ESXi nos seus hosts no PowerCLI sem precisar autenticar cada vez antes de fazer o backup da configuração de cada host:
Connect-VIServer 10.10.10.16
Informe seu login e senha administrativos para acessar o vCenter Server. Uma janela pop-up aparece para este propósito.
- Se os seus hosts ESXi são gerenciados pelo vCenter Server, você pode se conectar ao vCenter primeiro e depois fazer backup da configuração do ESXi nos seus hosts no PowerCLI sem precisar autenticar cada vez antes de fazer o backup da configuração de cada host:
- 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
- Execute o VMware PowerCLI como administrador.
- 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).
- Coloque o host ESXi em modo de manutenção:
Set-VMHost -VMHost 192.168.101.208 -State Maintenance
- Verifique se as VMs residentes nesse host ESXi estão 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 reiniciará automaticamente.
- 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 está sendo recuperada devem corresponder à versão, número de compilação e UUID do host ESXi cujo backup você está utilizando para restaurar a configuração. Utilize a chave -force no comando para ignorar a verificação do 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 consegue usar a interface de linha de comando para executar o comando de backup ou restauração da configuração do ESXi. Isso pode ocorrer devido a falhas 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 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 seu host ESXi estiver em execução usando um cliente SCP como o WinSCP (o acesso SSH remoto deve estar habilitado). Como alternativa, você pode inicializar a partir do DVD ao vivo e copiar manualmente o arquivo state.tgz se seu host ESXi não estiver inicializável (por exemplo, devido a falha de hardware).
Fluxo de trabalho de recuperação manual
- Prepare o arquivo de backup que você fez anteriormente com o shell do ESXi, CLI do vSphere ou PowerCLI. O nome do arquivo é configBundle-192-168-101-208.tgz no nosso caso. Você pode copiar o arquivo para um pendrive USB, por exemplo, e inserir esse pendrive em uma porta USB do servidor ESXi no qual você precisa recuperar a configuração do sistema.
- 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.
- Abra o console (terminal) no Linux.
- Listar as partições:
ls -al /dev/sd*
fdisk -l | grep /dev/sda
Neste caso, precisamos da partição /dev/sda5/ que está marcada como dados básicos da Microsoft.
As 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 partição /dev/sda5 neste caso.
- Criar o diretório ao qual a partição /dev/sda5 será montada:
mkdir /mnt/sda5
- Monte a partição de disco nesse diretório:
mount /dev/sda5 /mnt/sda5
- 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 é inicializado.
- Copie o arquivo de backup da configuração do ESXi do pendrive 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
- Extraia arquivos do arquivo de backup:
tar zxvf /tmp/configBundle.tgz
- Você pode ver que o arquivo state.tgz é extraído do arquivo:
ls -al /tmp/
- 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
- 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/
- Desmonte as partições montadas:
umount /dev/sda5/
- Reinicie o servidor. Ejecte o DVD Live do Ubuntu e inicie a partir do disco no qual 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. Por outro lado, o PowerCLI pode ser apreciado por usuários do Windows.
Se um host ESXi não estiver saudável e você não puder inicializar o host, poderá fazer o backup e restaurar a configuração manualmente. Note que as informações de inicialização 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, você pode precisar 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 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/