La Fibre
Télécom => Logiciels et systèmes d'exploitation => Linux (usage serveur) => Discussion démarrée par: DamienC le 08 mai 2019 à 17:46:18
-
Bonjour à tous,
J'ai besoin de transférer une machine virtuelle complète (système, fichiers, kernel, etc...) dans uns instance cloud, j'ai choisi Scaleway.
Il s'agit d'une application métier sous un Debian 8 que je suis incapable de refaire de 0, trop complexe, trop de tunning dans tous les sens...
Pour le moment, j'ai choisi d'utiliser le paquet qemu-utils sous un Debian.
Voici mon avancement (je navigue un peu à l'aveugle, je me sent dépasser par certains points):
1/ Je télécharge le VMDK-flat de la machine en question
2/ Je lance une instance Scaleway, et je lui ajoute 2 nouveaux volumes; l'un pour stocker temporairement mon fichier qcow2, et un autre qui me servira de disque d'accueil lorsque je ferai un qemu-img dd.
3/ J'upload sus le disque par défaut mon VMDK-flat
4/ Je converti mon VMDK dans le format qcow2: qemu-img convert -f vmdk qcow2 /tmp/image.vmdk /dev/snapshot/image.qcow2
5/ Je "grave" l'image qcow2 sur mon second disque additionnel: qemu-img dd -f qcow2 -O raw if=/dev/snapshot/image.qcow2 of=/dev/nbd2 -> ça prend du temps, 60 Go...
6/ Je stop proprement ma machine Scaleway
7/ Je prend un snapshot sur la console Scaleway de mon disque où se trouve ma "gravure"
8/ Je créer une image de ce snapshot, toujours sur la console Scaleway
9/ Je déploie une nouvelle instance avec cette image
Résultat: l'instance démarre, mais elle tente de booter en PXE :o
C'est là où je coince...
Avez-vous des idées? Où peut-être une autre méthode permettant "d'aspirer" l'ensemble d'une machine debian pour la coller sur une autre (une instance Scaleway pour le coup)?
Merci d'avance :)
Cordialement,
DamienC
-
Il faut que tu lui dises de booter sur le volume additionnel. Chez OVH, sur Public Cloud c'est possible, donc ça devrait l'être chez Scaleway aussi.
Normalement, sous Openstack, tu peux importer le volume directement, pas besoin de passer par qemu-img:
glance image-create --name "MonDisk" --disk-format=qcow2 --is-public=true --container-format=bare --file image.qcow2
-
Merci BadMax pour ta réponse!
Je vais essayer ta méthode.
Pour le moment, il n'y a pas l'air d'avoir d'option sur la console pour choisir son disque de boot.
J'ai donc supprimé les volumes ne contenant pas l'image, et je vais essayer de booter avec mon volume fait par qemu-img, on verra bien...
Cordialement,
DamienC
-
Si l'interface ne te le permet pas, il te faut installer sur un Linux openstack-client
sudo apt install python3-openstackclient
Ensuite, faire un script qui set ces variables
export OS_AUTH_URL=<url>
export OS_REGION_NAME="<region openstack"
export OS_TENANT_ID=<id projet openstack>
export OS_TENANT_NAME="<nom du tenant>"
export OS_USERNAME="<user openstack>"
# With Keystone you pass the keystone password.
echo "Please enter your OpenStack Password: "
read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=$OS_PASSWORD_INPUT
Ensuite, tu pourras voir tes volumes
cinder list
Et le mettre bootable avec:
cinder set-bootable <volume> <True|true|False|false>
Note:
- "glance" -> gestion des images
- "cinder" -> gestion des volumes
-
Super merci beaucoup!
Mais en fait je me demande si ma technique ne fonctionne pas; la seule console disponible sur Scaleway est un client web ssh: mais si ma conf réseau/ssh sur ma VM de base n'est pas bonne, je risque de ne jamais avoir accès à cet VM sur scaleway...
-
Normalement tu devrais avoir la console de ta VM, par contre le mapping clavier est souvent un enfer pour taper son mot de passe.