Virtualização com ESXi 5.5.0 - pfSense virtualizado + backup de VMs no FreeNAS via iSCSI

Este artigo tem por objetivo mostrar os passos de como montar um projeto de virtualização com um servidor físico instalado com VMWare ESXi 5.5.0 (hypervisor), implementando um firewall pfSense virtualizado, utilizando script ghettoVCB.sh para efetuar cópias de todas as VMs (quentes) do host com agendamento via máquina virtual do pfSense.

[ Hits: 24.394 ]

Por: Endrigo D. Rodriguez em 15/01/2016 | Blog: http://www.corbanet.com.br


Instalando e configurando o ghettoVCB.sh para cópias das VMs no FreeNAS



Para efetuar a cópia das VM quentes (ou seja, ligadas) vamos utilizar o script ghettoVCB.sh.

Em 18/03/2013, publicamos aqui no VOL um artigo chamado "Backup de máquinas virtuais no ESXi 5.0 com script ghettoVCB" ao qual descrevo como instalar e configurar o script dentro de um host ESXi. A parte do artigo que nos interessa para este tópico é a segunda página. Segue o link:
Siga estes passos para copiar o script para o host e configurar a rotina de backup.

Algumas alterações nas instruções do artigo que indico acima devem ser feitas para este estudo:

O serviço de SSH do servidor deve estar ligado. Caso você não tenha ligado no momento da instalação/configuração do servidor, você pode faze-lo através do vSphere Client, acessando a aba "Configuration", conforme abaixo:
  • "Configuration"
  • "Security Profile"
  • Em "Services", você deve selecionar o link "Properties"
  • Na tela "Services Properties - Remote Access", procure a opção SSH e clique no botão "Options";
  • Marque a opção "Start automatically if ant ports are open, and stop when ports are closed"

Vamos utilizar as configurações do host ESXi conforme o estipulado neste estudo:
  • Host ESXi: vmsrv
  • IP ESXi: 192.168.1.100
  • Datastore: Datastore1
  • Pasta do script: /vmfs/volumes/Datastore1/scripts

Para efetuar este procedimento, acessamos o host ESXi via SSH e editamos o arquivo ghettoVCB.sh, conforme abaixo:
  • acesso ssh via Linux ou utilizando o PuTTY, um cliente de SSH em máquinas Windows
  • usando o editor VI, padrão de ambientes Linux

# ssh root@192.168.1.100
# vi /vmfs/volumes/Datastore1/scripts/ghettoVCB.sh


Dentro da edição do arquivo ghettoVCB.sh vamos localizar e modificar as seguintes linhas:
  • VM_BACKUP_VOLUME = caminho onde serão salvos as snapshots, neste caso, o volume Storage do FreeNAS, montado no ESXi via iSCSI como "VMBackup-NAS" (nome do DATASTORE)
  • VM_BACKUP_ROTATION_COUNT = numero máximo de snapshots (versionamentos) que serão armazenados. Atente para o tamanho real das suas VMs conforme o espaço no volume do FreeNAS (neste caso temos 1.8TB de armazenamento no DATASTORE "VMBackup-NAS")

Como exemplo, configuramos da seguinte forma:

VM_BACKUP_VOLUME=/vmfs/volumes/VMBackup-NAS
VM_BACKUP_ROTATION_COUNT=1

Outra modificação importante: é necessário fazer uma alteração na linha 257 do script para que ele funcione com versões superiores a do ESXi 5.1.0.

case "${ESX_VERSION}" in
        5.0.0|5.1.0)    VER=5; break;;
        4.0.0|4.1.0)    VER=4; break;;
        3.5.0|3i)       VER=3; break;;
        *)              echo "You're not running ESX(i) 3.5, 4.x, 5.x!"; exit 1;
    esac

Localizamos a linha 257 que se diz referente ao código acima e adicionamos a versão 5.5.0 (ou a versão desejada), conforme informado abaixo:

case "${ESX_VERSION}" in
   5.0.0|5.1.0|5.5.0)  VER=5; break;;
   4.0.0|4.1.0)        VER=4; break;;
   3.5.0|3i)           VER=3; break;;
   *)                  echo "You're not running ESX(i) 3.5, 4.x, 5.x!"; exit 1;
esac

Salvamos o arquivo e finalizamos a conexão SSH.

Página anterior     Próxima página

Páginas do artigo
   1. Preliminares
   2. Visão geral
   3. Configurando os adaptadores de redes no ESXi
   4. Instalando e configurando o pfSense no ESXi
   5. Configurando o iSCSI no FreeNAS e conectando no ESXi
   6. Instalando e configurando o ghettoVCB.sh para cópias das VMs no FreeNAS
   7. Automatizando rotinas de backup de VMs via pfSense
   8. Considerações finais
Outros artigos deste autor

Backup de máquinas virtuais no ESXi 5.0 com script ghettoVCB

Minix 3.2.0 no ESXi 5.0 - Instalação usando o vSphere Client 5.0

Leitura recomendada

storage FreeNas 9.2.1.6 - Instalação e configuração

Utilizando criptografia LUKS em discos externos

Como criar stage4 do seu Gentoo

Backup e restore para iniciantes

Clonezilla - Servidor de imagens (Parte II)

  
Comentários
[1] Comentário enviado por azk em 15/01/2016 - 21:07h

excelente artigo, bastante detalhado...
good work bro!

[2] Comentário enviado por removido em 16/01/2016 - 13:37h

Bem interessante o artigo, favoritado.

------------------------------------------------------
KISS principle, RTFM and STFW = 42

[3] Comentário enviado por smkbarbosa em 17/01/2016 - 16:20h

Vai servir de base para um estudo aqui. Obrigado :)
-------------------------------------------------------------------------------------------
Samuel Barbosa

[4] Comentário enviado por MrcS em 17/01/2016 - 18:45h

Só lembrando que se for precisar de monitoramento, o Zabbix ja tem suporte nativo total desde a versão 2.4 pra monitorar ESXi/VMWare.. incluindo as vms. O template já vem pronto.

[5] Comentário enviado por Ends em 18/01/2016 - 12:36h

Opa, tudo bem MrcS?

Tu sabe de algum material, algum link para me indicar sobre o Zabbix nesta parte de monitoramento do VMWare ESXi?
Interessante este template de monitoramento que você comentou.

Valeu.
Abraço.

[6] Comentário enviado por clzera em 25/01/2016 - 11:29h

Favoritado, esse Ends é o bicho! Sempre me ajuda com diversas questões. Abraços amigo!

[7] Comentário enviado por xclaudin em 01/02/2016 - 11:43h

Muito bom!
Este cenário é muito top!
Estou prestes a concluir um porém usando Citrix.

Citrix > PfSense > FreeNas

Tive (ainda estou tendo) muitos problemas com pfsense virtualizado no ambiente Xen.


[8] Comentário enviado por Ends em 02/02/2016 - 13:57h

Opa. Tudo bem xclaudin?

Cara, escreve aqui no VOL essa tua experiência com o Citrix virtualizando pfSense e usando FreeNAS.
Não estudei afundo o Xen Server ainda. Mas pretendo, assim que estiver com equipamentos "disponíveis" no laboratório.

O pfSense no ESXi, da forma que coloquei aqui no artigo, funciona super bem. Já estou usando a mais de ano em clientes e sem problemas.
Se pudermos ajudar, posta ai nos comentários.
Boa sorte.

[9] Comentário enviado por Ends em 02/02/2016 - 13:59h

E ai Marcelo (clzera)
Blz cara?
E os BOs nos clientes? Tudo resolvido?
Valeu brother.
Abração...

[10] Comentário enviado por clzera em 24/02/2016 - 15:14h


[9] Comentário enviado por Ends em 02/02/2016 - 13:59h

E ai Marcelo (clzera)
Blz cara?
E os BOs nos clientes? Tudo resolvido?
Valeu brother.
Abração...



Fala Ends, blz cara? Ei os b.os estão sempre por ai né, por enquanto esta tudo ok! rsss
Estou implementando aqui no serviço esse esquema de bkp das vms, consegui fazer tudo haha, só que peguei 2 b.os que são os seguintes:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines' >dev/null

No comando acima, acontece o seguinte:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines' > dev/null
dev/null: No such file or directory.


E se eu executar o comando sem o "> dev/null" o script inicia normal, mas da essa zika:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines'
Logging output to "/tmp/ghettoVCB-2016-02-24_05-37-24-6462832.log" ...
2016-02-24 05:37:24 -- info: ============================== ghettoVCB LOG START ==============================

2016-02-24 05:37:24 -- info: CONFIG - VERSION = 2015_05_06_1
2016-02-24 05:37:24 -- info: CONFIG - GHETTOVCB_PID = 6462832
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/VMBackupsNAS/backups
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 1
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2016-02-24_05-37-24
2016-02-24 05:37:24 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2016-02-24 05:37:24 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2016-02-24 05:37:24 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2016-02-24 05:37:24 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2016-02-24 05:37:24 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2016-02-24 05:37:24 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2016-02-24 05:37:24 -- info: CONFIG - LOG_LEVEL = info
2016-02-24 05:37:24 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2016-02-24_05-37-24-6462832.log
2016-02-24 05:37:24 -- info: CONFIG - ENABLE_COMPRESSION = 0
2016-02-24 05:37:24 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2016-02-24 05:37:24 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2016-02-24 05:37:24 -- info: CONFIG - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0
2016-02-24 05:37:24 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all
2016-02-24 05:37:24 -- info: CONFIG - VM_SHUTDOWN_ORDER =
2016-02-24 05:37:24 -- info: CONFIG - VM_STARTUP_ORDER =
2016-02-24 05:37:24 -- info: CONFIG - RSYNC_LINK = 0
2016-02-24 05:37:24 -- info: CONFIG - EMAIL_LOG = 0
2016-02-24 05:37:24 -- info:
Datastore not found.

Datastore not found.

Datastore not found.

mkdir: cannot create directory '/vmfs/volumes/VMBackupsNAS/': Operation not permitted
2016-02-24 05:37:26 -- info: Unable to create "/vmfs/volumes/VMBackupsNAS/backups/FIREWALL2"! - Ensure VM_BACKUP_VOLUME was defined correctly



Help novamente meu brother! kkkkkkkkkkkkkkk



[11] Comentário enviado por clzera em 24/02/2016 - 16:52h


[10] Comentário enviado por clzera em 24/02/2016 - 15:14h


[9] Comentário enviado por Ends em 02/02/2016 - 13:59h

E ai Marcelo (clzera)
Blz cara?
E os BOs nos clientes? Tudo resolvido?
Valeu brother.
Abração...


Fala Ends, blz cara? Ei os b.os estão sempre por ai né, por enquanto esta tudo ok! rsss
Estou implementando aqui no serviço esse esquema de bkp das vms, consegui fazer tudo haha, só que peguei 2 b.os que são os seguintes:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines' >dev/null

No comando acima, acontece o seguinte:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines' > dev/null
dev/null: No such file or directory.


E se eu executar o comando sem o "> dev/null" o script inicia normal, mas da essa zika:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines'
Logging output to "/tmp/ghettoVCB-2016-02-24_05-37-24-6462832.log" ...
2016-02-24 05:37:24 -- info: ============================== ghettoVCB LOG START ==============================

2016-02-24 05:37:24 -- info: CONFIG - VERSION = 2015_05_06_1
2016-02-24 05:37:24 -- info: CONFIG - GHETTOVCB_PID = 6462832
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/VMBackupsNAS/backups
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 1
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2016-02-24_05-37-24
2016-02-24 05:37:24 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2016-02-24 05:37:24 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2016-02-24 05:37:24 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2016-02-24 05:37:24 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2016-02-24 05:37:24 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2016-02-24 05:37:24 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2016-02-24 05:37:24 -- info: CONFIG - LOG_LEVEL = info
2016-02-24 05:37:24 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2016-02-24_05-37-24-6462832.log
2016-02-24 05:37:24 -- info: CONFIG - ENABLE_COMPRESSION = 0
2016-02-24 05:37:24 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2016-02-24 05:37:24 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2016-02-24 05:37:24 -- info: CONFIG - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0
2016-02-24 05:37:24 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all
2016-02-24 05:37:24 -- info: CONFIG - VM_SHUTDOWN_ORDER =
2016-02-24 05:37:24 -- info: CONFIG - VM_STARTUP_ORDER =
2016-02-24 05:37:24 -- info: CONFIG - RSYNC_LINK = 0
2016-02-24 05:37:24 -- info: CONFIG - EMAIL_LOG = 0
2016-02-24 05:37:24 -- info:
Datastore not found.

Datastore not found.

Datastore not found.

mkdir: cannot create directory '/vmfs/volumes/VMBackupsNAS/': Operation not permitted
2016-02-24 05:37:26 -- info: Unable to create "/vmfs/volumes/VMBackupsNAS/backups/FIREWALL2"! - Ensure VM_BACKUP_VOLUME was defined correctly



Help novamente meu brother! kkkkkkkkkkkkkkk




Ends, já resolvi. Foi uma bobeira minha aqui, no script eu coloquei uma letra que não existe. rsss

Testando..... Qualquer novidade te aviso.


[12] Comentário enviado por Ends em 24/02/2016 - 23:44h


[11] Comentário enviado por clzera em 24/02/2016 - 16:52h


[10] Comentário enviado por clzera em 24/02/2016 - 15:14h


[9] Comentário enviado por Ends em 02/02/2016 - 13:59h

E ai Marcelo (clzera)
Blz cara?
E os BOs nos clientes? Tudo resolvido?
Valeu brother.
Abração...


Fala Ends, blz cara? Ei os b.os estão sempre por ai né, por enquanto esta tudo ok! rsss
Estou implementando aqui no serviço esse esquema de bkp das vms, consegui fazer tudo haha, só que peguei 2 b.os que são os seguintes:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines' >dev/null

No comando acima, acontece o seguinte:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines' > dev/null
dev/null: No such file or directory.


E se eu executar o comando sem o "> dev/null" o script inicia normal, mas da essa zika:

ssh root@192.168.1.172 './vmfs/volumes/datastore1/SCRIPTS/ghettoVCB.sh -f /vmfs/volumes/datastore1/SCRIPTS/machines'
Logging output to "/tmp/ghettoVCB-2016-02-24_05-37-24-6462832.log" ...
2016-02-24 05:37:24 -- info: ============================== ghettoVCB LOG START ==============================

2016-02-24 05:37:24 -- info: CONFIG - VERSION = 2015_05_06_1
2016-02-24 05:37:24 -- info: CONFIG - GHETTOVCB_PID = 6462832
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_VOLUME = /vmfs/volumes/VMBackupsNAS/backups
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_ROTATION_COUNT = 1
2016-02-24 05:37:24 -- info: CONFIG - VM_BACKUP_DIR_NAMING_CONVENTION = 2016-02-24_05-37-24
2016-02-24 05:37:24 -- info: CONFIG - DISK_BACKUP_FORMAT = thin
2016-02-24 05:37:24 -- info: CONFIG - POWER_VM_DOWN_BEFORE_BACKUP = 0
2016-02-24 05:37:24 -- info: CONFIG - ENABLE_HARD_POWER_OFF = 0
2016-02-24 05:37:24 -- info: CONFIG - ITER_TO_WAIT_SHUTDOWN = 3
2016-02-24 05:37:24 -- info: CONFIG - POWER_DOWN_TIMEOUT = 5
2016-02-24 05:37:24 -- info: CONFIG - SNAPSHOT_TIMEOUT = 15
2016-02-24 05:37:24 -- info: CONFIG - LOG_LEVEL = info
2016-02-24 05:37:24 -- info: CONFIG - BACKUP_LOG_OUTPUT = /tmp/ghettoVCB-2016-02-24_05-37-24-6462832.log
2016-02-24 05:37:24 -- info: CONFIG - ENABLE_COMPRESSION = 0
2016-02-24 05:37:24 -- info: CONFIG - VM_SNAPSHOT_MEMORY = 0
2016-02-24 05:37:24 -- info: CONFIG - VM_SNAPSHOT_QUIESCE = 0
2016-02-24 05:37:24 -- info: CONFIG - ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP = 0
2016-02-24 05:37:24 -- info: CONFIG - VMDK_FILES_TO_BACKUP = all
2016-02-24 05:37:24 -- info: CONFIG - VM_SHUTDOWN_ORDER =
2016-02-24 05:37:24 -- info: CONFIG - VM_STARTUP_ORDER =
2016-02-24 05:37:24 -- info: CONFIG - RSYNC_LINK = 0
2016-02-24 05:37:24 -- info: CONFIG - EMAIL_LOG = 0
2016-02-24 05:37:24 -- info:
Datastore not found.

Datastore not found.

Datastore not found.

mkdir: cannot create directory '/vmfs/volumes/VMBackupsNAS/': Operation not permitted
2016-02-24 05:37:26 -- info: Unable to create "/vmfs/volumes/VMBackupsNAS/backups/FIREWALL2"! - Ensure VM_BACKUP_VOLUME was defined correctly



Help novamente meu brother! kkkkkkkkkkkkkkk




Ends, já resolvi. Foi uma bobeira minha aqui, no script eu coloquei uma letra que não existe. rsss

Testando..... Qualquer novidade te aviso.



Pois é Marcelo. Tava olhando a mensagem... Datastore not found. Não estava encontrando o volume/caminho que você especificou no ghettoVCB.sh. O ideal é sempre fazer um teste manual do comando antes de agendar ele no CRON com os parâmetros ">/dev/null" para não ter saída de tela (que o CRON não permite).
Tudo certo então! Qualquer coisa, dá um toque ai.
Abraço...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts