Manter e sincronizar uma VM do VirtualBox entre dois computadores separados

9

Eu tenho uma VM do VirtualBox que tem um projeto no qual estou trabalhando. Eu gostaria de poder usar essa VM em dois computadores separados, para que eu possa trabalhar nela onde eu esteja naquele momento. Já vi respostas sobre transferência, clonagem e backup de VMs, mas nada sobre ter duas cópias e mantê-las em sincronia.

Qual é a maneira mais fácil (menos ou mais simples) ou melhor (menor risco de problemas) de manter uma única imagem de VM em vários computadores?

Idealmente, prefiro não executar a VM a partir de uma unidade USB, pois um dos dois computadores tem muito poucas portas USB, mas se isso for o melhor, então eu o aceito (na verdade, não tenho certeza se houver algum problema com a execução de uma VM a partir de uma unidade USB). No entanto, planejo usar um drive USB para transferir arquivos entre computadores.

    
por rsgoheen 29.04.2013 / 10:30

7 respostas

7

Acho que você tem duas opções aqui: a primeira é definir (nas instalações do Virtualbox em ambos os computadores) a pasta onde as VMs estão armazenadas em algum tipo de disco rígido portátil ou remoto; Se os computadores que você vai usar estão ligados em uma rede, você pode usar uma pasta compartilhada, se não, eu temo que a única solução é um USB pendrive ou um disco rígido externo. Para definir a pasta, vá para File > Preferences > General > Default Machine Folder . A velocidade da chave USB pode ser um limite no desempenho geral.

A segunda solução, que também requer um pendrive ou algo semelhante (mas apenas para transportar seus arquivos de VM), é exportar e importar manualmente a VM desejada toda vez que você precisar carregá-la. Você pode fazer isso selecionando a VM e indo com File > Export Appliance e File > Import Appliance . Ao exportar, um arquivo com o formato .ova será criado, é um arquivo que contém todos os arquivos necessários para usar a VM, importando-o em outra instalação, você terá a mesma VM no segundo computador. Desta forma, você está usando o pendrive para simplesmente carregar seus arquivos, que quando reimportados serão armazenados e acessados a partir do seu computador, assim a velocidade do USB não é uma preocupação.

    
por 29.04.2013 / 11:10
4

Acho que a resposta de Sekhemty é a única maneira de fazer o que você quer.

Mas por que sua máquina virtual precisa ser movida? Por que não apenas mover seu (s) projeto (s)? Configure seu projeto em um git privado e apenas empurre e puxe conforme necessário.

Outro método para tentar, se você precisa manter a consistência da máquina e você está mudando muito, seria usar uma configuração de vagabundo e chef / fantoche. Isso funciona usando um chef (que é uma jóia de rubi) e um fantoche (eu não usei fantoche) para dizer ao vagrant o que você quer que sua VM inclua e instale.

Funciona usando um script, usando chef ou fantoche, e vagrant lê este script ao iniciar a VM. Se você quiser que algo seja instalado, basta adicioná-lo ao script e, se ele ainda não estiver lá, ele será instalado quando você for "vagrant up"! Levei um tempo para me acostumar com isso, curva de aprendizado bastante íngreme, mas é muito eficiente quando você se acostuma e isso significa que você só precisa mover um arquivo de script em vez de uma VM inteira.

link

    
por 29.04.2013 / 11:23
3

Eu sei que esse segmento tem um ano, mas é um dos principais resultados de pesquisa no google sobre a questão de compartilhar uma VM entre dois locais.

O VirtualBox permite que você se conecte remotamente a uma VM em execução usando o RDP. Se você não quiser que a VM funcione continuamente, crie uma maneira de iniciá-la remotamente.

Existe uma opção para "Permitir várias ligações", pelo que não seria necessário desconectar de uma localização antes de se conectar a partir de outra.

Se você não conseguir hospedar sua própria VM, uma pesquisa rápida no google encontrou provedores que hospedarão suas imagens VirtulaBox para você.

Eu nunca tentei tudo isso ...

    
por 19.11.2014 / 18:20
3

Enfrentamos exatamente o mesmo problema e acho que resolvi isso.

Digamos que você tenha duas máquinas, A e B. Crie / prepare seu VM em A. Depois disso, tire um instantâneo ou crie um clone vinculado (ambos funcionam, mas outras etapas diferem, darão uma, você poderá resolver a outra)

Agora, certifique-se de ter um VirtualBox recém-instalado em B. Copie ~ / .VirtualBox e VMs ~ / VirtualBox de A para B com um USB (considerando que eles estão em sites distantes)

Agora, se você escolher a forma de instantâneo, sincronize a pasta ~ / VirtualBox VMs / YourVM / Snapshots até que fique grande o suficiente. Se ficar maior, crie outro instantâneo em A e copie a pasta YourVM para B de uma só vez e só sincronize esse novo arquivo de instantâneo na pasta Snapshots.

Se você tirar uma foto ou criar um clone vinculado em A ou B, esse ritual será quebrado, avise-se.

Testado em 5.0.20

    
por 13.06.2016 / 18:00
2

Você pode rsync as imagens da máquina virtual entre seus dois computadores.

    
por 20.09.2013 / 20:49
1

Seguindo o princípio KISS, depois que as VMs são registradas e as configurações são ajustadas, apenas rsync o arquivo *.vdi enquanto os dois lados são desligados.

rsync -aPh <path-to-vm>/<diskname>.vdi <remote>:<path-to-vm>/

Não haverá maneira de "mesclar" conflitos, é claro, então você precisa ser disciplinado sobre como fazer alterações na VM e espelhar essas alterações.

Enquanto isso, você pode colocar a maioria dos seus dados pessoais em um NAS, para que esteja sempre atualizado e acessível em todas as máquinas. Além disso, você poderia montar discos .vdi adicionais para conter a partição swap ou outro armazenamento temporário para não aumentar o tamanho do seu sistema .vdi.

Se você estiver no Windows, você deve instalar o cygwin (ou msys2) para o programa ssh e rsync.

    
por 09.05.2018 / 11:13
1

Uma solução possível, dependendo do seu caso de uso, é uma variação da resposta do cjpembo.

Se os dois computadores separados estiverem na mesma LAN no mesmo local, talvez seja possível executar uma VM em um servidor ESXi ou similar e usar apenas a função de console remoto das ferramentas de gerenciamento (ou até mesmo o SSH ) para acessá-lo de outros computadores.

Obviamente, se um dos computadores com os quais você deseja usar a VM for um laptop que será movido, isso talvez não seja uma solução, especialmente se você tiver que compartilhar uma grande quantidade de dados entre o "host" e ambientes "convidados".

Se a VM for relativamente autocontida, os recursos do console remoto da VMware são bastante eficientes, portanto, a menos que você precise de reprodução de vídeo na VM, ela pode funcionar bem, mesmo remotamente, para ser boa o suficiente.

    
por 09.05.2018 / 11:42