Instantâneo Virtual

Propaganda
Importação, exportação e snapshots com o VirtualBox
CAPA
Instantâneo
Virtual
Dois recursos poderosos dos sistemas de virtualização são
a capacidade de importar e exportar máquinas virtuais, e
a criação de snapshots, verdadeiras “cópias” do estado
da máquina virtual em um determinado momento.
por Luciano Siqueira e Rafael Peregrino da Silva
D
iferentemente dos sistemas
operacionais instalados do
modo tradicional, nos quais
a atualização de componentes de
hardware ou a migração para outra
máquina pode gerar complicações,
migrar uma máquina virtual para outro computador é um procedimento
trivial. Além dessa facilidade, o VirtualBox oferece o recurso chamado
snapshot, em que o estado de uma
máquina pode ser preservado e restaurado posteriormente.
Importação
e exportação
O VirtualBox é capaz de importar
e exportar máquinas virtuais desde
sua versão 2.2. O formato utilizado
é o OVF – Open Virtualization Format – padrão também utilizado por
outras soluções de virtualização. No
VirtualBox, os procedimentos de
importação e exportação podem ser
efetuados tanto pela interface gráfica
quanto via linha de comando.
Entre as principais finalidades
da importação/exportação de máquinas virtuais está a distribuição
de sistemas pré-instalados com um
44
propósito específico, conhecidos
pelo termo appliances virtuais. Uma
máquina virtual exportada como
OVF inclui tanto o dispositivo de
armazenamento quanto as configurações básicas da máquina. O
sistema operacional e os aplicativos
pré-instalados podem ser utilizados
logo após a importação da máquina virtual, justamente como ocorre
com appliances físicos.
Um appliance no formato OVF é
dividido em dois arquivos: A imagem
de armazenamento (nos formatos
VDI, VMDK ou VHD) e as configurações básicas da máquina virtual,
descritas no formato XML.
Exportação de VM
Para exportar uma máquina virtual,
basta ir até o menu Arquivo e clicar
no item Exportar Appliance. O programa abre o Assistente de Exportação
de Appliance (figura 1), que permite
escolher uma ou mais máquinas virtuais existentes para exportação em
um único appliance.
Após escolher a máquina a ser
exportada, o assistente alterna para
uma tela de configuração (figura 2),
na qual podem ser fornecidas diversas
informações sobre o appliance a ser
criado. As informações não são obrigatórias, mas são importantes para
facilitar sua utilização por terceiros.
Por fim, basta escolher a pasta de
destino onde o appliance será criado. O processo de exportação pode
demorar, dependendo do tamanho
do disco de armazenamento da máquina virtual.
Se o usuário preferir usar a linha
de comando em lugar da interface
gráfica – o que às vezes pode ser uma
necessidade –, é necessário usar o
comando VBoxManage. Assim, para
listar as máquinas virtuais disponíveis
e obter as informações constantes
na interface gráfica do VirtualBox
mostrada na figura 1, é necessário
executar o comando mostrado na
listagem 1.
Para identificar quais máquinas
estão atualmente em execução, utiliza-se o mesmo comando list, mas
com o argumento runningvms:
$ VBoxManage list runningvms
VirtualBox Command ...
...
“Fedora” {9a5b88db-24...94cdbdb854}
“Haiku” {93ed91ba-91...4dcaf0046c2}
http://www.linuxmagazine.com.br
VirtualBox | CAPA
Figura 1O VirtualBox oferece uma interface simples para
exportação de máquinas virtuais.
Caso o subcomando refira-se a
uma máquina virtual específica,
será necessário necessário especificá-la. Existem duas maneiras de
fazê-lo, podendo ser pelo nome
da máquina – colocando-o entre
aspas caso existam espaços nesse
nome – ou por seu UUID, que é
o identificador hexadecimal único para cada máquina virtual, que
aparece ao lado de seus nomes no
código acima.
Por exemplo, para iniciar a máquina virtual chamada Haiku, é utilizado
o subcomando startvm:
$ VBoxManage startvm Haiku \
--type headless
A opção --type headless determina que a máquina não exibirá sua
saída de monitor numa janela. Esse
é o comportamento indicado para
máquinas virtuais que atuam como
servidores, haja vista que mesmo servidores tradicionais não permanecem
conectados a monitores ou teclado,
sendo acessados e controlados apenas pela rede.
Por fim, para exportar uma determinada máquina – por exemplo, a
máquina de nome Fedora – através
Linux Magazine #65 | Abril de 2010
Figura 2O Formato OVF oferece vários campos de
descrição para máquinas exportadas.
da linha de comando, utiliza-se a
seguinte sintaxe:
$ VBoxManage export Fedora \
--output Meu_Fedora.ovf
Ou, usando a forma reduzida da
opção --output:
$ VBoxManage export Fedora \
-o Meu_Fedora.ovf
É importante lembrar que o
formato OVF não é capaz de armazenar todos os detalhes de uma
máquina virtual. Enquanto todas as
informações do sistema operacional nela instalado são preservadas,
alguns aspectos não poderão ser
exportados. É o caso das definições
para a(s) interface(s) virtual(is) de
rede e eventuais snapshots, que serão incorporados à imagem única
a ser exportada.
Importação de VM
Para importar uma máquina virtual,
vá até o item Importar Appliance no
menu Arquivo. Escolha o arquivo
OVF correspondente à máquina
virtual a ser importada.
Se a máquina virtual puder ser
importada, será exibida uma tela semelhante à da figura 3. Ali constam
as definições presentes no arquivo
XML com as configurações da máquina virtual. É possível fazer as alterações necessárias com um clique
Listagem 1: VBoxManage list
$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.1.2
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
“Windows XP” {ca0f3bdf-2203-46a9-a852-7e9aad050427}
“Fedora” {9a5b88db-2411-46b2-b4b0-6494cdbdb854}
“Ubuntu” {0ca0b7da-bffb-436a-a41d-709d1af647ed}
“Haiku” {93ed91ba-910f-42b0-bbc3-14dcaf0046c2}
“Windows Vista” {1e8f0431-dea0-4659-92ca-a59c74e5391f}
45
CAPA | VirtualBox
Naturalmente, todas essas operações podem também ser acionadas
utilizando o comando VBoxManage. A
opção utilizada para todos eles é a
controlvm, que tem a seguinte sintaxe:
$ VBoxManage controlvm \
Ubuntu savestate
Figura 3Detalhes da máquina virtual podem ser alterados durante a importação.
duplo sobre o item desejado. Ao
clicar em Importar, uma nova máquina virtual será criada com essas
definições e a imagem de armazenamento copiada. Ao término do
processo de importação, a máquina
estará disponível para uso.
Da mesma forma, pode-se importar a máquina virtual via linha de
comando, novamente utilizando o
comando VBoxManage:
$ VBoxManage import Meu_Fedora.ovf
Salvar o estado
O VirtualBox oferece ao usuário
que encerra uma máquina virtual
a possibilidade de salvar o estado
em execução para resgate futuro,
semelhante à hibernação em uma
Figura 4Ao fechar a janela da máquina virtual, pode-se salvar
o estado da máquina.
46
máquina convencional. Para isso,
em vez de desligar a máquina virtual
pelos meios do sistema operacional
virtualizado, basta fechar a janela
correspondente à máquina virtual.
Tão logo isso seja feito, o VirtualBox apresentará a janela mostrada
na figura 4.
Ao escolher a opção Salvar o
estado da máquina, o VirtualBox
congelará o estado atual de execução. Isso significa que, ao iniciar
novamente essa mesma máquina
virtual, será recuperado o exato
momento em que a máquina virtual foi fechada.
A opção Envia o sinal de desligamento provoca o efeito análogo ao
de apertar o botão de desligamento
em uma máquina convencional, ou
seja, envia ao sistema hóspede o sinal
ACPI de desligamento. Isso solicita
ao sistema operacional virtualizado
o desligamento imediato (ou dentro
de 60 segundos, no caso de algumas
distribuições GNU/Linux).
Já a opção Desligar a máquina é
a mais radical das três. Ela é equivalente a desplugar da tomada uma
máquina tradicional. Isso significa
que o sistema operacional não será
desligado corretamente, o que pode
provocar inconsistências nos dados.
Assim, o comando acima salva o
estado da máquina virtual de nome
Ubuntu. O mesmo pode ser feito
para todas as operações descritas acima, usando para isso os comandos
acpipowerbutton e poweroff no lugar
de savestate.
Se não houver mais interesse em
manter o estado previamente gravado, selecione a máquina virtual
na tela principal do VirtualBox e
clique no botão Descartar, na barra superior da janela. O mesmo
efeito é conseguido simplesmente
desligando a máquina a partir do
sistema operacional virtualizado.
A seguinte sintaxe é usada para o
comando VBoxManage para se efetuar
essa operação:
$ VBoxManage discardstate Ubuntu
Snapshots
O recurso de snapshots torna possível a uma mesma máquina virtual
armazenar diferentes estados de execução. Desta forma, uma eventual
complicação no sistema operacional virtualizado pode ser descartada
simplesmente revertendo a máquina
para um estado – daí o termo “snapshot”, que significa “instantâneo”
em inglês – anterior, em que tudo
funcionava corretamente.
Os snapshots podem ser administrados na parte direita da janela principal do VirtualBox, na aba
Snapshots. O estado atual representa
o tempo presente do sistema operacional virtualizado. Os snapshots
são criados a partir do estado atual
da máquina virtual.
http://www.linuxmagazine.com.br
VirtualBox | CAPA
Criação
Existem duas maneiras de criar um
snapshot: com a máquina virtual
desligada e com a máquina virtual
em funcionamento. Na primeira,
basta ir até a aba Snapshots na janela principal do VirtualBox (figura 5) e clicar no ícone de uma
câmera fotográfica (ou clicar com
o botão direito do mouse sobre o
estado atual e em seguida no item
Criar snapshot).
Se a máquina virtual estiver em
funcionamento, vá até o menu Máquina da janela da máquina virtual e
escolha o item Criar snapshot.
Em ambos os casos, será solicitado
um nome para o snapshot. O nome é
útil especialmente nos casos em que
diversos snapshots serão criados para
uma mesma máquina virtual. Por
exemplo, é possível criar um snapshot
chamado Sistema recém instalado
e um snapshot posterior chamado
Aplicativos adicionais instalados. O
único limite para a criação de snapshots é o espaço em disco disponível
no sistema hospedeiro.
Com o comando VBoxManage, basta digitar:
$ VBoxManage snapshot take \
Ubuntu --description \
“Ubuntu 25/03/2010 18:00”
Restauração
Com a máquina virtual desligada,
qualquer snapshot previamente salvo pode ser restaurado. Os snapshots
oferecem uma maneira de avançar
e retroceder na linha do tempo do
sistema operacional virtualizado. Ao
restaurar um snapshot, o estado atual
da máquina é descartado e o sistema
operacional retorna ao momento em
que o snapshot foi criado.
Para restaurar um snapshot, clique sobre ele com o botão direito
do mouse e escolha o item Restaurar Snapshot. Além de restaurar os
dados do sistema operacional virtu-
Linux Magazine #65 | Abril de 2010
Figura 5Os snapshots mantêm diferentes momentos registrados, permitindo
que sejam restaurados.
alizado tais quais eram à época, as
configurações da máquina virtual
que eventualmente tenham sido
alteradas no VirtualBox também
serão restauradas.
Novos snapshots podem ser criados
a partir de snapshots pré-existentes.
Desta forma, é possível criar árvores
alternativas de versões, cada qual
com sua própria história.
Fazendo o mesmo com o comando VBoxManage:
$ VBoxManage snapshot restore \
Ubuntu
Apagamento
Ao apagar um snapshot, nenhuma
alteração é feita ao estado atual da
máquina. Contudo, a restauração do
momento registrado no snapshot em
questão será perdida. A remoção de
snapshots desnecessários é muito útil
para liberação de espaço em disco
no sistema hospedeiro.
Conclusão
A utilização de uma máquina virtual
na forma de um appliance oferece a
desenvolvedores e distribuidores de
software a possibilidade de empacotar soluções e entregá-las prontas ao
consumidor final, sem necessidade
de instalações e configurações complicadas. Além disso, o administrador
pode criar modelos de máquinas
comuns e aplicá-las em diferentes
contextos quando necessário.
O recurso de snapshots potencializa as facilidades trazidas pelos
ambientes virtualizados de teste.
Principalmente ao utilizar softwares experimentais ou realizar testes
de configuração, a possibilidade de
manter versões concorrentes do mesmo sistema agiliza a recuperação de
momentos específicos. n
Gostou do artigo?
Queremos ouvir sua opinião. Fale conosco em
[email protected]
Este artigo no nosso site:
http://lnm.com.br/article/3396
47
Download