Atualmente é bem comum nos depararmos com um cenário onde os servidores não possuem ambiente gráfico instalado. Neste caso, saber se virar bem no shell é uma arte importante, que deve ser aperfeiçoada a cada dia que passa.

Neste post, mostrarei como fazer tarefas simples no VirtualBox através de sua interface por linhas de comando (pela falta de uma interface gráfica ou porque você só quer executar tarefas via SSH em uma VM, e nada de mais).

Antes de qualquer coisa, você deve saber quais são os nomes (ou o UUID - Identificador) das VMs que estão no servidor:

Tanto no Windows, quanto no Linux ou no Mac OS X, os comandos são os mesmos. Entretanto, no Windows você deverá ajustar o PATH para a inclusão dos executáveis do VirtualBox. Veja um exemplo de como fazer isto neste post.

Antes de mais nada, é necessário sabermos a versão do VirtualBox que está rodando no sistema. Para isso, execute:

$ VBoxManage -v

Para saber que VMs podem ser gerenciadas, execute:

$ VBoxManage list vms

Serão mostradas as seguintes informações: "Nome da VM" e UUID. Em meu caso (Linux), o resultado deste comando foi:

$ VBoxManage list vms
Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
(C) 2005-2010 Oracle Corporation

All rights reserved. "Zimbra" {33917a83-0a89-4438-b879-22900c875a8d} "BSD8" {fb803722-b353-4189-becc-e90cbdfba60d} "Horde - TESTE" {20457621-5ced-49e4-bda2-0d5cf7db754c} "Horde - Ubuntu" {c456cb2c-df78-4612-8fef-9e2fd390af08} "POC - EXO" {872c0ed9-c9ab-42b3-8613-87f1e337ce94} "TEMP - CentOS" {ce322164-7113-4782-a637-62da1480b4ec} "CentOS - ZCS + LDAP" {b69e72a6-9c88-4917-a179-145eb846858a}

Com essas informações em mãos, vamos aos trabalhos:

  1. Para visualizar as VMs em execução:
    $ VBoxManage list runningvms
    Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
    (C) 2005-2010 Oracle Corporation
    All rights reserved.
    
    "CentOS - ZCS + LDAP" {b69e72a6-9c88-4917-a179-145eb846858a}
    "ZCS + UBUNTU" {c136decd-5cd8-4ddd-8f20-299f88834d0f}
    
  2. Para iniciar uma VM:
    $ VBoxManage startvm "nome_da_vm"
    

    Também é possível rodar o "startvm" passando o UUID da VM. Veja a incialização da VM "Horde - Ubuntu" através de seu UUID:

    $ VBoxManage startvm c456cb2c-df78-4612-8fef-9e2fd390af08
    Oracle VM VirtualBox Command Line Management Interface Version 3.2.12
    (C) 2005-2010 Oracle Corporation

    All rights reserved. Waiting for the VM to power on... VM has been successfully started.

  3. Para parar uma VM:
    $  VBoxManage controlvm "nome-da-vm" poweroff
    

    Caso a VM esteja com os Guest Additions instalados, o comando a seguir fará o desligamento via ACPI (mais recomendado que o poweroff).

    $ VBoxManage controlvm "CentOS - ZCS + LDAP" acpipowerbutton
    
  4. Verificar as informações de uma VM:
  5. $  VBoxManage showvminfo "nome da vm"
    

Nos próximos posts, vamos nos aprofundar mais no VirtualBox pela linha de comando, vendo opções como criar/configurar/deletar uma VM, gerenciar os discos e outras opções menos conhecidas desse sistema.