Arquivo

Posts Tagged ‘I82078’

Criando e admistrando maquinas virtuais do Virtual Box com o VBOXMANAGE

quinta-feira, setembro 5, 2013 - 14:16 Deixe um comentário

Olá!

No texto de hoje iremos ver como criar maquinas virtuais no Virtual Box através de linha de comando.

Por que criar maquinas virtuais através da linha de comando? A resposta mais curta é a de agilizar a criação de múltiplas maquinas virtuais, pois somente através da linha de comando podemos realizar a construção do ambiente virtual através de um arquivo de lotes (BAT, Shell script e etc). Além dessa reposta também podemos melhor gerenciar os snapshots e tos as outras demais funções que o Virtual Box possui.

O que é o VBOXMANAGE?

Ele é a interface que através de linha de comando é capaz de gerenciar todas as funcionalidades do Virtual Box e algumas que ainda não estão disponíveis na interface gráfica. Antes de criarmos a nossa primeira maquina virtual devemos utilizar o comando

vboxmanage list ostypes

O comando acima lista todos os sistemas operacionais suportados pelo Virtual Box. Exemplo da saída abaixo.

Captura de tela de 2013-09-04 12:31:41

Então vamos a criação da primeira maquina virtual.

vboxmanage createvm --name 'SERVER1' --ostype Windows2008_64 –register

Descrição:

  • createvm: opção utilizada que determina que uma maquina virtual será criada;

  • –name: comando que indica qual será o nome da maquina virtual, no exemplo SERVER1;

  • –ostype: comando que indica o sistema operacional utilizado pela maquina virtual, no exemplo é utilizado o Windows Server 2008 64 bits (Windows2008_64);

  • –register: comando para registar a maquina virtual na console do Virtual Box e que torna possível a gerência da mesma através da linha de comando.

Quando uma maquina virtual é criada é gerado um identificado único para ela o UUID, para se ter a lista de todas as maquinas virtuais registradas temos o comando

vboxmanage list vms 

Após a criação da maquina virtual devemos alterar algumas configurações básicas da maquina virtual, como por exemplo a quantidade de memória RAM e memória VRAM (memória de vídeo), placa de rede e outras configurações atreladas a BIOS, rede e periféricos básicos.

No exemplo abaixo demonstro como configurar a quantidade de RAM, VRAM e duas placas de rede.

vboxmanage modifyvm 'SERVER1' --memory 2080 --vram 32 --nic1 intnet --nic2 intnet --cableconnected1 on --cableconnected2 on

Descrição:

  • modifyvm: opção para modificar as configurações de BIOS e hardware das maquinas virtuais do Virtual Box, a opção modifyvm pode receber além do nome da maquina virtual também o UUID;

  • –memory: é o comando que determina a quantidade de memória RAM a maquina virtual terá;

  • –vram: determina a quantidade de memória de vídeo que a maquina virtual terá;

  • –nic<1-8>: o comando nic indica qual será a placa de rede configurada (varia de 1 até 8) e qual será o seu estado que pode ser:

    • none – sem placa de rede;

    • null – adaptador não conectado;

    • nat – em modo NAT;

    • bridged – em modo ponte;

    • intnet – rede interna (comunicação entre as maquinas virtuais e o GNS3);

    • hostonly – somente hospedeiro;

  • –cableconnected<1-8>: o comando cableconnected determina que o cabo estará conectado a placa de rede, possuindo os seguintes status:

    • on – indica que o cabo de rede esta conectado

    • off – indica que o cabo de rede esta desconcetado

Outro comando interessante sobre as placas de rede é a possibilidade de alterar a velocidade de operação da placa que é través do comando nicspeed.

vboxmanage modifyvm 'SERVER1' --nicspeed1 1000000

Descrição:

  • nicspeed<1-8>: o comando utilizado para determinar a velocidade de operação da da placa de rede, o valor possível deve estar no intervalo de 1 até 3999999999 kbps

Agora iremos realizar as configurações relacionadas a armazenamento que é a criação da controladora de unidades, criação de discos rígidos e unidades de DVD-ROM. Assim como a montagem dos mesmos nas controladoras.

Criando a controladora

vboxmanage storagectl 'SERVER1' --name sata --add sata --sataportcount 2 --bootable on

 Descrição:

  • storagectl: opção para indicar que vamos trabalhar na controladora de armazenamento, seguido pelo nome ou UUID da maquina virtual que iremos adicionar ou remover a controladora de armazenamento;

  • –name: nome pelo qual a controladora será identificada (livre escolha);

  • –add: comando para adicionar o tipo de interface que a controladora irá utilizar, abaixo segue uma lista com os tipos de controladoras possíveis

    • ide
    • sata
    • scsi
    • floppy
    • sas
  • –sataportcount: comando que determina a quantidade de portas a controladora terá o intervalo é de 1 até 30 portas;

  • –bootable: comando que indica se a controladora é inicializável ou não;

Para remover uma controladora:

vboxmanage storagectl 'SERVER1' --name nome-da_controladora --remove

Para especificar um determinado tipo de controladora temos a seguinte sintaxe:

vboxmanage storagectl 'SERVER1' --name sata --add sata --controller IntelAHCI --sataportcount 2 --bootable on 

Descrição:

  • –controler: comando que determina o tipo de controladora que será utilizada, caso esse comando seja suprimido a controladora será escolhida de acordo com o tipo de interface escolhida no comando –add.

    • LSILogic
    • LSILogicSAS
    • BusLogic
    • IntelAHCI
    • IIX3
    • PIIX4
    • ICH6
    • I82078

 Agora que temos a controladora vamos criar os discos rígidos

vboxmanage createhd --filename 'SERVER1' --size 25600 --format VHD --variant Fixed

 Descrição:

  • createhd: é a opção que indica que iremos criar um disco rígido virtual (VHD);

  • –filename: é o comando onde apontando o nome do arquivo do disco rígido virtual;

  • –size: determinamos o tamanho do disco rígido virtual dentro da maquina virtual, esse tamanho será o mesmo do arquivo caso seja criado com o valor Fixed no comando –variant

  • –format: onde indicaremos o formado de arquivo para o disco rígido virtual, que podem ser os listados abaixo, sendo o padrão o VDI

    • VDI

    • VMDK

    • VHD

  • –variant: o comando indica como será criado o arquivo de disco, ou seja, se ele terá o tamanho fixo, variável, dividido a cada dois gigabytes e etc., os valores possíveis são:

    • Standard

    • Fixed

    • Split2G,

    • Stream,

    • ESX

Observação: Você deve se atendar ao diretório em que você esta trabalhando na hora da criação dos discos porque o arquivo será criado no diretório atual. A não ser que você indique no comando —filename o cominho completo para a criação do disco virtual.

 Agora que já temos a controladora e o disco, com o comando abaixo iremos adicionar o disco a controladora.

vboxmanage storageattach 'SERVER1' --storagectl sata --port 0 --type hdd --medium /media/VM1/Virtual Box/vhd/server/SERVER1.vhd --mtype normal

 Descrição:

  • storageattach: é a opção que indica que iremos adicionar uma ou mais unidades de disco e ou DVD a uma controladora da maquina virtual;

  • –storagectl: com esse comando iremos determinar qual controladora iremos utilizar no exemplo será a controladora sata

  • –port: qual das portas irá receber a nova unidade

  • –type: determinamos qual será o tipo de media que iremos adicionar a essa controladora, que pode ser:

    • dvddrive

    • hdd

    • fdd

  • –medium: aqui iremos apontar o arquivo de media, media física, driver vazio e etc, os valore suportados são:

    • none

    • emptydrive

    • additions

    • uuid/filename

    • host:<drive:>

    • iscsi

  • –mtype: determinamos se a unidade adicionada será do tipo de somente leitura, de leitura e escrita, compartilhada e etc. Segue uma breve lista com explicações sobre cada um dos tipos de medias suportadas pelo Virtual Box

    • normal – disco gravável, padrão para discos rígidos

    • writethrough – Esse tipo de disco não é afetado por snapshots

    • immutable – o tipo de media immutable cria um disco chamado diferencial para cada maquina virtual que possui acesso ao disco, ou seja, não há escrita acontecendo diretamente no disco que foi montado como immutable, todo o processo de escrita é realizado no disco diferencial e toda vez que uma maquina virtual é desliga o disco diferencial é apagado e a maquina virtual volta acessar o disco original. E em virtude desse comportamento não pode ser utilizada para cluster.

    • shareable – similar aos discos do tipo writethrough ele não é afetado por snapshots a primcipal diferença desse tipo de disco é que ele pode ser adicionado a várias maquinas virtruais ao mesmo tempo dando ao disco uma funcionalidade similar a uma storage ligada a um cluster de servidores.

    • readonly – Utilizado apenas para criação de imagens de DVD-ROM e CD-ROM que por definição são apenas leitura.

    • multattach – possui as mesmas características da imagem immutable a única diferença é que quando uma maquina virtual e desliga o disco diferencial não é zerado.

E a linha abaixo estamos adicionando a unidade de DVD-ROM

vboxmanage storageattach 'SERVER1' --storagectl sata --port 1 --type dvddrive --medium emptydrive

Um script completo para criação de uma maquina virtual teria o seguinte formato:

vboxmanage createvm --name 'SERVER1' --ostype Windows2008_64 –register
vboxmanage modifyvm 'SERVER1' --memory 2080 --vram 32 --nic1 intnet --nic2 intnet --cableconnected1 on --cableconnected2 on --nicspeed1 1000000 --nicspeed2 1000000
vboxmanage storagectl 'SERVER1' --name sata --add sata --sataportcount 2 --bootable on
vboxmanage createhd --filename 'SERVER1' --size 25600 --format VHD --variant Fixed
vboxmanage storageattach 'SERVER1' --storagectl sata --port 0 --type hdd --medium SERVER1.vhd --mtype normal
vboxmanage storageattach 'SERVER1' --storagectl sata --port 1 --type dvddrive --medium emptydrive
vboxmanage modifyvm 'SERVER1' --groups "/SERVIDORES"