Tags do Post ‘vbox’
VirtualBox: Criando e iniciando uma VM pelo terminal com o VBoxManage
Postado por: Rafael Biriba em Aplicativos, Tecnologia, Virtualização em 14/07/2010
Já tem algum tempo que ando brincando com o VirtualBox e um dos objetivos era automatizar a criação de novas VMs.
Durante as pesquisas e testes, descobri que criar máquinas virtuais utilizando o VBoxManage* é bastante simples.
*VBoxManage: É uma interface do virtualbox por linha de comando (terminal), onde você pode controlar totalmente suas máquinas virtuais.
Dica: Leia a documentação para conhecer todas as funções disponíveis: http://www.virtualbox.org/manual/ch08.html
Então vamos começar… No exemplo a seguir vou criar uma vm para um CentOS 5.4: (Os comandos em negrito devem ser executados no terminal)
VBoxManage createvm -name “centos54″ –register
Cria uma vm com o nome ‘centos54′ e com configurações padrões
VBoxManage modifyvm “centos54″ –ostype RedHat –memory “128″ –acpi on –boot1 dvd –nic1 bridged –bridgeadapter1 wlan0
Altera o tipo da vm para RedHat (por causa do CentOS), altera a memória para 128 MB, configura o dvd para ser o primeiro boot, e habilita uma placa de rede em modo bridge apontando para minha interface de rede wireless wlan0 (em alguns casos talvez seja eth0). Você pode habilitar mais de uma interface de rede, basta passar as configurações das placas assim: –nic1 … –nic2 … -nic3 …
VBoxManage createhd -filename “centos54.vdi” -size 6000 –remember
Cria o HD da nova vm com 6 GB de espaço
VBoxManage storagectl “centos54″ –name “IDE Controller” –add ide –controller PIIX4
Habilita o controlador IDE de disco na vm
VBoxManage storageattach “centos54″ –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium “centos54.vdi”
Adiciona o disco vdi da vm no controlador IDE e define o tipo com hard disk drive (hdd)
VBoxManage openmedium dvd /home/rafael/Desktop/CentOS-5.4-i386-bin-1of6.iso
Adiciona ao virtualbox (não na vm), o link para a imagem do disco
Adiociona a imagem do disco para boot e instalação do sistema operacional na VM. Note que agora o device é definido como 1, pois o hd está no device 0.
Feito isso, agora estamos prontos para poder iniciar a VM:
nohup VBoxHeadless –startvm “centos54″ -p 3001
O vboxheadless responsável por iniciar a vm prende o processo ao terminal. Portanto se você fechar o terminal, o processo de start da vm morre. Para resolver isso, usamos o nohup que mantém o processo rodando mesmo que o terminal seja fechado. O vboxheadless inicia a vm e habilita o protocolo RDP (Remote Desktop Protocol) para que você possa acessar a vm. O parâmetro -p serve exatamente para definir a porta de acesso do RDP, e o endereço de acesso é 127.0.0.1 ou localhost.
Para desligar a VM:
VBoxManage controlvm “centos54″ poweroff
Para remover o DVD de boot da VM:
VBoxManage storageattach “centos54″ –storagectl “IDE Controller” –port 0 –device 1 –type dvd –medium noneforceunmount
Então é isso… Em breve vou mostrar como duplicar as vms e seus discos.
Dica: Leia a documentação para conhecer todas as funções disponíveis do VBoxManage:
http://www.virtualbox.org/manual/ch08.html
VirtualBox: VMs com IPs estáticos e internet de maneira simples
Postado por: Rafael Biriba em Aplicativos, Redes, Tecnologia, Virtualização em 22/02/2010
Tem certas coisas que você só aprende tentando… Mas esse assunto foi muito além desse princípio.
Durante toda a semana, procurei por soluções para colocar 2 máquinas virtuais acessíveis pela minha máquina hospedeira, com ip fixo e com internet.
O que acontece é o seguinte: Quem possui as versões mais atuais do virtualbox (a minha é a 3.1.2), possui uma opção de adaptador de rede, que se chama host-only. Ela cria uma conexão de rede em seu sistema hospedeiro, e utiliza um DHCP próprio para gerenciar as VMs, e com isso você consegue tanto utilizar internet, quanto se comunicar entre máquina real e máquina virtual.
O problema é que preciso garantir que estou dando SSH para a VM certa. O DHCP pode comprometer essa garantia.
O que tentei fazer… Atribuir um ip fixo na máquina virtual. Mas sem utilizar o DHCP, faz com que a VM fique sem conectividade com a internet.
Procurando pelo google, vi várias soluções que se resumiam em criar interfaces de redes virtuais para cada VM e compartilhando a conexão de internet entre elas, alterando tudo no arquivo /etc/netwotk/interfaces (ubuntu) e mais algumas outras coisas.
Eu não só testei várias soluções, como nenhuma delas funcionou, e ainda fiquei com alguns problemas de rede, mas que foram facilmente resolvidos.
Não querendo complicar uma coisa tão simples, consegui achar uma solução que resolve tudo com apenas alguns cliques, sem alterar nenhuma configuração e nem arriscar problemas na sua rede atual (eth0) =D
Então, vamos para a solução final:
Existe uma outra opção para sua interface de rede no virtualbox: NAT. Ela atribui um IP para sua VM, que é inacessível não só entre a maquina real e a virtual, quanto entre as máquinas virtuais também… Essa opção apenas libera o acesso à internet para a VM.
A solução foi utilizar 2 interfaces de rede para cada VM. A primeira interface foi definida como NAT e a segunda como host-only. A ordem é importante… Certifique-se que a primeira interface é a NAT. Também é necessário desativar o DHCP do host-only (Vá em Arquivo > Preferências > Rede > “Edite a Rede Virtual do Host-Only” > “Na aba Servidor DHCP, desmarque a opção Habilitar Servidor”).
Feito isso, inicie a VM e atribua um IP fixo para a interface que utiliza o host-only… E como eu disse acima, essa interface com ip fixo fica acessível entre as máquinas virtuais e a real, perdendo apenas a conexão com a internet. Mas como você configurou uma interface NAT anteriormente, o problema está resolvido!

A imagem acima é um pedaço da descrição de uma das minhas máquinas virtuais que rodam num virtualbox para windows. A idéia é a mesma tanto para windows quanto para linux.
Curiosidade: Note que no windows o nome do adaptador de rede para o host-only é “VirtualBox Host-Only Ethernet Adapter” e no linux é “vboxnet0″.
Dica rápida: Se o seu virtualbox foi instalado pelo aptitude/synaptic do ubuntu (linux), certamente você possui uma versão velha e com poucos recursos… Sugiro baixar uma versão mais atual no site do virtualbox.
Se conseguir uma outra solução, não deixe de compartilhar aqui!
Espero ter ajudado !


