VirtualBox: mudanças entre as edições
(→Vídeos) |
|||
Linha 22: | Linha 22: | ||
https://youtu.be/96eTyAJhYMA | https://youtu.be/96eTyAJhYMA | ||
Documentação: https://wiki.projetoroot.com.br/index.php?title=VirtualBox#VirtualBox_por_Shell | |||
Edição das 08h02min de 7 de abril de 2020
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.
Vídeos
- Uso de Templates
- Uso de Snapshots
- Redes no VirtualBox
- Utilizando CLI no VirtualBox
https://youtu.be/96eTyAJhYMA Documentação: https://wiki.projetoroot.com.br/index.php?title=VirtualBox#VirtualBox_por_Shell
- Scripts para VirtualBox
- Servidor VirtualBox
Site
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
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 &
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
http://downloads.sourceforge.net/gparted/gparted-live-0.23.0-1-i586.iso