The “Perfect” virtual Lab (será?)

Caros amigos,

Tenho estado um pouco (pouco? tá, vai… MUITO) afastado do blog, mas os motivos são muito bons… bom, para quem ainda não sabe, eu me mudei do Brasil em Dezembro do ano passado. Estou agora vivendo na Inglaterra. Adicionalmente, comecei a trabalhar com treinamentos com foco em ADCs (Application Delivery Controllers), mais especificamente, os Big IPs da F5 Networks.

Antes que me perguntem… não, eu não abandonei Cisco, nem minha empresa (CloudCampus) e tampouco os treinamentos com foco em outras tecnologias. Pelo contrário… nosso portfólio de treinamentos só cresce.  Em breve, teremos treinamentos com foco em ADCs, também. Basta aguardar 🙂

Bom, dito isso, achei que gostariam da idéia de eu compartilhar um pouco minha experiência com a criação de um laboratório virtual que uso no meu dia-a-dia por aqui. Eu sempre usei o GNS3 como ferramenta principal para a criação de meus labs, mas ultimamente, tenho tido alguns problemas com ele. Não me entendam mal… a ferramenta em si continua sendo ótima, mas estava me limitando em alguns sentidos… por exemplo:

  • Eu sempre tinha que rodar a ferramenta localmente na máquina que eu desejasse criar meus labs. Isso demandava que eu tivesse o GNS3 instalado em todas as minhas máquinas e uma cópia de todos os labs nas mesmas. Ou seja, não era muito “portable”.
  • A quantidade de recursos necessários para eu rodar labs com várias VMs exauria rapidamente as configurações dos meus laptops (mesmo um laptop com 16G de RAM ficava limitado dependendo do cenário que eu precisava rodar). 
  • O GNS3 integra muito bem VMs geradas via QEMU ou VMWare aos labs criados com ele, entretanto, as VMs neste caso rodam em cima de um hypervisor type 2 (uma hypervisor que roda em cima de outro OS, como Windows ou Linux e, portanto, deixa menos recursos livres para a criação de VMs e impacta a performance geral do ambiente).

Enfim, eu precisava de algo que escalasse rapidamente, que eu pudesse acessar de qualquer lugar e que fosse flexível o suficiente para eu poder criar novos labs sempre que eu julgasse necessário. Conversando com alguns colegas, apareceu a sugestão de criar um servidor VMWare ESXi dedicado.

Apesar de trabalhar com VMs já há um bom tempo, minha experiência se resumia ao QEMU, VirtualBox e VMWare Workstation. Nunca tinha trabalhado com o ESXi. Achei que um bom meio de me inteirar seria  buscando documentos e informações no Google, mas lembrei que a CloudCampus tem alguns treinamentos com foco no tema (casa de ferreiro…). Adicionalmente, busquei informações no Google e me consultei com alguns colegas mais experientes no tema.

O legal do ESXi é que a VMWare tem uma licença 100% FREE e funcional da plataforma, que suporta servidores com um único processador fisico sem limite do número de cores. O segredo aqui, portanto, é tentar encontrar o processador com o maior número de cores que conseguir. Mas não pode ter mais de um processador físico, pois a licença FREE não vai usá-lo. Para obter sua cópia, acesse o site da VMWare (é preciso cadastrar-se).

Bom, baixado o software e a licença, eu precisava de uma máquina para instalar. Eu não queria gastar $$$ comprando um servidor, então me ocorreu usar meu desktop para a tarefa. Ele tem um processador i7 com 4 cores, o que me parecia excelente, mas estava com apenas 16G de RAM. Outro problema era a placa de rede… a placa onboard era incompatível com o ESXi, pelo que tinha lido. Como precisava de pelo menos uma porta Ethernet, comprei uma placa gigabit Intel por cerca de 8 libras (R$50, mais ou menos). A máquina também precisava de mais memória… então, comprei mais dois pentes de 8G para ela, gastando cerca de 20 libras. Por fim, seria bom ter um HD dedicado para o ESXi. Meu PC já tinha dois HDs de 1T cada, mas eu não queria mexer neles, já que todos os meus arquivos estavam lá. Assim, comprei um novo HD de 3T por 40 libras, também no eBay.

Com tudo fisicamente instalado, eu agora precisava arrumar uma forma de instalar o ESXi sem ter que formatar ou perder os dados que já estavam no meu PC. Em suma, o que eu queria era encontrar uma forma de ter um “dual-boot”, mantendo meu PC com o Windows e todos os arquivos em um boot, e o ESXi com o novo HD em outro. Pesquisei na Net e não encontrei uma forma simples de conseguir isso…  ou, pelo menos, não encontrei uma forma sem risco. Eis que, quando estava quase desistindo de manter ambas as configurações, me deparei com um método de instalar o ESXi num pendrive bootável. Testei e funcionou perfeitamente. O método menciona a ferramenta RUFUS para a criação do pendrive, mas eu preferi usar o UNetbootin. Vai de cada um. Depois, é só interromper o boot do sistema na tela da bios de seu PC e escolher o boot via pendrive. Voilá… ESXi rodando de um pendrive, e o PC segue intacto. Quando quero usar o PC, dou um shutdown no ESXi e o boot no Windows ocorre normalmente.

Seguindo o passo a passo da instalação do ESXi, tudo correu sem problemas. O sistema reconheceu a placa de rede nova, os 32G de memória e o novo HD de 3T, que foi formatado pelo ESXi e é, agora, meu datastore. Depois, veio o trabalho de criar as VMs no ESXi.  Como eu já tinha muitas no VMWare Workstation, eu exportei as VMs já existentes para o ESXi server. Demorou um pouco, pois algumas VMs eram grandes. A dica é conectar as duas máquinas (no caso, meu laptop e o desktop) diretamente usando um cabo de rede. Como minhas portas eram gigabit, a transferência ocorreu bem mais rápido.

Eu até poderia usar o GNS3 dentro deste ambiente, mas no meu caso, não achei que faria muito sentido. Preferi criar duas instâncias do Cisco XRv para serem meus routers e estou usando o switch do próprio ESXi (vSwitch). Eu poderia usar o Nexus 1000v, se eu quisesse, também. Enfim, as possibilidades são muitas. Tudo estável, tudo funcionando 24/7 e com acesso remoto.

No próximo post eu posto um vídeo com as configurações e demonstrando como eu habilitei acesso remoto, etc. Por hora, segue o diagrama do meu último LAB, no qual estou trabalhando. Estou, no momento, com 4 BIG IPs VE, 2 VMs Windows 10, 1 VM Linux, 1 BIG-IQ (manager) VE e 2 Cisco XRv.

Fica como dica para quem leva LABs à sério (como eu) 🙂

esxi.PNG

diag.PNG

10 comentários

Pular para o formulário de comentário

  1. Ótima solução, modular e escalável. Pra integrar com GNS3 dá pra criar mais uma VM Linux com ambiente gráfico bem leve e usar o switch do VMWare pra ligar nos devices.

  2. Com certeza Evandro. Foi o que testei e funcionou. Usei a VM com Windows7 para rodar o GNS3 e criei uma VM para o gns3server (ela aparece na figura). Mas não estou usando o GNS3 no lab que estou fazendo agora, pois não precisei de nenhuma feature que eu não conseguiria fazer direto no ESX 😉

  3. Muito Bom Marco.

    Voce pode até ficar “distante” mas seus posts sempre ajudam bastante.
    Uma dúvida: as imagens do F5 também conseguimos uma versão FREE?

    Espero ansiosamente pelos treinamentos BigIP.

  4. Marco, você já ouviu falar da ferramenta UnetLab que estão desenvolvendo?

    Eu instalei ela em um servidor que consegui e estou utilizando para rodar meus Labs até agora, você consegue fazer uma instalação Baremetal no ubuntu, o que optimiza muito bem os recursos da máquina, eu acredito que com ela você possa fazer tudo o que esta fazendo de uma forma mais simples.

    Se você não conhece dá uma olhada lá, eu “larguei de mão” do GNS e estou utilizando somente essa ferramenta agora.
    http://www.unetlab.com

  5. Marco, tome cuidado com o uso de Pendrive bootable pois a vida util dele é bem menor podendo perder dados sem aviso, esse caso seria melhor usar um HD externo usb para boot do sistema

  6. Oi DahLe, sim, já vi e testei o UNL, mas sinceramente, não vi vantagem sobre o GNS3. Tudo o que o UNL suporta tb é suportado pelo GNS3… e não é baremetal, pelo contrário… é uma VM dentro de outra (tipo as VMs que vc roda estão dentro da VM do UNL). Tem uma discussão interessante no fórum do GNS sobre o UNL, e uma das disvantagens levantadas é exatamente a performance dele se comparado com o GNS3. O GNS3, por outro lado, tem a desvantagem de termos que fazer a instalação do client em cada máquina, o que é um saco. Por isso eu estou indo mais para o lado de montar labs usando ESXi… faz mais sentido para mim. Mas ainda uso muito o GNS3.

    Abs!

    Marco

  7. Sagara, a F5 disponibiliza versões FREE (trial) de seus produtos. Só baixar em https://f5.com/products/trials/product-trials

  8. @criskursch, é um home lab… e é fácil fazer uma cópia do PD (já fiz um clone dele just in case)… isso não me preocupa. A parte mais importante – que são as VMs – está protegida dentro do Datastore interno da máquina. Abs!

  9. Olá Marcos! Bacana esse post! Estou bem mais envolvido como mundo VMware do que com o Cisco e gostaria de dar uns “pitacos” no seu texto. Não é uma crítica, apenas estou adicionando informação aos seus leitores.

    1. O @criskursch falou sobre rodar o ESXi via Pendrive pode ser perigoso. Hoje la na FIRMA temos 5 hosts no farm vmware e todos eles rodam o esxi direto de um SD card. As proprias fabricantes (Dell, HP, IBM, etc) vendem (pelo preço de 1/16 de um rim) SD cards e Pendrivers com esse fim. A solução que adotamos e é uma boa prática do mercado foi comprar SD cards classe 10 (que são rápidos) de uma marca conhecida (SanDisk) e manter um backup próximo ao host. Mesmo que o pendrive torre la dentro, o ESXi depois do boot fica na memória.

    2. Uma outra solução ao “dual-boot” seria a instalação do ESXi dentro do VMware Workstation rodando como nexted (google for Nested Virtualization).

    3. E por último, um MOMENTO JABA ABSURDO – Eu tenho um blog que fala sobre Homelabs e Virtualização (entre outros temas) e a idéia é trazer e produzir conteúdo em PT-BR sobre esse assunto. Vou deixar o link http://homelaber.com.br/serie-vmware-homelab-setup/ . Tenho até um post onde falo de uma ferramenta parecida como Unetbootin http://homelaber.com.br/criando-ubs-boot-vmware-exsi-com-rufus/ .

    Grande abraço!

    VC

  10. Valdecir, obrigado pelo input!! Abração!

Deixe um comentário