Existe uma maneira de usar o VirtualBox sem usar o registro de recursos?

2

Resumo

O VirtualBox parece querer que tudo seja "registrado", o que torna muito mais irritante trabalhar com a linha de comando.

Estou tentando criar um script automatizado que criará, moverá, iniciará, interromperá e destruirá máquinas virtuais e discos virtuais. A exigência de registro complicará a tarefa pelas seguintes razões.

  • deixa informações sobre o estado que podem causar problemas de edição imprevisíveis, fazendo com que os scripts falhem.
  • cria possíveis colisões de espaço de nomes para vários processos, criando VMs com o mesmo nome
  • mover / copiar recursos na mesma máquina é mais complicado porque as referências no registro precisam ser atualizadas
  • copiar recursos (combinação disk + vm) para outra máquina requer reconfiguração assim que eles alcançam sua máquina de destino, e requerem a transferência de metadados extras para fazer a reconfiguração.
  • Se algo inesperadamente falhar e um cancelamento de registro falhar, as informações de configuração que sobraram podem causar problemas em execuções subseqüentes.

Caso de Uso

Meu caso de uso específico é para um servidor de integração contínua que cria e destrói imagens de VMs e de disco potencialmente com o mesmo nome e exigiria mais lógica para lidar com a capacidade do registro.

Exemplo imaginário

Parece que eu deveria poder, por exemplo, usar alguns comandos imaginários e / ou incorretos:

mkdir foobar
customdiskimg_script ./foo/foo.vdi
vboxmanage createvm --name "foo" --ostype Linux --basefolder ./foo/foo.xml
vboxmanage storagectl ./foo/foo.xml --name foo --add ide
vboxmanage storageattach --storagectl foo --medium ./foo/foo.vdi ./foo/foo.xml 
vboxmanage startvm ./foo/foo.xml

TLDR

Existe uma maneira de usar o VirtualBox sem "registrar" discos rígidos e VMs?

    
por Catskul 09.07.2012 / 19:06

2 respostas

0

Não.

Depois de olhar através do código fonte, pelo que posso dizer, olhar para cima só pode acontecer pelo nome que requer o registro.

Parece que se houvesse uma maneira de alterar o caminho do diretório de configuração do VirtualBox para algo personalizado, seria possível aproximar o efeito que eu estava procurando, mas isso não parece ser possível também. / p>     

por 09.07.2012 / 21:48
0

Como você está no Linux, existem ferramentas de sistema operacional host que podem ser usadas para criar um ambiente virtual temporário para limitar a comunicação do VirtualBox entre os processos. Especificamente, você poderia usar chroot para criar um ambiente mínimo contendo apenas o mínimo necessário para o VirtualBox rodar, junto com um novo diretório base para seu usuário, e depois rodar o VirtualBox naquele ambiente. Embora eu não tenha tentado isso, presumo que isso isolaria os processos uns dos outros e, portanto, resolveria seu problema

(Infelizmente, cheguei a essa questão buscando uma resposta para esse mesmo problema para um host do Windows, onde tal solução não seria possível. Ah, bem.)

    
por 08.06.2014 / 23:01