How-to,  XCP-ng

Exportando e Importando VMs via Pendrive ou HD Externo

Exportar e importar é uma forma de ter um backup remoto em caso de desastres, pode ser feito a partir de uma VM ou de um snapshot Nota: O conteúdo do Pendrive/Hd externo (drive) será apagado neste tutorial, faça um backup de seus dados antes.

Exportando

Antes de inserir o drive vamos verificar a tabela de partições para saber como o sistema reconhecerá o novo disco, para isso, use o comando:

fdisk -l

A saída mostrará todos os discos já reconhecidos

Disk /dev/sda: 2000.3 GB, 2000398934016 bytes
256 heads, 63 sectors/track, 242251 cylinders
Units = cilindros of 16128 * 512 = 8257536 bytes

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1      242252  1953514583+  ee  EFI GPT

Insira o Pendrive/HD Externo e repita o comando acima, a saída mostrará como ele foi reconhecido

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1      242252  1953514583+  ee  EFI GPT

Disk /dev/sdb: 500.0 GB, 500097376256 bytes
4 heads, 34 sectors/track, 7182005 cylinders
Units = cilindros of 136 * 512 = 69632 bytes

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdb1              16     7182006   488375320    7  HPFS ou NTFS

Neste caso, ele foi reconhecido como /dev/sdb e contém uma partição chamada /dev/sdb1

Agora vamos criar um sistema de arquivos tipo ext3 na partição /dev/sdb1, isso apagará a tabela de partição e consequentemente os dados serão perdidos

mkfs -t ext3 /dev/sdb1

Caso o procediemnto acima não dê certo, apague e crie uma nova partição seguindo os passos do fdisk ensinados no tutorial acima de como inserir HDs no XenServer e opós repita o comando acima.

Agora vamos montar o drive no sistema de arquivos do Xenserver

Criaremos uma pasta para ser o ponto de montagem

mkdir /mnt/usb

Em sequida montamos o drive

mount /dev/sdb1 /mnt/usb

Feito isso o drive estará acessível através da pasta /mnt/usb

Para garantir a operação vamos alterar a permissão desta pasta

chmod 777 -R /mnt/usb

Daremos início agora à exportação propriamente dita

Lembre-se de desligar previamente a VM a ser exportada

Vamos verificar os nomes das VMs presente nos nosso Xenserver com o comando:

xe vm-list

Caso queira exportar um snapshot utilize

xe snapshot-list

A saída retornara algo do tipo

uuid ( RO)           : ca6f14e2-d18b-8d85-6169-b7b0d7e21b18
     name-label ( RW): DEBIAN8
    power-state ( RO): halted 


uuid ( RO)           : 4aff27f9-3de4-0b37-f337-921537baffb2
    name-label ( RW): 2 FAP IP 8
   power-state ( RO): running

Neste caso exportaremos a VM chamada DEBIAN8 que está desligada (halted) com o comando abaixo

xe vm-export vm=DEBIAN8 filename=/mnt/usb/DEBIAN8.xva

Poderíamos também utilizar o UUID no lugar do nome, neste caso ficaria:

xe vm-export vm=ca6f14e2-d18b-8d85-6169-b7b0d7e21b18 filename=/mnt/usb/DEBIAN8.xva

O mesmo comando pode ser usado para exportar um snapshot, basta colocar o nome ou uuid do snapshot no comando acima. Dependendo do tamanho da VM este procedimento pode demorar

Ao final, para terminar o processo desmontaremos o drive

umount /mnt/usb

Importando

Para importar uma VM exportada vamos montar em qualquer outro xenserver o drive com o comando

 mount /dev/sdb1 /mnt/usb

Feito isso o drive estará acessível através da pasta /mnt/usb (crie o diretótio caso ele não exista)

Para garantir a operação vamos alterar a permissão desta pasta

chmod 777 -R /mnt/usb

Para verificar o HD de destino da VM liste os seus HDs disponíveis com o comando

xe sr-list

A saída deve ser algo do tipo

uuid ( RO)                : 562057e8-fc1e-85a1-7c22-7cb9d699b51f
         name-label ( RW): Local storage
   name-description ( RW): 
               host ( RO): xenserver-proxy
               type ( RO): lvm
       content-type ( RO): user


uuid ( RO)                : bb7d5e89-08eb-3c09-2214-6db617bc6fc3
         name-label ( RW): DVD drives
   name-description ( RW): Physical DVD drives
               host ( RO): xenserver-proxy
               type ( RO): udev
       content-type ( RO): iso

Neste caso, a VM será importada para o Local Storage, cujo uuid está destacado acima

Usaremos o sequinte comando

xe vm-import filename=/mnt/usb/DEBIAN8.xva force=true sr-uuid=562057e8-fc1e-85a1-7c22-7cb9d699b51f preserv=true

Novamente, dependendo do tamanho da VM este procedimento pode demorar

Nosso grupo no Telegram: https://t.me/xcpng

Compartilhe este conhecimento:

Graduado em TI pela FATEC, Pós Graduado em Segurança da Informação pela UNISUL, CISCO CCNA4, Gerente de TI, Atuo na área Governamental desde 2009

2 Comentários

  • EMERSON EVALDT DA ROSA

    Bom dia Felipe, também estudei na UNISUL em Araranguá.

    Pode me auxiliar com esse erro?, segui os passos, mais quando vou exportar minha VM da o seguinte erro:

    [root@xcp usb]# xe vm-export vm=39266c3d-09f8-b9aa-eac1-4d7d0499e8cb filename=/mnt/usb/VMFIREWALL.xva
    Error code: CLIENT_ERROR
    Error parameters: INTERNAL_ERROR: [ Unix.Unix_error(Unix.ECONNRESET, “write”, “”) ]

    E não tem jeito, ja verifiquei as permissoes do HD externo, estão ok, tentei pelo nome da VM da esse erro também, tentei direto pelo sistema XCP-ng e da o erro também, poderia me dar um norte desse problema?

    Obrigado.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *