Como montar imagem VDI (VirtualBox) no Linux

Usei neste artigo o Slackware 13.1-x86_64 kernel 3.2.0 Multilib. Creio que deve funcionar normalmente para qualquer distribuição com os pacotes necessários instalados.

[ Hits: 17.714 ]

Por: krum em 25/01/2012


Curiosidade



Trabalhando com meu Linux, me deparei com o seguinte problema: ter que ligar minha máquina virtual para copiar pelo Samba/NFS os arquivos que estavam nos sistemas Linux e Windows virtualizados.

Como eram arquivos que precisavam de acesso rápido, ou fazer alguma modificação com o sistema desligado “= Runlevel 0 = halt” (pois faço Beta testes em máquinas virtuais para evitar problemas nos servidores reais).

Com isto, me veio a ideia: será que tem como montar imagens do VirtualBox (.vdi) no Linux?

Eis a resposta para quem usa Linux: Sim, tem como.

Com muitas pesquisas e testes, chegamos a conclusão que funciona.
Vamos para o que interessa.

Download e Compilação

- Baixar os arquivos necessários para realizar o procedimento

Crie uma pasta "nbd":

mkdir nbd

Entre na pasta:

$ cd nbd

Faça download dos pacotes

- QEMU:

wget http://connie.slackware.com/~alien/slackbuilds/qemu-kvm/pkg64/13.1/qemu-kvm-0.14.0-x86_64-1alien.tgz

- VDE:

wget http://connie.slackware.com/~alien/slackbuilds/vde/pkg64/13.1/vde-2.3.1-x86_64-1alien.tgz

- NBD:

No caso do NBD, tive que compilar para a arquitetura do meu processador, pois não encontrei o '-x86_64', só 'i486'.

Baixando os arquivos necessários para compilar o NBD:

wget http://connie.slackware.com/~alien/slackbuilds/nbd/build/nbd-2.9.2.tar.gz

Instalando os "tgz":

# installpkg *.tgz

Descompactando e compilando o NBD:

tar -zxvf nbd-2.9.2.tar.gz

Entrar no pacote pra compilar:

cd nbd-2.9.2

Compilando para '-x86_64':

./configure LDFLAGS="-L/usr/lib64" --libdir=/usr/lib64

Depois:

make

Se depois do comando 'make', você encontrar um resultado parecido com este abaixo:
make all-am
make[1]: Entering directory `/root/Downloads/nbd/nbd-2.9.2'
if gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -MT nbd-client.o -MD -MP -MF ".deps/nbd-client.Tpo" -c -o nbd-client.o nbd-client.c; \
then mv -f ".deps/nbd-client.Tpo" ".deps/nbd-client.Po"; else rm -f ".deps/nbd-client.Tpo"; exit 1; fi nbd-client.c:19:22: error: asm/page.h: No such file or directory
make[1]: *** [nbd-client.o] Error 1
make[1]: Leaving directory `/root/Downloads/nbd/nbd-2.9.2'
make: *** [all] Error 2

Edite o arquivo "nbd-client.c":

mcedit nbd-client.c

Ou:

vi nbd-client.c

Remova a linha:

# include asm/page.h

Depois rode o 'make' novamente:

make

Se tudo correr bem, rode o 'make instal'l:

sudo make install
    Próxima página

Páginas do artigo
   1. Curiosidade
   2. Carregando o módulo e montando a imagem
Outros artigos deste autor

Snort + BarnYard2 + Snorby no Slackware 14.1

Leitura recomendada

Replicando e distribuindo armazenamento de arquivos através de quatro servidores usando Cluster (GlusterFs) no Debian Lenny

ISCSI - Um sistema de transferência de arquivos diferente

Cotas de Disco

Esquemas de particionamento e sistemas de arquivos

Usando partições e sistemas de arquivos

  
Comentários
[1] Comentário enviado por valter.vieira em 25/01/2012 - 17:56h

Parabéns pelo, artigo irei testar sempre tenho que utilizar o Samba quando estou precisando utilizar e transferir arquivos entre as maquinas virtuais.

[2] Comentário enviado por vinyanalista em 27/01/2012 - 00:42h

Bem, já que você pediu sugestões, não vou me incomodar em ser sincero, rsrsrsrs.

Me interessei bastante pelo seu artigo quando li o título, sinto que ele agilizaria minha vida enquanto uso minhas máquinas virtuais, e por isso vou testá-lo depois no meu Debian. Aliás, sempre me perguntei se era possível acessarmos discos rígidos virtuais da mesma forma como fazemos com imagens de CD, mas ainda não tinha ouvido falar a respeito, você é a primeira pessoa que me traz essa informação!

Utilizo VirtualBox, sei o que é um VDI, o que é o QEMU, o que são a maioria desses utilitários que você usou, como o mkdir, wget, make, etc., acho que já vi o nome VDE em algum lugar... mas eu apreciaria uma explicação: o que é o NBD? Pelo que eu entendi, ele deve ser quem faz a mágica da montagem, né? Já que você inseriu um módulo dele no kernel... O VDE tem alguma participação nisso também, sabe dizer? (leve à mal não, mal de quem é curioso querer saber)

Ah, e onde você descobriu isso tudo? Cite suas fontes! ;)

Abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts