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: 23.430 ]

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


Configurando os adaptadores de redes no ESXi



Por uma questão de organização e também para facilitar o entendimento deste estudo, organizamos todos os nomes dos dispositivos de uma forma que fique mais intuitivo para quem esta lendo o artigo. Este tópico visa organizar a estrutura de rede do ESXi para quem está instalando um servidor do zero. Porém, se você já possui o seu servidor ESXi instalado em uso já com as nomenclaturas estipuladas, não é necessário seguir as orientações deste tópico.

Quando instalamos o ESXi, setamos a placa de administração do host (VMKernel Port - Management Network) - vmnic0, vmnic1, vmnic2, vmnic3 etc. Conforme o número de placas de rede físicas do servidor.

Neste estudo, na instalação do ESXi, setamos a vmnic0 e marcamos a opção SET STATIC AND IP ADDRESS NETWORK CONFIGURATION, preenchemos conforme abaixo:
  • IP Address: 192.168.1.100
  • Net Mask: 255.255.255.0
  • Default Gateway: 192.168.1.110

Já informamos o gateway 192.168.1.110 da VM do pfSense ao qual vamos instalar e que será o gateway da LAN.

Após, via vSphere Client, acessamos o host ESXi através do IP 192.168.1.100 com usuário root/senha.

Neste passo, vamos organizar a estrutura do networking, nomeando as redes e atribuindo as vmnics.

Dentro do vSphere Client:
  1. clicamos em INVENTORY.
  2. clicamos na aba CONFIGURATION.
  3. no meu "Hardware", clicamos na opção NETWORKING.

Um mapa da Networking irá nos mostrar a atual configuração do vSphere Standard Switch.

Como informei no inicio deste tópico, por uma questão de organização neste estudo, vamos nomear as redes como VM Network LAN e VM Network WAN (VM Network WAN2, VM Network WAN3, e assim por diante). Basta seguir os passos da figura abaixo para renomear as redes e atribuir as vmnics a cada rede/vSwitch.
Linux: Virtualização com ESXi 5.5.0 - pfSense virtualizado + backup de VMs no FreeNAS via iSCSI
Resumindo a figura:
  1. em Standard Switch: vSwitch0: clicamos em PROPERTIES.
  2. em vSwitch0 Proprieties: selecionamos VM NETWORK e clicamos no botão EDIT.
  3. em Network Label: renomeamos a rede para VM NETWORK LAN.
  4. de volta a tela do Networking: clicamos em ADD NETWORKING.
  5. selecionamos a opção VIRTUAL MACHINE.
  6. selecionamos a opção CREATE A VSPHERE STANDARD SWITCH para atribuir os vSwitchs as vmnics. Estas configurações podem ser feitas a gosto, inclusive atribuindo VMNICs a VSWITCHS já existentes.

*** Não esqueça de manter um padrão na nomenclatura das redes (VM Network WAN2, VM Network WAN3, VM Network NAS etc).

Após tudo organizado com a atribuição de nomes as redes e suas devidas vmnics, partimos para o próximo passo que é a criação e instalação da VM do pfSense.

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

Backup completo com sincronismo da /home em nuvem - Grátis

Backups remotos com rSync e chaves SSH

Backup em fita DAT com multivolume (LTO3)

Servidor Bacula com Fedora Server 21

Clonezilla - Gerando e restaurando backups completos (Parte I)

  
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