OVH Community, votre nouvel espace communautaire.

Proxmox: Transfèrer des VMs quand l'Host est mort


Amrac
16/10/2015, 16h45
Petite amélioration des commandes, on peut utiliser rsync -azv pour ne pas suivre les liens symboliques tout en les préservant. De plus, ça fait la procédure d'archivage du coup pas besoin d'archiver/transférer/déarchiver.

source:
http://f7t.fr/blog/?p=39

Pour l'option P de cp je suis pas certain que ça garde les liens symboliques, faudrait tester.

winlinux
12/10/2015, 16h59
Merci pour l'astuce, ça peut toujours servir
Pour la copie sans suivre les liens symboliques, ce ne serait pas l'option -P ? cf http://pwet.fr/man/linux/commandes/cp

Amrac
07/10/2015, 14h44
Merci

bbr18
07/10/2015, 11h43
Merci pour tes tutos, je mets de côté "au cas où", pour les VMs je préfère remettre une sauvegarde de la nuit précédente mais ce n'est valable que pour les sites pouvant supporter quelques heures de retour vers le passé.

Amrac
07/10/2015, 11h05
Proxmox est une distribution permettant la virtualisation, il peu être utilisé en Haute Disponibilité si vous avez au moins 3 serveurs et du temps à passer dans les réglages complexes, ou il peut simplement servir à isoler vos services au sein de différentes Machines Virtuels et a simplifier le changements de machines en cas de problèmes.

Hors, si votre serveur Proxmox est HS et que vous ne pouvez plus le relancer, vous devez alors passer en rescue pour récupérer les données.

La, il y a quelques commandes très simple à connaître. Vzdump ne vous aidera pas, car vous n'aurez plus accès aux commandes propres à proxmox et vous ne pourrez donc pas exporter vos VMs. C'est la tout le problème car la plupart des documentations vous invite à utiliser cette commande.

Tout d'abord, en rescue, vous devez pouvoir accéder à vos données. Pour cela il vous faut en général remonté les partitions de votre serveur.
Sur ça je ne peut trop vous aider, sachez cependant que dans mon cas la partition à monter était dans /dev/pve/data.

Pour un transfère manuel de vos VMs, vous avez deux dossiers importants:
/etc/vz/conf/ contient les fichiers de configurations de vos VMs.
Vous devez donc les copier sur votre nouvelle machine, normalement vous n'avez pas de modification particulière à faire et le fait de les transférer fait que vous verrez les VMs dans votre interface proxmox.

/var/lib/vz/private contient tout les fichiers de vos VMs.
Personnellement, j'ai la première fois fait un simple scp -r des fichiers VM, malheureusement la copie à dut suivre des liens symboliques et m'as fait une boucle infini, pour une copie sans fin.
Je pense qu'il doit y avoir un argument simple à changer pour éviter ce problème, si quelqu'un sur le forum à la solution je suis preneur.
Un autre soucis du transfert en direct via un scp, c'est que le transfert peu être très lent si il y a de nombreux petits fichiers, ce qui est souvent le cas.
J'ai utilisé tar qui concatène simplement les fichiers dans une archive, cela permet d'éviter le problème des liens symboliques ET le problème des nombreux petit fichier.
Pour créer une archive d'un dossier:
Code:
tar -cvf archivedossier.tar dossier/
Vous pouvez ensuite la transférer sur votre nouveau serveur, et la procédez à l'extraction:
Code:
tar -xvf archive.tar -C dossier
Petit détail, faites attention a votre architecture de dossier. Vos fichiers doivent bien être dans /var/lib/vz/private/XXX/.
XXX étant le numéro de votre VM.
Une erreur classique est de se retrouver avec les fichiers dans:
/var/lib/vz/private/XXX/XXX/

Pour finir, je vous invite à copier vos templates que vous trouverez dans:
/var/lib/vz/template/cache

Une fois les fichiers des VMs et leurs fichiers de conf transféré, vous devriez pouvoir les lancer normalement via l'interface de Proxmox. N'oubliez pas de modifier la configuration si besoin pour l'adapter à votre nouvelle machine, ou encore à transférer votre IP fail over sur la nouvelle machine.

Sources utiles:
[PVE-User] Moving VM from one server to another: http://pve.proxmox.com/pipermail/pve...ay/002159.html
Ubuntu tar: http://doc.ubuntu-fr.org/tar

J'espère que ça pourra vous être utile.
Amrac