Virtualização para servidores com VirtualBox

Para virtualização em desktop o VirtualBox já vem reinando a algum tempo. E para servidores, muitos não apostam por que simplesmente não sabem que é possível, mas dá! Veja e confirme. Combinação perfeita, CentOS + VirtualBox + Windows 2003 Server.

[ Hits: 82.486 ]

Por: Eduardo Fonseca Velasques em 06/02/2009 | Blog: http://eduveks.blogspot.com


Últimos ajustes



Há outros exemplos desta configuração usando bridges, mas acho que assim fica muito mais simples.

Para iniciar a máquina virtual pela linha de comando é assim:

# /usr/bin/VBoxVRDP -startvm NOME-DA-MAQUINA-VIRTUAL-NO-VIRTUALBOX

Para quando o servidor iniciar, iniciar também a máquina virtual e carregar toda configuração, coloquei os seguintes comandos no /etc/rc.local:

/usr/bin/VBoxTunctl -u root
/sbin/sysctl net.ipv4.ip_forward=1
/sbin/ip link set tap0 up
/sbin/ip addr add 192.168.20.1/32 dev tap0
/sbin/route add -host 192.168.20.201 dev tap0
/sbin/sysctl net.ipv4.ip_forward=1
/sbin/iptables -t nat -A POSTROUTING --out-interface eth0 -j MASQUERADE
/sbin/iptables -A FORWARD --in-interface tap0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -i eth0 --dport 3089 -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -p tcp -i eth1 --dport 3089 -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -p udp -i eth0 --dport 3089 -j REJECT
/sbin/iptables -A INPUT -p udp -i eth1 --dport 3089 -j REJECT
/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 3389 -j DNAT --to 192.168.20.201:3389
/usr/bin/nohup /usr/bin/VBoxVRDP -startvm winserver > /dev/null &

Tem muita gente que acha deselegante usar o rc.local, mas eu não acho deselegante, muito pelo contrário, afinal pra que que ele serve? :P

No meu caso, em um AMD Opteron Quad-Core com 4GB de RAM, o Windows 2003 Server em máquina virtual de 512MB com o VirtualBox demora 6 segundos para estar completamente inicializado.

Acompanhe as atualizações sobre este tema em:
Página anterior    

Páginas do artigo
   1. Introdução
   2. Rede
   3. Acesso remoto
   4. Últimos ajustes
Outros artigos deste autor

Unreal Tournament 2004 - Servidor Linux

Nginx: Poderoso servidor WEB para Linux

Leitura recomendada

Resolvendo o problema de gerenciamento de energia - ACPI

Net TV a cabo no Mandrake 10.1 Community

Apache2 + PHP5 + MySQL + PhpMyAdmin + Webmin de forma simples e objetiva

Turbinando o Openbox nativo do Debian 10 LXDE

Colinux com Debian - Linux Rodando Dentro do Windows

  
Comentários
[1] Comentário enviado por EDU4RDO_ em 06/02/2009 - 10:55h

No meu caso já estou com a maquina virtual funcionando perfitamente, ate startto ela pela linha de comando também mas eu estou com um problema quando coloca o comando no rc.local pois dessa forma a maquina virtual não esta levntando junto com o sistema. Ate tirei a maquina virtual do meu usuário e levei ela pro root.

Gostaria de saber se alguem sabe quais são as linha que eu devo adicionar no rc.local pra que levante automaticamente e se a maquina pode estar no usuário comum ou só funciona no root?

Vi também que você mostrou quais parametros foi adicionado no seu rc.local mas creio que no meu seja um pouco diferente pois so necessito da maquina virtual não preciso das linhas do iptable nem das de configuração da rede.

Esotu usando Fedora 10.

[2] Comentário enviado por eduveks em 06/02/2009 - 14:15h

Para executar o comando:

/usr/bin/VBoxTunctl -u xxxx

Tem que ser como root, por que vai criar uma interface de rede virtual.

E os comandos do rc.local é executado como root. No meu caso esta tudo pelo como root.

No teu caso, só este comando que deve ser preciso então:

/usr/bin/nohup /usr/bin/VBoxVRDP -startvm winserver > /dev/null &

Que isto apenas inicia a máquina virtual, para rodar em background. Onde "winserver" é o nome da máquina virtual em questão.

[3] Comentário enviado por demoncyber em 06/02/2009 - 21:37h

Olá,

Não gosataria de ser um cara chato mais, a maior inovaçao da ultima versao do virtualbox que por sinal eh esta que vc provavelmente instalou é poder fazer isso dando 3 clics's =O, sim o virtuabox 2 agora está fazendo o bridge como vmware \o/

Mas fica ai também o passo a passo X), sempŕe é bom ter as vezes estas interfaces graficas nao fazem tudo


[4] Comentário enviado por vagnersobrinho em 08/02/2009 - 02:11h

Mandou bem!

[5] Comentário enviado por sidnei.weber em 09/02/2009 - 00:08h

E como faço pra inicializar a máquina virtual pelo terminal?

Aqui no meu ponho certinho o nome como criei no Virtual Box, e sempre diz que o nome é invalido!?!?

Isso já aconteceu com algué?

Ótimo tutorial, parábens!

[6] Comentário enviado por eduveks em 09/02/2009 - 00:15h

Nunca tive estes problema de nome inválido...

Mas pode ser o usuário, você criou a máquina com o root e esta iniciando com o root?

Vc pode verificar com:

ls ~/.VirtualBox/Machines/

Tem que ter ai uma pasta com o nome da máquina virtual que vc quer usar. Dentro do "home" do usuário que inicia a máquina virtual.

[7] Comentário enviado por batista em 09/02/2009 - 12:46h

Muito bom artigo. Parabéns!!!
Gostaria de acrescentar que testei a nova versão do VirtiualBox do site da Sun, na distro Mandriva 2008.0 conforme este tutorial no link http://www.howtoforge.com/installing-virtualbox-2.0-on-mandriva-2009.0
Segui os passos do tutorial e o VirtualBox esta rodando numa boa.
Caso alguem queira testar darei as dicas:
Instale os pacotes do kernel-source e kernel-devel para versão especifica do seu kernel, no caso para saber e so digitar o comando no terminal: uname -a
Apos baixar estes pacotes e também instalado via urpmi o pacote do VirtualBox, va no terminal como root e digite:

/etc/init.d/vboxdrv setup

Este comando acima compilara o modulo do VirtualBox no sistema, apos isto e so instalar suas vms normalmente inclusive com acesso a bridge nativamente, ou seja, sem comandos avançados.

Valeu...

[8] Comentário enviado por eduveks em 09/02/2009 - 13:12h

Isto de ter o bridge automático tem a certeza?

Que eu tanto nos meus desktops com Ubuntu 8.10 e Fedora 9, e no servidor com o CentOS 5, usando a última versão do VirtualBox a 2.1.2. Em todos o acesso a internet foi automático, agora a configuração de route e interface de rede virtual não é automático. Ou seja para do sistema base ter acesso a máquina virtual e vice-versa, isto não é automático até onde sei.

Acho que estão confundindo o acesso internet e em ter um serviço na máquina virtual e acessar a este serviço apartir do sistema nativo e da rede.

O tutorial é neste sentido, de configurar serviços de servidor dentro da máquina virtual.

[9] Comentário enviado por juliaojunior em 10/02/2009 - 19:35h

gostei do artigo, e vou testar.

[10] Comentário enviado por andrefreire em 17/02/2009 - 08:07h

O que foi dito é que não é mais necessário se configurar esse arranjo com túneis como vc fez pois o novo Virtualbox acessa o host diretamente basta que vc selecione interface do hospedeiro e pronto.

[11] Comentário enviado por eduveks em 17/02/2009 - 08:27h

Só que assim tem que estar com DHCP do VirtualBox, o que é mau para fazer depois os NATs! Como precisava de IP estático para os NATs não vi maneira melhor.

E como eu já disse eu estou usando a última versão do VirtualBox! E para fazer os NATs não encontrei outra maneira sem criar a interface de rede virtual. Se há uma forma mais simples de fazer isto por favor coloque passo-a-passo para que eu possa realizar o teste de que tudo funciona.

[12] Comentário enviado por chaplinux em 24/02/2009 - 13:25h

Bom na NOVA VERSAO DO VBOX! não eh mais necessario essas gambiarras! rs...

Entre na Opção de "Configurações" ou "Setting" / "Rede" ou "Network" / "Adapdator 1"

escolha a opcao "Conectado a" ou "Attached to" , mude para "Interface do Hospedeiro" ou "Host Interface"

escolha mais a baixo em "Placa de Rede do Hospedeiro" ou "Host Interface" , a ethX que vc usa na rede local.

Só da OK. e usar a mesma faixa de rede na maquina virtual como na local. e esta pronto! tudo transparente!

Flw!

[13] Comentário enviado por lgf em 03/08/2011 - 11:23h

Funcionou muito bem mas não estou conseguindo desligar a maquina virtual depois de conectar via rdp , conectando normalmente pelo gui é possivel desligar usando vboxmanage controlvm NOME_DA_MAQUINA acpipowerbutton mas iniciando pelo VBoxDRV esse comando não funciona , tem alguma forma de subir a maquina no boot e desligar no halt ?

[14] Comentário enviado por eduveks em 03/08/2011 - 19:31h

eu fiz este script para forçar reiniciar a virtual machine! primeiro mata mesmo a virutal machine ("kill -9") e a seguir inicia.

já uso a uns anos e até agora n tive nenhum problema (a última linha é para reiniciar a virtual machine, no teu caso remover/comenatar a última linha):

#!/bin/sh

psID=
for linePS in `ps x | grep virtualbox/VBox`; do
psData=`echo $linePS | grep "^[0-9]*$"`
case $linePS in
"/usr/lib/virtualbox/VBox"*) kill -9 $psID ;;
esac
if [ "$psData" != "" ]; then
psID=$psData
fi
done

/usr/bin/nohup /usr/bin/VBoxVRDP -startvm rwinsrv > /dev/null &


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts