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.227 ]

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


Visão geral



Para ter uma ideia do desenho da estrutura física (ligações e conexões), abaixo demonstramos através de uma figura simples como será as ligações entre os ativos e os servidores.
Linux: Virtualização com ESXi 5.5.0 - pfSense virtualizado + backup de VMs no FreeNAS via iSCSI
Neste modelo demonstramos a ligação de um link de internet diretamente a uma NIC do host ESXi (vmnic1), onde atribuímos a faixa de IP 10.1.1.0/8 ao modem e a NIC do host.

Vamos trabalhar com a LAN na faixa de IP 192.168.1.0/24.

Obs.: caso venha a trabalhar com mais de um link de internet, será é necessário atribuir os IPs dos ativos (modens) em faixas diferentes.

Abaixo segue um exemplo de um modelo da topologia de rede lógica trabalhando com 3 conexões de internet ligados ao host ESXi, conectados na VM do pfSense. Nesta figura demonstramos as conexões lógicas de todos os componentes envolvidos no projeto (servidores físicos, servidores virtuais, ativos físicos e ativos virtuais). Note que instalamos o vSphere Client (administração do host ESXi) na VM do Windows Server 2008 R2. Mas pode ser instalado em qualquer estação na rede local.
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

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

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

Leitura recomendada

Clonando e Salvando Todos os Linux de um Disco Rígido para um HD Portátil Usando Gparted

Backup com o FSArchiver

Live do Ubuntu com programa PartImage como Ferramenta para Backup do Windows 7

Instalando FreeNAS 8.3.0 e criando Storage iSCSI

Backups remotos com rSync e chaves SSH

  
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