Salve Salve Pessoal!
Depois de um bom tempo pesquisando, várias tentativas e erros, consegui fazer o VMware vSphere ESXi funcionar como guest dentro do Oracle VM Server. O procedimento é um pouco chato, porque nós vamos ter que editar o arquivo de configuração da VM manualmente, e um detalhe muito importante, se formos fazer qualquer alteração da VM com o Oracle VM Manager, as configurações manuais que colocamos são excluídas, por isso temos que ficar atentos a qualquer modificação realizada na VM.
Primeiro de tudo vamos criar nossa VM, nas imagens abaixo criei a VM com as configurações minimas recomendadas pela VMware para a instalação do vSphere.
Expliquei todos os passos a seguir em outro post, clique AQUI para acessar e ver o passo-a-passo.
Feito todo o processo nossa VM está criada, basta iniciar a mesma e abrir o console para vermos a inicialização do sistema, quando o sistema iniciar ele vai detectar que não temos nenhum driver de rede disponível. Isso acontece porque o driver de rede padrão do Oracle VM Server/Xen é o Realtek RTL8139 e o mesmo não é suportado pelo vSphere.
Para resolvermos esse problema, temos que editar o arquivo de configuração manualmente e colocar qual o driver que queremos usar. Acesse o Oracle VM Server(hospedeiro) via SSH e navegue até a pasta de configurações da VM.
# cd /OVS/Repositories/0004fb0000030000598e525857751f9a/VirtualMachines/0004fb0000060000cfe2da48f9e2120e/
Esse 0004fb0000030000598e525857751f9a é o ID do seu repositório onde a VM se encontra, se você tiver mais de um, você pode identificar qual o correto da seguinte forma:
Acesse a aba Repositories, selecione o repositório e em Pespective selecione Info, dessa forma ele vai mostrar o ID do repositório:
Esse 0004fb0000060000cfe2da48f9e2120e é o ID da VM, se você tiver mais de uma, você pode identificar qual a VM correta da seguinte forma:
Acesse a aba Servers and VMs, selecione o HOST e depois a VM, clique no ícone com a seta para baixo para expandir os detalhes da VM, dessa forma vai mostrar o ID:
Agora que já sabemos o diretório correto, abra o arquivo vm.cfg, no meu caso o meu arquivo ficou com as seguintes configurações:
vif = ['mac=00:21:f6:5b:b5:f7,bridge=10238073c2'] OVM_simple_name = 'ESXi-01' vnclisten = '127.0.0.1' serial = 'pty' disk = ['file:/OVS/Repositories/0004fb00000300001e4ee7d261313647/VirtualDisks/0004fb00001200009d2574fd9b824a84.img,xvda,w', 'file:/OVS/Repositories/0004fb0000030000598e525857751f9a/ISOs/0004fb00001500009f6ce2a34d84d851.iso,xvdb:cdrom,r'] vncunused = 1 uuid = '0004fb00-0006-0000-cfe2-da48f9e2120e' on_reboot = 'restart' boot = 'dc' cpu_weight = 27500 memory = 4096 cpu_cap = 0 maxvcpus = 2 OVM_high_availability = False vnc = 1 OVM_description = '' on_poweroff = 'destroy' on_crash = 'restart' guest_os_type = 'linux' name = '0004fb0000060000cfe2da48f9e2120e' builder = 'hvm' vcpus = 2 keymap = 'pt-br' OVM_os_type = 'Other Linux' OVM_cpu_compat_group = '' OVM_domain_type = 'xen_hvm'
Vamos modificar a linha que faz referência a placa de rede virtual, vamos colocar explicitamente qual o tipo de driver de rede que queremos usar, que no nosso caso vai ser a Intel E1000, então vai ficar da seguinte forma:
vif = ['type=ioemu,mac=00:21:f6:5b:b5:f7,bridge=10238073c2,model=e1000']
Pronto, driver de rede foi resolvido 😀
Mas precisamos habilitar o modo Nested para está VM! Para maiores detalhes sobre Nested clique AQUI e veja o post no blog do amigo @ricardoconzatti.
Para isso vamos adicionar as seguintes linhas ao nosso arquivo de configuração:
hap=1 nestedhvm=1
Pronto, agora o arquivo de configuração está pronto e podemos reiniciar a nossa VM, segue abaixo como ficou o meu arquivo de configuração:
hap=1 nestedhvm=1 vif = ['type=ioemu,mac=00:21:f6:5b:b5:f7,bridge=10238073c2,model=e1000'] OVM_simple_name = 'ESXi-01' vnclisten = '127.0.0.1' serial = 'pty' disk = ['file:/OVS/Repositories/0004fb00000300001e4ee7d261313647/VirtualDisks/0004fb00001200009d2574fd9b824a84.img,xvda,w', 'file:/OVS/Repositories/0004fb0000030000598e525857751f9a/ISOs/0004fb00001500009f6ce2a34d84d851.iso,xvdb:cdrom,r'] vncunused = 1 uuid = '0004fb00-0006-0000-cfe2-da48f9e2120e' on_reboot = 'restart' boot = 'dc' cpu_weight = 27500 memory = 4096 cpu_cap = 0 maxvcpus = 2 OVM_high_availability = False vnc = 1 OVM_description = '' on_poweroff = 'destroy' on_crash = 'restart' guest_os_type = 'linux' name = '0004fb0000060000cfe2da48f9e2120e' builder = 'hvm' vcpus = 2 keymap = 'pt-br' OVM_os_type = 'Other Linux' OVM_cpu_compat_group = '' OVM_domain_type = 'xen_hvm'
Os passos da instalação seguem normalmente, durante a instalação ele vai apresentar uma mensagem de erros, informando que a dispositivos não suportados:
Dando uma pesquisada podemos ver que é devido ao driver de rede da Intel.
Mas podemos seguir com a instação normalmente que funciona perfeitamente.
Após a instalação for concluída, desligue a VM e mude a ordem de boot, lembre-se do que eu disse no inicio do post, se alterar qualquer coisa usando o Oracle VM Manager ele vai sobrescrever a configuração, dessa forma depois que alterar as configurações com o Manager, volte para a linha de comando e refaça as alterações manuais.
Pronto terminamos a configuração do guest, ligue a VM e o ESXi vai estar funcionando perfeitamente 😀
Agora acesso o ESXi e crie uma VM, quando você for tentar ligar ela aparecerá o seguinte erro para você:
Está mensagem de erro é porque o ESXi detecta que está rodando em outro Hypervisor, para resolver o problema temos que adicionar a seguinte linha no arquivo /etc/vmware/config:
vmx.allowNested = TRUE
Pronto, agora podemos iniciar a VM dentro do ESXi normalmente!
Espero que tenham gostado e até a próxima 😀
Referências:
https://wiki.xenproject.org/wiki/Nested_Virtualization_in_Xen
http://xenbits.xen.org/docs/unstable/misc/xl-network-configuration.html
https://docs.oracle.com/cd/E15458_01/doc.22/e15444/templates.htm
Parabéns pelo post Rodrigo! Agora já pode vender o LAB SUCATÃO e usar na FIRMA 🙂
Que nada, era um desafio 😀