Migration de VMs VirtualBox vers Proxmox

Comment migrer des machines virtuelles de VirtualBox vers Proxmox?

Je vais essayer de vous aider à le faire, à travers ce chapitre. Ce n’est pas difficile à faire, une fois qu’on a compris le principe.

I. Préparation des VMs sous virtualbox

« Clonezilla est un logiciel libre de restauration de données, de clonage de disque, et de création d’image de disque. » (wikipedia)

Voici un petit récapitulatif des matériaux et logiciels utilisés pour cette migration.

– Serveur Physique (HP Proliant Gen 8, OS: Proxmox)
– Machine hôte (Macbook Pro 2010, OS: Debian, serveur SSH activé, Virtualbox)
– VMs (OS: Debian) à migrer
– Live CD (clonezilla-live-2.5.0-25-amd64.iso)

1. Connection SSH

Noter l’adresse IP de la machine hôte, puisqu’on va s’en servir pour une connection SSH à partir de la machine virtuelle, ainsi qu’à partir de Proxmox.

20170522-074707

De ce fait, vérifier que le serveur SSH est installé sur votre ordinateur. Si ce n’est pas le cas, faites le.

# apt-get install openssh-server

Puis vérifier que SSH est activé.

# service ssh status
# service ssh start

Ensuite, configurer ssh pour autoriser l’accès à partir de n’importe quel machine de votre réseau.

$ sudo vim /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes

$ sudo service ssh restart

Notez bien que cette étape n’est pas la bonne pratique à utiliser avec SSH. Pour plus d’information sur comment sécuriser votre accès SSH, je vous renvoir à ce chapitre.

2. Préparation des machines virtuelles

Démarrer la machine virtuelle à migrer, puis vérifier que vous pouvez accéder à la machine hôte en SSH.

Si telnet n’est pas installé sur cette VM, les deux méthodes suivantes permettent de vous confirmer si le port 22 (SSH) est ouvert ou non.

$ cat < /dev/tcp/192.168.1.10/22
SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3
^C

$ nc -zv 192.168.1.10 22
[192.168.1.10] 22 (ssh) open

Arrêter ensuite la machine virtuelle pour la suite.

3. Clonezilla

Créer un dossier du même nom que l’outil utilisé, Clonezilla par exemple, dans lequel vous allez placer les images créées par cet outil. Ceci vous permettra d’y accéder plus tard en SSH, en tant qu’utilisateur et non en tant que root.

$ mkdir /home//Clonezilla

Télécharger ensuite le live CD de clonezilla que vous pouvez trouver ici, puis démarrer la machine virtuelle à migrer avec.

J’ai omis certaines captures d’écran, dont les options sont restées par défaut, afin de ne garder que l’essentiel.

Une fois arrivé au niveau de la page « Mount Clonezilla Image directory » choisissez SSH pour accéder à la machine hôte, pour y placer l’image créée par Clonezilla.

Choisissez le mode DHCP afin de ne pas vous prendre la tête à configurer la carte réseau de cette VM.

Taper ensuite l’adrese IP de la machine hôte.

Et enfin, entrez le chemin pour accéder au dossier /home//Clonezilla créé précédement.

Taper « yes » pour continuer, puis entrer le mot de passe de l’utilisateur.

La connection SSH étant établi, Clonezilla peut maintenant se lancer dans la création d’une copie de l’image du VM. Le mode Beginner (débutant) est amplement suffisant. Par contre pour clôner le VM, il faut choisir le mode Expert, que nous allons voir plus loin dans ce chapitre. Donc patience!

Pour le nom de l’image, je vous conseille de choisir quelque chose qui peut vous indiquer la nature du VM, et plus particulièrement si vous avez plusieurs VMs à migrer, afin de savoir laquelle fait quoi.

Une fois l’image créée, il n’y a aucune raison d’allumer la machine virtuelle dans Virtualbox.

Au niveau de l’écran suivant, taper sur la touche « Entrée »pour continuer, puis entrer « y ».

Et voilà, la création de l’image du VM est lancée. La procédure peut prendre du temps en fonction de la taille du disque à copier.

Entre temps, vous pouvez vous occuper de la création de la machine virtuelle sous Proxmox.

II. Préparation de la machine sous Proxmox

Dans le disque local de Proxmox, télécharger une copie de du live CD de clonezilla, qu’on va utiliser pour démarrer la nouvelle machine virtuelle.

Concernant cette nouvelle VM, il faut qu’elle ait la même taille auquel il faut ajouter quelques Go d’espace supplémentaire.

Vérifions dans ce cas, les informations de notre VM dans le Virtualbox.

Comme vous pouvez le voir, ma VM fait 20Go. Il va falloir que je créee une machine avec Promox, de 21Go au moins.

1. Préparation de la nouvelle VM

Créer une machine virtuelle en cliquant en haut à droite sur « Create VM ».

Dans l’écran de création du VM, vous avez plusieurs onglets, dont le premier vous demande de renseigner les informations concernant cette nouvelle machine(Nom de la machine, etc.).

Dans l’onglet « General », il n’y a que le nom du VM à remplir. Cette case peut être laissée vide, mais Proxmox va choisir un nom générique pour votre machine.

Dans l’onglet OS, choisissez le système d’exploitation ou la version du noyau pour les machines sous linux.

Dans l’onglet CD/DVD, sélectionner l’image ISO du live CD de Clonezilla.

Dans l’onglet « Hard Disk »,
– Choisissez l’option VirtIO
– Valider la taille du disque de la VM (20Go + 1Go)
– Cocher la case « Discard » si vous utilisez des disques physiques SSD. Si ce n’est pas le cas, donc nul besoin de cette option

Dans l’onglet CPU, l’option par défaut me convient.

Dans l’onglet Memory, j’ai choisi une taille de mémoire moins importante que celle de ma machine virtuelle dans virtualbox.

Dans l’onglet Network, j’ai gardé les informations par défaut.

Pour information, VirtIO est l’équivalent du GuestOS avec la technologie de vmware.

Et voilà, la VM est prête. Si plus tard, vous n’êtes pas satisfait de votre configuration, vous pouvez toujours modifier les informations des VMs (taille de la mémoire, nombres de processeurs, etc.) comme avec Virtualbox.

2. Migration du/des VMs

Lancer la VM dans proxmox.

Pareil que dans la première étape de création de l’image, connectez vous en SSH à la machine hôte, pour récuperer l’image de la VM créée par Clonezilla.

Puis passer en mode expext pour installer cette image vers la nouvelle destination.

Choisissez ensuite l’option « restoredisk » qui, comme son nom l’indique, permet de restaure un disque. Ce n’est pas tout à fait notre cas, mais ceci pour vous dire que c’est la même procédure à suivre pour restaurer un disque à partir d’une sauvegarde, ou pour la migration de VMs.

Ensuite, il vous sera posée la question de quelles VMs vont être restaurer. D’où l’intérêt d’avoir choisi un nom d’image bien spécifique afin de pouvoir choisir le bon parmi la liste des images dans le même dossier.

Vous ne devriez pas avoir à choisir l’emplacement de la cible.

Dans cette partir, laisser les options choisis par défaut.

De même pour la suivante.

Finalement, choisissez de redémarrer la VM une fois la migration terminée, et de vérifier que tout est bon.

Et voilà, la migration commence.

Taper « y » pour continuer.


Une fois le processus de migration terminée, la VM va redémarrer.

Si tout s’est bien déroulé, la VM devrait démarrer sans problème.

Je n’ai eu aucun problème pour migrer les VMs tournant sous Debian, comme vous pouvez le voir ci-dessus. Par contre, j’ai eu droit à un écran noir avec la machine tourant sous Manjaro. Je n’ai pas chercher à comprendre d’où vient le problème, mais je préfère prévenir au cas où.

Sources

SSH – Debian wiki
How to user SSH to connect to a Remote Server in Ubuntu
Sécuriser votre rpi
Test if a port on a remote system is reachable (without telnet)
Proxmox « no backup », « discard », « iothread »
Proxmox options for Hard disk and CPU tab
how to use clonezilla to backup hard drive and create recovery iso image
restore an image of a hard drive using clonezilla

Debian: Installation de VMWare Player

Il est temps d’essayer un autre outil de virtualisation. Pourquoi pas VMWare?

Installation

Après avoir récupéré le fichier VMware-Player-3.1.1-282343.x86_64.bundle, l’installation se fait tout simplement avec la commande

# sh VMware-Player-3.1.1-282343.x86_64.bundle

Installer ensuite les paquets suivants:


# aptitude install linux-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 psmisc build-essential ia32-libs
# apt-get update
 # apt-get install linux-headers-$(uname -r)
 

Et voilou,

Mode plein écran

Pour l’utilisation en plein écran, il suffit dans un premier temps de cliquer dans la barre de menu « Virtual Machine > Install VMware tool ».

Une fois c’est fait, il faut monter le lecteur CD si ce n’est pas fait automatiquement, puis de lancer l’installation de l’outil VMWare:

# cat /etc/fstab
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
# mount -t iso9660 /dev/scd0 /media/cdrom0
# cp /media/cdrom0/VMWareTools.tar.gz ~/
# cd ~
# tar -zxvf VMWareTools.tar.gz
# cd vmware-tools-distrib
# ./vmware-install.pl

Il ne vous reste plus qu’a appuyer sur Entrée pour valider et accepter les réponses par défaut aux questions posées.

Une fois terminée, vous pouvez redémarrer la machine virtuelle et le lancer en mode plein ecran.

Partage de fichiers

Déception, puisqu’il n’est pas possible de le faire avec la version de VMWare Player. Il faut donc passer par un serveur FTP.

Une autre  solution est proposée sur cette page [1] en manipulant directement sur le fichier .vmx.

Source

VMWare – Debian Wiki

Mac: Partage de dossier avec comme invité Ubuntu et Debian

Host: Mac OS X 10.7
Guest1: Ubuntu 11.10
Guest2: Debian 6.0

I. Message d’erreur

La commande à utiliser pour monter un dossier de partage est la suivante:

# mount -t vboxsf -o uid=1000,gid=1000,umask=0 DOSSIER_A_PARTAGER /media/PARTAGE

Si vous rencontrez le message d’erreur suivant:

« /sbin/mount.vboxsf: mounting failed with the error: No such file or directory »

Il vous faut taper dans une console la commande

# aptitude install build-essential linux-headers-`uname -r`

Puis de réinstaller le GuestAddition

# sh /media/cdrom0/VBoxLinuxAdditions.run install

II. Accès automatique au dossier de partage

Il semblerait que la seule méthode pour pouvoir partager automatiquement un dossier entre l’hôte et l’invité serait d’ajouter la commande ci-dessous dans un script, et plus précisément au niveau de /etc/rc.local

mount -t vboxsf -o uid=1000,gid=1000,umask=0 DOSSIER_A_PARTAGER /media/PARTAGE

Voici donc le nouveau contenu de mon fichier /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will « exit 0 » on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

mount -t vboxsf -o uid=1000,gid=1000,umask=0 shared /media/shared

exit 0

Source
VirtualBox Shared Folders
Documentation de VirtualBox sur Ubuntu-fr 
Virtualisation avec Virtualbox

Modifier la taille d’un disque virtuel dans Virtualbox

Effectuez avant tout une copie de sauvegarde de votre fichier .vdi avant d’effectuer cette manipulation ; )

Pour modifier la taille d’un disque virtuel dans Virtualbox, ou plutôt l’agrandir dans mon cas, il suffit sur d’accéder jusqu’au fichier .vdi du disque à modifier en mode console puis de taper la commande ci-dessous (système invité type Linux):

$ VBoxManage modifyvdi HD_to_resize.vdi –resize SIZE

SIZE: 10000 pour 10Go, 20000 pour 20Go, 31000 pour 31Go, etc.

$ ls
ubuntu.vbox        ubuntu.vdi
ubuntu.vbox-prev    Logs

$ VBoxManage modifyvdi ubuntu.vdi –resize 15000
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%

$

Une fois ceci fait, il ne vous suffit plus qu’à ajuster la taille de votre partition avec gparted, ou un autre outil plus approprié selon l’OS de l’invité.

Source
Augmenter la taille d’un disque VirtualBox