Criando um servidor de virtualização super leve com Debian 10 e Virtualbox WEB

Com VirtualBox é possivel executar diversos sistemas operacionais (Windows, Linux, UNIX, BSD) simultaneamente no mesmo hardware, que são chamados de máquinas virtuais. Uma das características é o mascaramento dos recursos físicos (incluindo processadores, quantidade de memória, interfaces de rede), o que permite diminuir a administração de drivers nas máquinas virtuais, e transferir uma máquina virtual entre servidores físicos diferentes.

Existem várias ferramentas de virtualização disponíveis.

Microsoft Virtual Server 2005 R2 – disponível para plataforma x86 e x86_64 bits. Suporte: Somente Windows.
Qemu – ferramenta de virtualização de código aberto disponível para windows, mac e Linux.
Vmware – Disponível para Windows e Linux.
VirtualBox – Aplicativo de código aberto disponível para Windows, Mac, Linux e Solaris.
Xen – Suporta Windows, bem como distribuições Linux.

O VirtualBox inicialmente foi lançado sob licença proprietária, mas mais tarde (2007) a Oracle Corporation começou a lançá-lo sob GNU General Public License. Escrito completamente em C, C ++ e Assembly Language está disponível para Windows, OS X, Linux e Solaris.

Recomendo já baixar a ISO nonfree: https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/

Adicione o repositório do virtualbox

Debian 10 Buster

Vamos a instalação, a versão 5.2 (nesta data 08/10/19) ainda não tem uma versão (Oficial) 6 compatível com o phpVirtualbox. Mas se você é expert existe alguns forks compatível com 6.0.

Certifique-se que seu repositório esteja usando os repositórios nonfree e contrib.

Ao final de cada linha verifique se consta: nonfree e contrib, se não tiver adicione, ficando assim:

Atualize o repositório

Já vamos aproveitar para otimizar a parametrização do uso da memoria SWAP do nosso debian. Ajustaremos o swappiness para 10, assim o SWAP só começará a ser usado quando a memória RAM estiver 90% cheia.

Reinicia a máquina para carregar os novos módulos do kernel.

Verifique se swappiness retorna o valor 10

Faça download dos pacotes extras: https://www.virtualbox.org/wiki/Download_Old_Builds_5_2 como instalei a versão 5.2 irei baixar a versão correspondente: (If you’re looking for the latest VirtualBox 5.2 packages, see VirtualBox 5.2 builds.)

Instale os pacotes extras


Responta Yes (y)

Vamos executá-lo como o nosso usuário vbox, porque ele não precisa acessar o resto do seu sistema.

Defina uma senha para seu usuario vbox

Diga ao seu sistema qual usuário vai executar o VirtualBox.

Faça com que o vboxweb-service inicie no boot. Como dito acima nosso usuário não precisa ter acesso total ao sistema, entao vamos instalar o sudo e roda-lo via sudo.

Adicione no /etc/rc.local o comando para iniciar junto com o boot.

Adicione

Alterare as permissões:

Vamos instalar o serviço web + php

Por segurança recomendo remover a assinatura do servidor, para isso:

Vamos também configurar nosso domínio virtual para acessar o servidor via domínio (ex vbox.remontti.com.br) e restringir ele apenas para nossos IP de gerencia.

Faça as devidas alterações, não esqueça de alterar em Require ip para os IPs que você vai autorizar as conexões.

Habilite os módulos

Que tal configurar um certificado grátis com let’s encrypt?

Agora já é possível acessar “vm.remontti.com.br” com HTTPS, faça um teste se seu domínio esta respondendo corretamente.

Para evitar que o certificado expire faça um script e colocando ele no cron para que o mesmo renove automaticamente.

Adicione

De permissão de execução:

Adicione ao cron e restarte o cron

Vamos configurar o projeto phpvirtualbox, dentro do diretório padrão do apache.

É altamente recomendado que você tenha um firewall em cima da range de portas 9000 a 9100, pois é onde será possível fazer acesso remoto, e recomendo que depois da instalação sempre desative o acesso remoto a VM, segue um exemplo de firewall, no exemplo já irei proteger tb a porta do SSH, lembre-se de deixar seu ip na ACL de permissões.

Modelo fechando as portas do SSH [22] e a range de acesso remoto [9000-9100], você pode personalizar de acordo com sua instalação.

Reinicie o nftables e verifique se o mesmo foi carregado:

Agora acesse:
https://DOMINIO/
Usuário: admin
Senha: admin

Não esqueça de alterar a senha do usuário admin!

O mais legal que você está usando quase nada do hardware da máquina para “subir” seu sistema de virtualização.

Virtulabox peca em não dar uma solução para inicialização automática, mas é muito fácil fazer isso incluindo no rc.local. Use o comando:

Vai ser listado os ID das suas VMs. Ex:
“ns1” {d288884d-a3d4-4903-b84e-5c6039af13b5}
“ns2” {a2893475-atd4-4973-b81e-6039af13bss5}

Agora que você ja tem as IDs adicione em /etc/rc.local: da seguinte forma, alterando pelas suas ID.

Agora quando o servidor reiniciar suas VMs vão iniciar automaticamente, (Não esqueça de quando for desligar o servidor fazer o processo de desligamento de cada VM)

Uma das vantagens deste servidor é que é o virtualbox é muito simples!!! Dentro de /home/vbox/ vão estar suas imagens sendo muito facil de fazer uma copia e migrada para algum outro servidor em caso de “pau”. É claro tenha sempre redundância de hardware em seu servidor, faça sempre pelo menos um RAID1 (espelhamento de disco) eu gosto de fazer RAID10 com pelo menos 5 SSDs, onde 1 dos SSDs eu instalo o sistema e os outros 4 (ou 6 ou 8 …) somo ex 2 (RAID0) e espelho nos outros 2 (RAID1) logo temos o RAID10.

Acesso remoto
No windows você pode usar o famoso mstsc e informar seu IP:PORTA, no linux tem um pacote chamado vinagre basta instala-lo.

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Abraço!

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

18 Resultados

  1. Leandro disse:

    Sabe de algum phpvirtualbox que funcione no debian 11?

  2. Reiferson disse:

    Lindo Tutorial amigo

  3. Diego disse:

    cara primeiramente quero te agradeçe por compratilhar esse conhecimento muito massa com todos nós.
    fui instalar novamente e me deparei com um problema ocorre o seguinte erro ao coloca o user e e passowrd

    (Error logging in to vboxwebsrv.) já pesquisei pra caramba a até o momento não consgio encontrar

  4. Bill Doug disse:

    Deus te proteja! Vc é 10!

  5. Diego disse:

    Eu poderia usar essa ferramenta em produção para rodar Windows Servers ou recomendaria algo mais robusto como um proxmox, xenserver, etc…

  6. Murilo disse:

    Olá! Primeiramente agradeço pelos conteúdos de alto nível.
    Bom, fiz a instalação porem quando vou executar a maquina o console não conectar, apresenta o erro “TCP: SECURITY_ERROR Error #2048”. Tem alguma dica? obrigado!

  7. Hermeson disse:

    Bom dia, esse exemplo, é como um terminal server é? busco muito, como criar um servidor de VM remoto. Tanto para os usuario acessarem uam VM remota ou até mesmo, criar sua propria maquina, tipo cloud?

  8. Diego disse:

    Belo Trabalho!!
    teria algum problema se caso eu quiser instalar ele sem o certificado ??

  9. Luis Teixeira disse:

    boa noite,
    parabéns pelo excelente tutorial, a instalação do debian que você indica é a netinstall, instalar sem interface gráfica?
    obrigado, até mais

  10. BrLink disse:

    faz proxmox com detalhes, afinal é baseado no debian e muito mais robusto e completo

  1. 26 de março de 2020

    […] do Zabbix 4.4 no Debian 10 Buster Zabbix 4.2/4.4 enviando alertas no Telegram via Bot (Debian 10) Criando um servidor de virtualização super leve com Debian 10 e Virtualbox WEB Instalação do SpeedTest/OoklaServer + Speedtest Custom no Debian 10 Buster Instalando o Home […]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *