Virtualização · 6 min read · Dec 31, 2025
VBoxHeadless - Executando Máquinas Virtuais Com VirtualBox 4.0 Em Um Servidor CentOS 5.6 Sem Cabeça
VBoxHeadless - Executando Máquinas Virtuais Com VirtualBox 4.0 Em Um Servidor CentOS 5.6 Sem Cabeça
Versão 1.0
Autor: Falko Timme
Siga-me no Twitter
Este guia explica como você pode executar máquinas virtuais com o VirtualBox 4.0 em um servidor CentOS 5.6 sem cabeça. Normalmente, você usa a GUI do VirtualBox para gerenciar suas máquinas virtuais, mas um servidor não possui um ambiente de desktop. Felizmente, o VirtualBox vem com uma ferramenta chamada VBoxHeadless que permite que você se conecte às máquinas virtuais por meio de uma conexão de desktop remoto, então não há necessidade da GUI do VirtualBox.
Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
Eu testei isso em um servidor CentOS 5.6 (sistema host) com o endereço IP 192.168.0.100 onde estou logado como um usuário normal (nome de usuário admin neste exemplo) em vez de como root.
Se você só tem uma conta root, mas não uma conta de usuário normal, crie uma da seguinte forma (usuário admin, grupo admin)…
# groupadd admin
# useradd -d /home/admin -m -g admin -s /bin/bash admin… crie uma senha para o novo usuário…
# passwd admin… e faça login como esse usuário.
2 Instalando o VirtualBox
Para instalar o VirtualBox 4.0 em nosso servidor CentOS 5.6, precisamos de privilégios de root, portanto, executamos
$ suAgora habilitamos o repositório RPMforge em nosso sistema CentOS, pois o pacote dkms (Dynamic Kernel Module Support Framework - este pacote é necessário para construir o módulo do kernel do VirtualBox) que vamos instalar não está disponível nos repositórios oficiais do CentOS 5.6:
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt# cd /tmp
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm(Se o link acima não funcionar mais, você pode encontrar a versão atual do rpmforge-release aqui: http://packages.sw.be/rpmforge-release/)
Em seguida, instalamos as dependências para o VirtualBox 4.0 da seguinte forma:
# yum groupinstall 'Development Tools'# yum groupinstall 'Development Libraries'# yum install SDL kernel-devel kernel-headers dkmsCom o último comando, instalamos os cabeçalhos do kernel do nosso kernel atualmente utilizado. Os cabeçalhos estão localizados no diretório /usr/src/kernels/, mas é provável que seu diretório não esteja nomeado como
Verifique sua versão do kernel…
# uname -r[root@server1 kernels]# uname -r
2.6.18-238.el5
[root@server1 kernels]#… e arquitetura:
# uname -m[root@server1 2.6.18-238.el5]# uname -m
x86_64
[root@server1 2.6.18-238.el5]#Isso significa que deve haver um diretório chamado 2.6.18-238.el5-x86_64 no diretório /usr/src/kernels/. Podemos verificar isso agora:
# cd /usr/src/kernels/
# ls -l[root@server1 kernels]# ls -l
total 4
drwxr-xr-x 19 root root 4096 May 19 14:26 2.6.18-238.9.1.el5-x86_64
[root@server1 kernels]#Como você pode ver, eu tenho o diretório 2.6.18-238.9.1.el5-x86_64, mas não 2.6.18-238.el5-x86_64. Portanto, criamos um symlink chamado 2.6.18-238.el5-x86_64 que aponta para 2.6.18-238.9.1.el5-x86_64:
# ln -s 2.6.18-238.9.1.el5-x86_64 `uname -r`-`uname -m`Em seguida, baixe e registre a chave pública rpm do VirtualBox:
# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
# rpm --import oracle_vbox.asc
# rm -f oracle_vbox.ascAgora habilitamos o repositório do VirtualBox CentOS em nosso sistema:
# cd /etc/yum.repos.d/
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repoAgora podemos simplesmente instalar o VirtualBox 4.0 da seguinte forma:
# yum install VirtualBox-4.0Se a instalação for bem-sucedida, a saída deve terminar da seguinte forma:
[...]
Executando Transação
Instalando : VirtualBox-4.0 1/1
Criando grupo 'vboxusers'. Os usuários de VM devem ser membros desse grupo!
Nenhum módulo pré-compilado para este kernel encontrado -- tentando construir um. Mensagens
emitidas durante a compilação do módulo serão registradas em /var/log/vbox-install.log.
Parando módulos do kernel do VirtualBox [ OK ]
Desinstalando módulos do kernel do VirtualBox DKMS antigos [ OK ]
Tentando registrar os módulos do kernel do VirtualBox usando DKMS [ OK ]
Iniciando módulos do kernel do VirtualBox [ OK ]
Instalado:
VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1
Completo!
[root@server1 kernels]#(Se a instalação falhar porque o diretório correto dos cabeçalhos do kernel não pode ser encontrado, a saída terminará da seguinte forma:
[...]
Criando grupo 'vboxusers'. Os usuários de VM devem ser membros desse grupo!
Nenhum módulo pré-compilado para este kernel encontrado -- tentando construir um. Mensagens
emitidas durante a compilação do módulo serão registradas em /var/log/vbox-install.log.
Parando módulos do kernel do VirtualBox [ OK ]
Desinstalando módulos do kernel do VirtualBox DKMS antigos [ OK ]
Tentando registrar os módulos do kernel do VirtualBox usando DKMS
Erro! Seus cabeçalhos do kernel para o kernel 2.6.18-238.el5 não podem ser encontrados em
/lib/modules/2.6.18-238.el5/build ou /lib/modules/2.6.18-238.el5/source.
[FALHOU]
(Falhou, tentando sem DKMS)
Recompilando módulos do kernel do VirtualBox [FALHOU]
(Veja /var/log/vbox-install.log para descobrir o que deu errado)
Instalado:
VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1
Completo!
[root@server1 yum.repos.d]#Nesse caso, tente criar o symlink correto do kernel (como mostrado antes) e depois execute
# /etc/init.d/vboxdrv setuppara criar o módulo do kernel do VirtualBox.)
Agora devemos adicionar o usuário que executará o VirtualBox (admin neste exemplo) ao grupo vboxusers:
# /usr/sbin/usermod -G vboxusers adminO VirtualBox agora está instalado e pronto para ser usado.
Digite
# exitpara sair da conta root e se tornar um usuário normal (admin) novamente.
3 Usando o VirtualBox Na Linha de Comando
3.1 Criando Uma VM
Para criar uma VM na linha de comando, podemos usar o comando VBoxManage. Veja
$ VBoxManage --helppara uma lista de opções disponíveis e (altamente recomendado!) dê uma olhada em http://www.virtualbox.org/manual/ch08.html.
Agora vou criar uma VM Ubuntu 11.04 Server com 512MB de memória e um disco rígido de 10GB a partir da imagem iso do Ubuntu 11.04 Server (que eu armazenei em /home/ubuntu-11.04-server-amd64.iso):
$ VBoxManage createvm --name "Ubuntu 11.04 Server" --register
$ VBoxManage modifyvm "Ubuntu 11.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0
$ VBoxManage createhd --filename Ubuntu_11_04_Server.vdi --size 10000
$ VBoxManage storagectl "Ubuntu 11.04 Server" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_11_04_Server.vdi
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-11.04-server-amd64.iso3.2 Importando Uma VM Existente
Vamos supor que você tenha uma VM chamada examplevm que deseja reutilizar neste host. No host antigo, você deve ter um diretório Machines/examplevm no diretório do VirtualBox; Machines/examplevm deve conter o arquivo examplevm.xml. Copie o diretório examplevm (incluindo o arquivo examplevm.xml) para o seu novo diretório Machines (se seu nome de usuário for admin, este é /home/admin/.VirtualBox/Machines - o resultado deve ser /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml).
Além disso, copie o arquivo examplevm.vdi do antigo diretório VDI para o novo (por exemplo, /home/admin/.VirtualBox/VDI/examplevm.vdi).
Depois, você deve registrar a VM importada:
$ VBoxManage registervm Machines/examplevm/examplevm.xml3.3 Iniciando Uma VM Com VBoxHeadless
Independentemente de você criar uma nova VM ou importar uma antiga, você pode iniciá-la com o comando:
$ VBoxHeadless --startvm "Ubuntu 11.04 Server"(Substitua Ubuntu 11.04 Server pelo nome da sua VM.)
O VBoxHeadless iniciará a VM e um servidor VRDP (VirtualBox Remote Desktop Protocol) que permite que você veja a saída da VM remotamente em outra máquina.
Para parar uma VM, execute
$ VBoxManage controlvm "Ubuntu 11.04 Server" poweroffPara pausar uma VM, execute
$ VBoxManage controlvm "Ubuntu 11.04 Server" pausePara reiniciar uma VM, execute
$ VBoxManage controlvm "Ubuntu 11.04 Server" resetPara saber mais sobre o VBoxHeadless, dê uma olhada em
$ VBoxHeadless --helpe em http://www.virtualbox.org/manual/ch07.html#vboxheadless.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.