Migrar de uma máquina virtual (VM) para um sistema físico

117

Aka: Como converter um arquivo .vdi ou .vmdk para uma instalação real em um disco físico?

É possível / viável migrar uma instalação de máquina virtual do Ubuntu para uma máquina física? Se possível, o quão difícil isso seria para realizar e quais os passos que eu preciso tomar para se preparar para a migração.

Gostaria de fazer alguns testes em uma VM e, se funcionar, migrar esse sistema para o hardware físico, em vez de reinstalar tudo. Isso é possível?

    
por dting 29.03.2011 / 11:42

5 respostas

91

Sim, é possível. Não é nem tão difícil, leva apenas algum tempo, um LiveCD do Ubuntu, um sticky-back-plastic e um disco USB externo (se você não tiver mais de um disco interno).

Etapa preliminar: converta o disco em algo útil

Tanto o VMWare quanto o VirtualBox (entre outros) usam formatos de disco que não são adequados para serem gravados diretamente no disco. Você pode mas eu pessoalmente sinto que é mais conveniente escrevê-lo para uma imagem intermediária e padrão primeiro. Você pode fazer isso a partir do seu sistema atual sem ter que inicializar em um LiveCD.

  • Carregue um terminal e dispare:

    cd /media/wherever-the-image-is/
    
    # for VMWare
    sudo apt-get install qemu-kvm
    qemu-img convert your-vmware-disk.vmdk -O raw disk.img
    
    # For VirtualBox
    VBoxManage internalcommands converttoraw your-virtualbox-disk.vdi /dev/sdX
    
  • Mova /media/wherever-the-image-is/disk.img para algum lugar em que você não esteja prestes a escrever. Se você estiver planejando gravá-lo no disco em que está atualmente, será necessário colocá-lo em um disco interno separado ou, pior, em um disco externo.

  • As instruções a seguir supõem que você a tenha movido para /media/dave/disk.img ( dave é um disco USB externo)

  • Antes de escrever algo sério, verifique se você tem backups . É uma coisa clichê para dizer, mas um erro de digitação e há uma possibilidade muito real que você vai nuke seu sistema. Suponha que as coisas vão dar errado e esteja preparado. O CloneZilla pode ajudá-lo a fazer backups completos de disco se você tiver algum lugar para armazenar esses dados.

Escreva a imagem em um disco próprio

Você vai querer fazer algo assim. Isso pressupõe que você sobrescreva um disco inteiro. Se você deseja fazer uma instalação ao lado do Windows, não siga estas instruções! Pule para depois das balas.

  • Inicialize em um Live CD do Ubuntu e clique em Experimentar o Ubuntu.

  • Monte o seu local onde a imagem vmdk está sendo armazenada (por exemplo, o disco USB externo como /media/dave ). Não não monte o local onde deseja gravar.

  • Então vamos trabalhar:

    sudo dd if=/media/dave/disk.img of=/dev/sdX
    

    Você deseja substituir sdX pelo caminho correto para seu disco de destino. A senha sudo está em branco, apenas pressione Enter.

  • Você pode então abrir gparted ou qualquer outra coisa e você deverá ver sua partição Ubuntu no disco. Você deve ser capaz de expandi-lo.

Grave a imagem em um disco ao lado de outro sistema operacional

Esta é talvez uma maneira completamente mais segura de fazer as coisas. A idéia é muito similar, além de você fazer uma instalação adequada do Ubuntu e então apenas sincronizar os arquivos de disk.img .

  • Seu LiveCD desta vez precisará ter a mesma versão do Ubuntu que sua instalação virtual. Inicialize no Live CD e, novamente, clique em Instalar.

  • Siga o instalador e reparticione as coisas como achar melhor. Cerca de 10 minutos depois, você será instalado e solicitará a reinicialização. Não reinicie. Não importa se você fez acidentalmente, apenas certifique-se de estar de volta no LiveCD para as próximas instruções.

  • Monte a partição da nova instalação e o disco externo onde você armazenou o disk.img anteriormente (apenas clique duas vezes no nautilus).

  • Monte o seu disk.img ISO em um terminal:

    sudo mkdir /media/oldinstall
    sudo mount -o loop /media/dave/disk.img /media/oldinstall
    

    Nota - Depois de criar o arquivo .img desejado, às vezes, quando você tenta montá-lo como um dispositivo de loop, você pode obter o seguinte erro

    "A assinatura NTFS está ausente.  Falha ao montar '/ dev / loop0': argumento inválido  O dispositivo '/ dev / loop0' não parece ter um NTFS válido. "

    Um arquivo .img às vezes contém um registro de inicialização mestre e uma tabela de partição antes da partição real que você deseja montar. Daí você precisa descobrir o deslocamento da partição necessária. Para isso, pode-se usar a ferramenta parted . Por exemplo, veja a resposta de sisco311 neste link link

    Então, se você determinou que seu deslocamento seja 'xxx', então você pode montar sua partição usando

    sudo mount -o loop,offset=xxx /media/dave/disk.img /media/oldinstall
    
  • De lá, você pode selecionar arquivos ou simplesmente copiar tudo sobre sua nova instalação do Ubuntu usando algo como:

    sudo rsync /media/oldinstall/ /media/my-new-install/
    
  • Reinicialize e você deve ser saudado com sua instalação antiga do VMWare, mas em metal puro. Se você tiver problemas desagradáveis no grub, poderá corrigi-lo voltando ao Live CD, chrooting e consertando as coisas .

por Oli 29.03.2011 / 12:44
8

Talvez não seja exatamente o que você está pedindo, mas pode realizar o que você deseja fazer.

Como todas as suas configurações são armazenadas em seu diretório pessoal, você pode apenas fazer uma cópia de backup dele em outra partição em um disco real. Depois de instalar um novo Ubuntu em um disco real, basta executar o programa de backup novamente para restaurar o diretório inicial com todas as configurações intactas.

Você pode usar um programa de backup realmente legal chamado Déjà Dup .

Informação do centro de software do ubuntu:

O Déjà Dup é uma ferramenta de backup simples. Ele esconde a complexidade de fazer backup do Caminho Certo (criptografado, fora do local e regular) e usa a duplicidade como backend.

Recursos:

  • Suporte para locais de backup locais, remotos ou na nuvem, como Amazon S3 ou Rackspace Cloud Files

  • Criptografa e compacta com segurança o seu dados

  • Faz um backup incremental, permitindo que você restaurar a partir de qualquer backup específico

  • Agenda backups regulares

  • Integra-se bem ao seu GNOME área de trabalho

Você será feito em menos de duas horas!

boa sorte!

    
por danizmax 29.03.2011 / 12:32
4

Experimente o UDPCast

A idéia é transmitir todo o seu vmdk para fora da máquina virtual para a máquina física, onde ele é gravado no disco rígido físico.

O procedimento é descrito abaixo.

Como você tem um arquivo vmdk, você pode ter uma Estação de Trabalho VMWare à sua disposição, até mesmo a Máquina Virtual completa à qual este vmdk está conectado. Execute sua máquina virtual com este vmdk específico anexado, mas em vez de inicialização comum use o LiveCD do PartedMagic para inicializar a partir de.

Quando o LiveCD for iniciado, navegue até o menu principal e encontre o UDPCast Disk Cloning . Seus diálogos são auto-explicativos (veja a imagem)

Depois de selecionar essa máquina virtual como sender , você deve selecionar a unidade que deseja transmitir (usando a notação Unix, como / dev / sda).

Depois de iniciar o sender , você precisa iniciar receiver também. Desde que você tem um disco rígido físico, estou assumindo, você também tem um PC completo com este disco rígido anexado a ele. A mesma coisa aqui: você precisa iniciar o liveCD com UDPCast Disk Cloning selecionando receiver desta vez, bem como o HD físico apropriado.

É importante notar que você deve tomar todas as providências necessárias para ter conectividade de rede entre sua máquina virtual e o hardware físico. Você deve tomar as precauções necessárias se o seu vmdk contiver dados privados, já que seu conteúdo seria efetivamente transmitido pela sua rede. Outra coisa é que seu disco rígido de destino não deve ter menos capacidade de armazenamento do que a capacidade do seu vmdk. É óbvio, mas também vale a pena notar que sua imagem é apresentada individualmente no seu disco rígido de destino e você precisa executar operações adequadas com o gparted ou algo parecido para aproveitar a maior capacidade do seu novo disco rígido.

    
por PF4Public 13.02.2016 / 00:24
3

Se você tiver o VirtualBox instalado, você pode converter arquivo VDI (VirtualBox drive image) no formato IMG usando comando VBoxManage , copie para o disco físico, por exemplo

VBoxManage clonehd --format RAW file.vdi file.img

Então você pode usar o comando dd para copiar o arquivo para a partição física:

dd if=./file.img of=/dev/<partition_here>

Nota: Use sudo se necessário. Tenha cuidado ao especificar o dispositivo certo em / dev.

    
por kenorb 03.06.2017 / 17:22
0

Se você tiver o novo disco físico conectado à máquina em que o disco virtual da VM está, poderá converter o VDI em físico sem uma conversão intermediária, provavelmente economizando um monte de tempo & amp; espaço em disco. Isto supõe que o seu disco físico é igual ou maior que o tamanho máximo do disco virtual. No meu caso, o objetivo era converter um VDI em um zvol do ZFS, mas a abordagem deveria ser a mesma com qualquer dispositivo de bloco.

Primeiro, crie um arquivo VMDK apontando para o dispositivo de bloco:

VBoxManage internalcommands createrawvmdk -filename physical.vmdk -rawdisk /dev/sdX

Então (com o desligamento da VM!) você pode clonar o VDI para o VMDK:

VBoxManage clonemedium --existing virtual.vdi physical.vmdk

Isso vai demorar um pouco ... Quando estiver pronto, você pode excluir o arquivo VMDK, já que ele foi usado apenas como um ponteiro para o VirtualBox encontrar o dispositivo físico.

No meu caso, o novo zvol era exatamente do mesmo tamanho que o disco virtual. Dado que seu disco físico é provavelmente diferente, você precisaria empregar algum tipo de mecanismo de redimensionamento de partição para preencher o disco inteiro. Gparted ou algo, talvez. Você deve ser capaz de apontar isso no dispositivo físico / dev / sdX enquanto ainda estiver conectado à máquina da VM para que você não precise recorrer ao CD de inicialização do host físico.

Quando o redimensionamento estiver concluído, insira a unidade na sua máquina física, cruze os dedos e ligue-a.

Se você quiser continuar usando a unidade física com o VirtualBox, mantenha o VMDK por perto e use VBoxManage storageattach para conectá-lo à VM.

    
por pendor 15.05.2018 / 15:23