VirtualBox: mudanças entre as edições
(30 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
==Sobre== | ==Sobre== | ||
Olá! Visitante, reunimos aqui, informações sobre o VirtualBox, que é um programa de virtualização da Oracle que permite instalar e executar diferentes sistemas operacionais em um único computador sem complicações. | Olá! Visitante, reunimos aqui, informações sobre o VirtualBox, que é um programa de virtualização da Oracle que permite instalar e executar diferentes sistemas operacionais em um único computador sem complicações. Com ele você pode instalar em seu computador qualquer sistema operacional para estudo, laboratório de testes ou POC's , ou seja, você não precisa formatar o seu computador para ver como é um outro sistema operacional, testar alguma funcionalidade ou estudar sobre Redes, Linux, Segurança da Informação etc.. Outra funcionalidade que este software permite é realizar laboratórios técnicos para instalação de servidores, desktops e até sistemas especias, assim auxiliando no conhecimento sobre tecnologia. | ||
== Requisitos == | |||
Para um bom funcionamento do software VirtualBox, é necessário que o seu computador tenha um espaço em disco suficiente para o armazenamento de vms, assim como quantidade de memória disponível, como estes recursos são variados, estipula-se que o computador o qual vai armazenar as máquinas virtuais tenha pelo menos o dobro de memória que a máquina virtual necessita, ou seja, se uma VM do tipo servidor linux que será criada no virtualbox precise de 1GB de memória, é necessário que o computador físico tenha pelo menos 2GB de memória, já para armazenamento podemos utilizar tanto discos HDs, como ssds e discos externos (USB) para máquinas virtuais. Também torna-se necessário a ativação de suporte a virtualização na BIOS do computador, veja neste [https://wiki.projetoroot.com.br/index.php?title=Habilitar_Virtualiza%C3%A7%C3%A3o link] como ativar. | |||
* '''Habilitar virtualização no hardware''': https://wiki.projetoroot.com.br/index.php?title=Habilitar_Virtualiza%C3%A7%C3%A3o | |||
* ''' Habilitar virtualização na VM:''' https://wiki.projetoroot.com.br/index.php?title=VirtualBox#Habilitar_Virtualiza.C3.A7.C3.A3o | |||
== Vídeos == | == Vídeos == | ||
* Instalando VirtualBox | |||
<embedvideo service="youtube">https://youtu.be/xOCGwlXNcY0</embedvideo> | |||
https://youtu.be/xOCGwlXNcY0 | |||
* Criando Máquinas Virtuais | |||
<embedvideo service="youtube">https://youtu.be/dMDkiKMN-DM</embedvideo> | |||
https://youtu.be/dMDkiKMN-DM | |||
* Instalando Adicionais de Convidados | |||
<embedvideo service="youtube">https://youtu.be/BpuRO0AyDkE</embedvideo> | |||
https://youtu.be/BpuRO0AyDkE | |||
* Configurações Intermediarias no VirtualBox | |||
<embedvideo service="youtube">https://youtu.be/hdwWAdHRAzg</embedvideo> | |||
https://youtu.be/hdwWAdHRAzg | |||
* Uso de Templates | * Uso de Templates | ||
<embedvideo service="youtube">https://youtu.be/YeKZ4pgO8t8</embedvideo> | <embedvideo service="youtube">https://youtu.be/YeKZ4pgO8t8</embedvideo> | ||
Linha 17: | Linha 46: | ||
https://youtu.be/6MvOf5wCRPc | https://youtu.be/6MvOf5wCRPc | ||
* Utilizando CLI no VirtualBox | |||
<embedvideo service="youtube">https://youtu.be/96eTyAJhYMA</embedvideo> | |||
https://youtu.be/96eTyAJhYMA | |||
Documentação: https://wiki.projetoroot.com.br/index.php?title=VirtualBox#VirtualBox_por_Shell | |||
* Scripts para VirtualBox | |||
<embedvideo service="youtube">https://youtu.be/DxzMsDIol8A</embedvideo> | |||
https://youtu.be/DxzMsDIol8A | |||
Documentação: https://wiki.projetoroot.com.br/index.php?title=VirtualBox#Scripts | |||
* Servidor VirtualBox | |||
<embedvideo service="youtube">https://youtu.be/v9uBlKzaClg</embedvideo> | |||
https://youtu.be/v9uBlKzaClg | |||
* RemoteBox e AutoStart - Vídeo Extra | |||
<embedvideo service="youtube">https://youtu.be/auz1C0oW1EY</embedvideo> | |||
https://youtu.be/auz1C0oW1EY | |||
==Site== | ==Site== | ||
https://www.virtualbox.org/ | https://www.virtualbox.org/ | ||
== Instalando Guest Additions == | |||
* Ubuntu/Linux Mint/Debian | |||
apt-get install build-essential dkms linux-headers-$(uname -r) | |||
* CentOS | |||
dnf install epel-release && dnf install gcc make perl kernel-devel kernel-headers bzip2 dkms | |||
Adicionar a ISO de Guest Additions na VM e fazer a instalação conforme o vídeo em: https://youtu.be/BpuRO0AyDkE | |||
== VirtualBox por Shell == | == VirtualBox por Shell == | ||
=== '''Listar VMs no Host''' === | |||
* vboxmanage list vms | |||
Exemplo: | |||
vboxmanage list vms | |||
=== '''Descobrir informações das VMS''' === | |||
* vboxmanage showvminfo | |||
Exemplo: | |||
vboxmanage showvminfo Linux\ Mint.vbox --machinereadable | |||
=== '''Iniciar VM (VirtualBox) por Shell''' === | |||
* vboxmanage startvm /caminho_das_vms/grupo_vm/nome_vm/vm.vbox | |||
Exemplo: | |||
vboxmanage startvm /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox | |||
==='''Desligar VM (VirtualBox) por Shell''' === | |||
* vboxmanage controlvm nome_da_VM poweroff | |||
Exemplo: | |||
vboxmanage controlvm Linux\ Mint poweroff | |||
==='''Iniciar VM (VirtualBox) por Shell em Background (segundo plano)''' === | |||
* vboxheadless -s /caminho_das_vms/grupo_vm/nome_vm/vm.vbox | |||
Exemplo: | |||
vboxheadless -s /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox | |||
==='''Iniciar VM (VirtualBox) por UUID''' === | |||
Exemplo: | |||
vboxheadless -s d8cf16f5-c070-4d86-9468-056d919ede2b | |||
==='''Criar Snapshot''' === | |||
* vboxmanage snapshot | |||
vboxmanage snapshot /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox take BASE | |||
==='''Deletar SnapShot''' === | |||
vboxmanage snapshot /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox delete BASE | |||
==='''Restaurar SnapShot''' === | |||
vboxmanage snapshot /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox restore BASE | |||
==='''Clonar VM''' === | |||
* vboxmanage clonevm | |||
vboxmanage clonevm /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox --name="Linux_MINT-001" --register --mode=all | |||
==='''Modificar VM''' === | |||
* vboxmanage modifyvm | |||
==='''Habilitar Virtualização''' === | |||
* Uso do parâmetro --nested-hw-virt on habilita | |||
* Para desabilitar --nested-hw-virt off | |||
vboxmanage modifyvm /home/diegocosta/VirtualBox\ VMs/POC\Linux\ Mint/Linux\ Mint.vbox --nested-hw-virt on | |||
==='''Adicionar em um Grupo''' === | |||
vboxmanage modifyvm /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox --groups "/testes" | |||
==='''Retornar ao padrão''' === | |||
vboxmanage modifyvm /home/diegocosta/VirtualBox\ VMs/testes/Linux\ Mint/Linux\ Mint.vbox --groups "" | |||
== Scripts == | |||
Realizar a criação de Shell Script para gerenciar máquinas virtuais, criar VMs e clonar templates. Este método permite que possamos ter uma infra de modo ágil, assim incentivando a cultura DevOps,sendo possível compreender o raciocínio lógico por trás de um simples script, sendo este, um ponto de início para o desenvolvimento de outros scripts mais complexos. | |||
=== Script 01 === | |||
* Criando uma VM básica sem template. | |||
#!/bin/sh | |||
# Como funciona o script | |||
# Script deve estar em /home/"USER"/VirtualBox VMs/ "Caso contrário vai criar as VMS onde estiver" | |||
# ./vm.sh NOME_VM TIPO_VERSAO MEMORIA DISCO CAMINHO/ISO.iso "Explicando como executar" | |||
# ./vm.sh vm1 Debian_64 1024 32000 /home/diegocosta/Downloads/debian-10.iso | |||
# Variaveis "($1 Nome da VM, $2 Tipo do SO, $3 Memoria, $4 HD, $5 Caminho da ISO, Caminho da maquina .vdi - Virtual Disk Image, IFACE1=Interface com fio, IFACE2=Interface sem fio)" | |||
VM_NAME=$1 | |||
OS_TYPE=$2 | |||
MEMORY_SIZE=$3 | |||
HDD_SIZE=$4 | |||
DVD_PATH=$5 | |||
HDD_PATH=$VM_NAME/$VM_NAME.vdi | |||
IFACE1=enps0 | |||
IFACE2=wlp3s0 | |||
# Criando a VM e definições de Hardware virtual "podem ser ajustados conforme necessidade" | |||
VBoxManage createvm -name $VM_NAME -ostype $OS_TYPE --register | |||
VBoxManage modifyvm $VM_NAME \ | |||
--memory $MEMORY_SIZE \ | |||
--vram 16 \ | |||
--pae off \ | |||
--rtcuseutc on \ | |||
--nic1 bridged --bridgeadapter1 $IFACE1 \ | |||
--nic2 bridged --bridgeadapter2 $IFACE2 \ | |||
--mouse usbtablet \ | |||
--usb on \ | |||
--usbehci on \ | |||
--acpi on \ | |||
--apic on \ | |||
--autostart-enabled on \ | |||
--graphicscontroller vmsvga | |||
# Cria arquivo vdi no caminho e tamanho informados no shell, faz a identificação de IDE e SATA e por último adiciona na VM (Attached) | |||
VBoxManage createvdi --filename $HDD_PATH --size $HDD_SIZE | |||
VBoxManage storagectl $VM_NAME --name "IDE Controller" --add ide | |||
VBoxManage storagectl $VM_NAME --name "SATA Controller" --add sata | |||
VBoxManage storageattach $VM_NAME --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium $DVD_PATH | |||
VBoxManage storageattach $VM_NAME --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium $HDD_PATH | |||
# Inicializar a VM criada de modo Headless (Inicialização em background) | |||
echo "Iniciar VM em ...3" | |||
sleep 1 | |||
echo "Iniciar VM em ..2" | |||
sleep 1 | |||
echo "Iniciar VM em .1" | |||
sleep 1 | |||
echo "Iniciando" | |||
sleep 1 | |||
#vboxheadless -s $VM_NAME & | |||
=== Script 02 === | |||
* Criando uma ou várias VMs com base em Template existente. | |||
#!/bin/bash | |||
# Como funciona o script | |||
# Script deve estar em /home/"USER"/VirtualBox VMs/ "Caso contrário vai criar as VMS onde estiver" | |||
# ./instanacia.sh NOME_do_Template NR. de instancias Nome do clone "Explicando como executar" | |||
# ./instancia.sh Debian-10-Template 2 www-teste | |||
# Variaveis "($1 Nome do Template, $2 Número de Instâncias para levantar, $3 Nome da VM clone )" | |||
VM_TEMPLATE=$1 | |||
LAUNCH=$2 | |||
NAME=$3 | |||
DATE=`date +%d-%m-%Y-%H.%M.%S` | |||
VM_PATH=$VM_TEMPLATE | |||
#VM_NAME=$NAME-$DATE | |||
VM_NAME=$VM_TEMPLATE-$NAME | |||
echo Clonando Template de: $VM_PATH | |||
# Criando um contador e utilizando o until, um while invertido, o loop irá repetir enquanto a condição for falsa | |||
# Clona template e levanta quantas instâncias solicitadas | |||
contador=$LAUNCH | |||
until [ $contador -le 0 ] | |||
do | |||
echo Faltam $contador Instâncias para levantar | |||
vboxmanage clonevm $VM_PATH --name="$RANDOM-$VM_NAME" --register --mode=all | |||
((contador=contador-1)) | |||
done | |||
# Inicializar a VM criada de modo Headless (Inicialização em background) | |||
echo "Iniciar VM em ...3" | |||
sleep 1 | |||
echo "Iniciar VM em ..2" | |||
sleep 1 | |||
echo "Iniciar VM em .1" | |||
sleep 1 | |||
echo "Iniciando" | |||
sleep 1 | |||
#vboxheadless -s $VM_NAME & | |||
== Server VirtualBox - CentOS 8 == | |||
* Desativar SeLinux e Firewalld | |||
nano /etc/selinux/config | |||
'disabled' | |||
systemctl disable firewalld | |||
systemctl stop firewalld | |||
* Epel Repositório | |||
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm | |||
yum update && yum install -y kernel-devel-$(uname -r) kernel-headers gcc make perl wget binutils kernel-devel libgomp patch gcc glibc-headers glibc-devel dkms httpd php php-soap php-xml php-json | |||
wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo | |||
yum update | |||
* Para VirtualBox 5.2 | |||
yum install -y VirtualBox-5.2 | |||
wget https://download.virtualbox.org/virtualbox/5.2.38/Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack | |||
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack | |||
* Para VirtualBox 6.1 | |||
yum install -y VirtualBox-6.1 | |||
wget https://download.virtualbox.org/virtualbox/6.1.4/Oracle_VM_VirtualBox_Extension_Pack-6.1.4.vbox-extpack | |||
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.4.vbox-extpack | |||
* Ajustes | |||
echo "VBOXWEB_USER=vbox" > /etc/default/virtualbox | |||
echo "VBOXWEB_HOST=localhost" >> /etc/default/virtualbox | |||
useradd vbox | |||
passwd vbox | |||
wget https://github.com/phpvirtualbox/phpvirtualbox/archive/master.zip | |||
unzip master.zip -d /var/www/html/ | |||
cd /var/www/html/ | |||
mv phpvirtualbox-master/* . | |||
rm -rf phpvirtualbox-master/ | |||
cp /var/www/html/config.php-example /var/www/html/config.php | |||
chown vbox:vboxusers /var/www/html -R | |||
nano /var/www/html/config.php | |||
var $username = 'vbox'; | |||
var $password = 'PASSWORD'; | |||
var $vrdeaddress = 'IP_SERVER'; | |||
var $consoleHost = 'IP_SERVER'; | |||
var $enableAdvancedConfig = true; | |||
systemctl enable vboxweb-service.service | |||
systemctl start vboxweb-service.service | |||
=== AutoStart === | |||
nano /etc/default/virtualbox | |||
VBOXAUTOSTART_DB="/var/lib/virtualbox-autostart" | |||
VBOXAUTOSTART_CONFIG="/etc/default/vb-autostart-perms" | |||
nano /etc/default/vb-autostart-perms | |||
default_policy = allow | |||
chmod 0644 /etc/default/vb-autostart-perms | |||
chown vbox:vboxusers /etc/default/vb-autostart-perms | |||
mkdir -p /var/lib/virtualbox-autostart | |||
chmod 1777 /var/lib/virtualbox-autostart | |||
chown vbox:vboxusers /var/lib/virtualbox-autostart | |||
su vbox | |||
VBoxManage setproperty autostartdbpath /var/lib/virtualbox-autostart | |||
systemctl enable vboxautostart-service | |||
systemctl start vboxautostart-service | |||
vboxmanage import Debian10-Template.ova --vsys 0 --vmname Debian10-Template | |||
vboxmanage modifyvm Debian10-Template --autostart-enabled on | |||
== RemoteBox == | |||
* Ajustar o host | |||
nano /etc/default/virtualbox | |||
VBOXWEB_HOST=IP_DO_SERVER ex: (192.168.201.104) | |||
* Instalar as dependências (ver documentação) | |||
http://remotebox.knobgoblin.org.uk/docs/remotebox.pdf | |||
* Download da versão atual ou conforme a versão do VirtualBox instalado | |||
http://remotebox.knobgoblin.org.uk/?page=downloads | |||
==Alterar o tamanho de uma unidade no VirtualBox depois de já criado o disco | == Modificar o Disco == | ||
* Alterar o tamanho de uma unidade no VirtualBox depois de já criado o disco | |||
*1 - Desligar a máquina virtual | *1 - Desligar a máquina virtual | ||
Linha 65: | Linha 413: | ||
== Download do Gparted == | == Download do Gparted == | ||
https://sourceforge.net/projects/gparted/files/gparted-live-stable/1.3.0-1/gparted-live-1.3.0-1-i686.iso |
Edição atual tal como às 14h17min de 20 de julho de 2021
Sobre
Olá! Visitante, reunimos aqui, informações sobre o VirtualBox, que é um programa de virtualização da Oracle que permite instalar e executar diferentes sistemas operacionais em um único computador sem complicações. Com ele você pode instalar em seu computador qualquer sistema operacional para estudo, laboratório de testes ou POC's , ou seja, você não precisa formatar o seu computador para ver como é um outro sistema operacional, testar alguma funcionalidade ou estudar sobre Redes, Linux, Segurança da Informação etc.. Outra funcionalidade que este software permite é realizar laboratórios técnicos para instalação de servidores, desktops e até sistemas especias, assim auxiliando no conhecimento sobre tecnologia.
Requisitos
Para um bom funcionamento do software VirtualBox, é necessário que o seu computador tenha um espaço em disco suficiente para o armazenamento de vms, assim como quantidade de memória disponível, como estes recursos são variados, estipula-se que o computador o qual vai armazenar as máquinas virtuais tenha pelo menos o dobro de memória que a máquina virtual necessita, ou seja, se uma VM do tipo servidor linux que será criada no virtualbox precise de 1GB de memória, é necessário que o computador físico tenha pelo menos 2GB de memória, já para armazenamento podemos utilizar tanto discos HDs, como ssds e discos externos (USB) para máquinas virtuais. Também torna-se necessário a ativação de suporte a virtualização na BIOS do computador, veja neste link como ativar.
- Habilitar virtualização no hardware: https://wiki.projetoroot.com.br/index.php?title=Habilitar_Virtualiza%C3%A7%C3%A3o
- Habilitar virtualização na VM: https://wiki.projetoroot.com.br/index.php?title=VirtualBox#Habilitar_Virtualiza.C3.A7.C3.A3o
Vídeos
- Instalando VirtualBox
- Criando Máquinas Virtuais
- Instalando Adicionais de Convidados
- Configurações Intermediarias no VirtualBox
- Uso de Templates
- Uso de Snapshots
- Redes no VirtualBox
- Utilizando CLI no VirtualBox
Documentação: https://wiki.projetoroot.com.br/index.php?title=VirtualBox#VirtualBox_por_Shell
- Scripts para VirtualBox
Documentação: https://wiki.projetoroot.com.br/index.php?title=VirtualBox#Scripts
- Servidor VirtualBox
- RemoteBox e AutoStart - Vídeo Extra
Site
Instalando Guest Additions
- Ubuntu/Linux Mint/Debian
apt-get install build-essential dkms linux-headers-$(uname -r)
- CentOS
dnf install epel-release && dnf install gcc make perl kernel-devel kernel-headers bzip2 dkms
Adicionar a ISO de Guest Additions na VM e fazer a instalação conforme o vídeo em: https://youtu.be/BpuRO0AyDkE
VirtualBox por Shell
Listar VMs no Host
* vboxmanage list vms
Exemplo:
vboxmanage list vms
Descobrir informações das VMS
* vboxmanage showvminfo
Exemplo:
vboxmanage showvminfo Linux\ Mint.vbox --machinereadable
Iniciar VM (VirtualBox) por Shell
* vboxmanage startvm /caminho_das_vms/grupo_vm/nome_vm/vm.vbox
Exemplo:
vboxmanage startvm /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox
Desligar VM (VirtualBox) por Shell
* vboxmanage controlvm nome_da_VM poweroff
Exemplo:
vboxmanage controlvm Linux\ Mint poweroff
Iniciar VM (VirtualBox) por Shell em Background (segundo plano)
* vboxheadless -s /caminho_das_vms/grupo_vm/nome_vm/vm.vbox
Exemplo:
vboxheadless -s /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox
Iniciar VM (VirtualBox) por UUID
Exemplo:
vboxheadless -s d8cf16f5-c070-4d86-9468-056d919ede2b
Criar Snapshot
* vboxmanage snapshot
vboxmanage snapshot /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox take BASE
Deletar SnapShot
vboxmanage snapshot /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox delete BASE
Restaurar SnapShot
vboxmanage snapshot /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox restore BASE
Clonar VM
* vboxmanage clonevm
vboxmanage clonevm /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox --name="Linux_MINT-001" --register --mode=all
Modificar VM
* vboxmanage modifyvm
Habilitar Virtualização
- Uso do parâmetro --nested-hw-virt on habilita
- Para desabilitar --nested-hw-virt off
vboxmanage modifyvm /home/diegocosta/VirtualBox\ VMs/POC\Linux\ Mint/Linux\ Mint.vbox --nested-hw-virt on
Adicionar em um Grupo
vboxmanage modifyvm /home/diegocosta/VirtualBox\ VMs/POC/Linux\ Mint/Linux\ Mint.vbox --groups "/testes"
Retornar ao padrão
vboxmanage modifyvm /home/diegocosta/VirtualBox\ VMs/testes/Linux\ Mint/Linux\ Mint.vbox --groups ""
Scripts
Realizar a criação de Shell Script para gerenciar máquinas virtuais, criar VMs e clonar templates. Este método permite que possamos ter uma infra de modo ágil, assim incentivando a cultura DevOps,sendo possível compreender o raciocínio lógico por trás de um simples script, sendo este, um ponto de início para o desenvolvimento de outros scripts mais complexos.
Script 01
- Criando uma VM básica sem template.
#!/bin/sh # Como funciona o script # Script deve estar em /home/"USER"/VirtualBox VMs/ "Caso contrário vai criar as VMS onde estiver" # ./vm.sh NOME_VM TIPO_VERSAO MEMORIA DISCO CAMINHO/ISO.iso "Explicando como executar" # ./vm.sh vm1 Debian_64 1024 32000 /home/diegocosta/Downloads/debian-10.iso # Variaveis "($1 Nome da VM, $2 Tipo do SO, $3 Memoria, $4 HD, $5 Caminho da ISO, Caminho da maquina .vdi - Virtual Disk Image, IFACE1=Interface com fio, IFACE2=Interface sem fio)" VM_NAME=$1 OS_TYPE=$2 MEMORY_SIZE=$3 HDD_SIZE=$4 DVD_PATH=$5 HDD_PATH=$VM_NAME/$VM_NAME.vdi IFACE1=enps0 IFACE2=wlp3s0 # Criando a VM e definições de Hardware virtual "podem ser ajustados conforme necessidade" VBoxManage createvm -name $VM_NAME -ostype $OS_TYPE --register VBoxManage modifyvm $VM_NAME \ --memory $MEMORY_SIZE \ --vram 16 \ --pae off \ --rtcuseutc on \ --nic1 bridged --bridgeadapter1 $IFACE1 \ --nic2 bridged --bridgeadapter2 $IFACE2 \ --mouse usbtablet \ --usb on \ --usbehci on \ --acpi on \ --apic on \ --autostart-enabled on \ --graphicscontroller vmsvga # Cria arquivo vdi no caminho e tamanho informados no shell, faz a identificação de IDE e SATA e por último adiciona na VM (Attached) VBoxManage createvdi --filename $HDD_PATH --size $HDD_SIZE VBoxManage storagectl $VM_NAME --name "IDE Controller" --add ide VBoxManage storagectl $VM_NAME --name "SATA Controller" --add sata VBoxManage storageattach $VM_NAME --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium $DVD_PATH VBoxManage storageattach $VM_NAME --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium $HDD_PATH # Inicializar a VM criada de modo Headless (Inicialização em background) echo "Iniciar VM em ...3" sleep 1 echo "Iniciar VM em ..2" sleep 1 echo "Iniciar VM em .1" sleep 1 echo "Iniciando" sleep 1 #vboxheadless -s $VM_NAME &
Script 02
- Criando uma ou várias VMs com base em Template existente.
#!/bin/bash # Como funciona o script # Script deve estar em /home/"USER"/VirtualBox VMs/ "Caso contrário vai criar as VMS onde estiver" # ./instanacia.sh NOME_do_Template NR. de instancias Nome do clone "Explicando como executar" # ./instancia.sh Debian-10-Template 2 www-teste # Variaveis "($1 Nome do Template, $2 Número de Instâncias para levantar, $3 Nome da VM clone )" VM_TEMPLATE=$1 LAUNCH=$2 NAME=$3 DATE=`date +%d-%m-%Y-%H.%M.%S` VM_PATH=$VM_TEMPLATE #VM_NAME=$NAME-$DATE VM_NAME=$VM_TEMPLATE-$NAME echo Clonando Template de: $VM_PATH # Criando um contador e utilizando o until, um while invertido, o loop irá repetir enquanto a condição for falsa # Clona template e levanta quantas instâncias solicitadas contador=$LAUNCH until [ $contador -le 0 ] do echo Faltam $contador Instâncias para levantar vboxmanage clonevm $VM_PATH --name="$RANDOM-$VM_NAME" --register --mode=all ((contador=contador-1)) done # Inicializar a VM criada de modo Headless (Inicialização em background) echo "Iniciar VM em ...3" sleep 1 echo "Iniciar VM em ..2" sleep 1 echo "Iniciar VM em .1" sleep 1 echo "Iniciando" sleep 1 #vboxheadless -s $VM_NAME &
Server VirtualBox - CentOS 8
- Desativar SeLinux e Firewalld
nano /etc/selinux/config 'disabled'
systemctl disable firewalld systemctl stop firewalld
- Epel Repositório
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm yum update && yum install -y kernel-devel-$(uname -r) kernel-headers gcc make perl wget binutils kernel-devel libgomp patch gcc glibc-headers glibc-devel dkms httpd php php-soap php-xml php-json wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo yum update
- Para VirtualBox 5.2
yum install -y VirtualBox-5.2 wget https://download.virtualbox.org/virtualbox/5.2.38/Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.38.vbox-extpack
- Para VirtualBox 6.1
yum install -y VirtualBox-6.1 wget https://download.virtualbox.org/virtualbox/6.1.4/Oracle_VM_VirtualBox_Extension_Pack-6.1.4.vbox-extpack VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.4.vbox-extpack
- Ajustes
echo "VBOXWEB_USER=vbox" > /etc/default/virtualbox echo "VBOXWEB_HOST=localhost" >> /etc/default/virtualbox useradd vbox passwd vbox wget https://github.com/phpvirtualbox/phpvirtualbox/archive/master.zip unzip master.zip -d /var/www/html/ cd /var/www/html/ mv phpvirtualbox-master/* . rm -rf phpvirtualbox-master/ cp /var/www/html/config.php-example /var/www/html/config.php chown vbox:vboxusers /var/www/html -R nano /var/www/html/config.php var $username = 'vbox'; var $password = 'PASSWORD'; var $vrdeaddress = 'IP_SERVER'; var $consoleHost = 'IP_SERVER'; var $enableAdvancedConfig = true; systemctl enable vboxweb-service.service systemctl start vboxweb-service.service
AutoStart
nano /etc/default/virtualbox VBOXAUTOSTART_DB="/var/lib/virtualbox-autostart" VBOXAUTOSTART_CONFIG="/etc/default/vb-autostart-perms"
nano /etc/default/vb-autostart-perms default_policy = allow
chmod 0644 /etc/default/vb-autostart-perms chown vbox:vboxusers /etc/default/vb-autostart-perms
mkdir -p /var/lib/virtualbox-autostart chmod 1777 /var/lib/virtualbox-autostart chown vbox:vboxusers /var/lib/virtualbox-autostart
su vbox VBoxManage setproperty autostartdbpath /var/lib/virtualbox-autostart
systemctl enable vboxautostart-service systemctl start vboxautostart-service
vboxmanage import Debian10-Template.ova --vsys 0 --vmname Debian10-Template vboxmanage modifyvm Debian10-Template --autostart-enabled on
RemoteBox
- Ajustar o host
nano /etc/default/virtualbox VBOXWEB_HOST=IP_DO_SERVER ex: (192.168.201.104)
- Instalar as dependências (ver documentação)
http://remotebox.knobgoblin.org.uk/docs/remotebox.pdf
- Download da versão atual ou conforme a versão do VirtualBox instalado
http://remotebox.knobgoblin.org.uk/?page=downloads
Modificar o Disco
* Alterar o tamanho de uma unidade no VirtualBox depois de já criado o disco
- 1 - Desligar a máquina virtual
- 2 - Logar como root no computador local
- 3 - Executar o comando vboxmanage conforme o exemplo
EXEMPLO:
- Linux
vboxmanage modifyhd /home/diegocosta/VirtualBox VMs/Projeto Root/Windows_XP.vdi --resize 30720
- Windows
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifymedium disk "c:\Users\usuário\VirtualBox VMs\VM\DISCO.vdi" --resize 41920
Explicação:
- vboxmanage # comando para gerenciamento do virtualbox;
- modfyhd # parâmetro usado para modificar o disco;
- modfymedium disk # parâmetro usado para modificar o disco;
- /home/....../nome_do_host.vdi # caminho de onde se localiza o disco (vdi) da máquina a ser alterada;
- --resize # parâmetro que informa que é para redimensionar;
- 30720 # valor em Mbytes que será aplicado (30 GB).
Converter VMDK to VDI
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd "c:\Users\USUARIO\VirtualBox VMs\VM\DISCO.vmdk" "c:\Users\USUARIO\VirtualBox VMs\VM\DISCO.vdi" --format vdi
Converter VDI to VMDK
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe clonehd "c:\Users\USUARIO\VirtualBox VMs\VM\DISCO.vdi" "c:\Users\USUARIO\VirtualBox VMs\VM\DISCO.vmdk" --format vmdk
Download do Gparted
https://sourceforge.net/projects/gparted/files/gparted-live-stable/1.3.0-1/gparted-live-1.3.0-1-i686.iso