Pesquei este post de um bloq antigo (2012) e ainda acho que é interessante, apesar de hoje em dia o Vagrant ter automatizado muito dos procedimentos abaixo. Está do modo que foi publicado, e em breve dou uma revisada para ver se tem coisa a melhorar. Mas enquanto isso, fica essa versão.
Desde que mexi pela primeira vez com o VMWare Server, há muitos anos, eu virei fã de virtualização para desenvolvimento de projetos. A possibilidade de ter um ambiente totalmente segregado para cada uma das aplicações em desenvolvimento foi a melhor alternativa para o inferno de ter um único servidor com todas as configurações possíveis, muitas vezes com conflitos entre elas.
Com o VirtualBox a coisa ficou mais fácil ainda, porque o tempo de configuração da ferramenta é muito pequeno, e a ferramenta é muito simples de usar. E mesmo com essa simplicidade, é bastante poderoso; só de ver o que o pessoal do Vagrant fez com o VirtualBox já impressiona: com pouca configuração, uma máquina sobe sozinha e já preparada para começar o desenvolvimento.
Mas nesse artigo eu quero dar umas dicas interessantes sobre o uso do VirtualBox, pra quem ainda está começando com ele.
Guest Additions: a primeira dica, a mais básica, é a de sempre instalar o Guest Additions. Essa é a mais simples e básica, e serve de ponto de partida para as outras. O Guest Additions instala no sistema “convidado” drivers de vídeo, audio e rede otimizados para o VirtualBox, possibilitando diversas melhorias de velocidade. Se você usa ambientes gráficos, é possível até redimensionar a tela de exibição do ambiente somente redimensionando a tela de exibição do ambiente.
(Aliás, os termos “convidado” (guest) e “hospedeiro” (host) são dois termos muito usados em virtualização, designando repectivamente a máquina virtual e o sistema operacional principal, instalado diretamente no computador).
Para instalar, inicie a máquina virtual e selecione o menu Dispositivos > Instalar Adicionais para Convidado. Dependendo do sistema operacional convidado, ele abre uma tela de Inicialização Automática com a opção de instalação automática. Caso você esteja instalando em sistemas operacionais somente-texto, você precisa montar o disco para ter acesso à instalação. Atenção: se você está instalando sistema com kernel Linux no sistema convidado, antes de instalar o Guest Additions é preciso instalar os kernel headers e algumas ferramentas de desenvolvimento. Existem guias que explicam este processo para Ubuntu, Fedora e SuSE, encontradas facilmente em qualquer ferramenta de busca.
Rede: Configure a rede corretamente. De acordo com sua necessidade você pode dar um IP válido em sua rede para a máquina virtual ou deixar ela totalmente isolada, disponível apenas para acesso local. Para mudar estas configurações, entre nas configurações da máquina virtual, no segmento “Rede”, selecione o Adaptador da placa de rede desejada e escolha a opção na caixa de seleção “Conectado a” de acordo com sua necessidaed:
- NAT: a máquina fica isolada para receber conexões diretas, mas consegue acessar
a internet. Mas não pense que é impossível acessar a máquina: em Avançado você
consegue fazer redirecionamento de portas! As portas que você indicar serão
usadas em sua máquina principal para acessar portas da máquina virtual. Por
exemplo, se você colocar um servidor web na máquina virtual e nesta tela de
redirecionamento de portas da máquina virtual indicar que a porta 3000 do
hospedeiro aponta para a 80 do convidado, ao abrir um navegador e entrar com o
endereço
http://localhost:3000
você estará acessando o servidor web (normalmente na porta 80) da máquina virtual. - Bridge: a máquina virtual ganha um IP válido e se torna uma máquina da rede, com acesso completo.
- Rede Interna: as máquinas ganham IPs válidos para integrar uma rede interna segregada, válida apenas no computador hospedeiro. É uma solução bacana para testar comunicação entre servidores sem precisar expôr as máquinas na rede local.
Máquinas “template”: Crie máquinas virtuais padrão e mantenha estas máquinas atualizadas. Se a cada novo projeto você precisa recriar totalmente a máquina virtual (instalação de Sistema Operacional, instalação de servidores web e banco de dados) você está perdendo tempo. É mais interessante montar uma máquina básica e, sempre que preciso, copiar esta máquina. Na verdade não copiamos a máquina, e sim o disco rígido da máquina. Normalmente este disco fica guardado no diretório da máquina virtual, e tem a extensão “vdi”. Mas cuidado para não copiar o disco com a máquina salva ou em funcionamento. Pare/desligue a máquina totalmente e então copie o disco.
Quando precisar de uma nova máquina virtual, crie uma cópia deste disco “base”, com o nome desejado, e no assistente de criação da máquina virtual indique este disco no momento em que ele pergunta sobre o disco a ser usado para a máquina virtual. E depois que a máquina estiver em funcionamento, mude as configurações necessárias (como nome de máquina e usuário padrão).
VBoxManage: Essa dica é diretamente para o coração dos scripteiros: aprenda a usar o comando VBoxManage. É uma aplicação voltada a linha de comando que permite controlar a máquina virtual sem precisar usar a tela do VirtualBox. Isso traz vantagens interessantes como iniciar a máquina virtual sem abrir a tela de visualização da máquina (headless) ou obter informações da máquina virtual durante o uso. Um exemplo de uso para isso é montar um script de projeto que, ao ser rodado, inicializa a máquina virtual e atualiza os arquivos fontes do projeto, e outro script que “para” o projeto, efetuando commit automático das alterações de código no repositório de controle de versão, tirando cópia de segurança da base de dados da máquina virtual e salvando o estado dessa máquina.
Instalações prontas: E a última dica é usar o site Virtualboxes para obter instalações prontas de sistemas operacionais (em sua maioria com base em kernel Linux). É relacionada diretamente com a terceira dica, mas essa ficou pro final porque eu só acho interessante usar máquinas prontas deste site depois que já se sabe como funciona o VirtualBox, já que estas máquinas sempre demandam um ou outro cuidado maior na configuração.
Comments