Dans cet article, nous vous expliquons comment créer une machine virtuelle à partir d’un fichier VMDK en utilisant uniquement la ligne de commande (CLI) sur Proxmox.
Nous prendrons l’exemple du VMDK de Metasploitable2, mais cette procédure est applicable à d’autres fichiers VMDK, tels que ceux de Kali Linux ou vos exports VMware.
Ce guide détaille chaque étape de manière claire et accessible, permettant même aux débutants de suivre facilement le processus, tout en s’appliquant aux environnements où le stockage local-lvm est utilisé.
Prérequis
- Le logiciel
qm
pour la gestion des machines virtuelles via CLI, disponible par défaut sur Proxmox. - Accès SSH à votre serveur Proxmox avec un compte administrateur.
- Le fichier VMDK à transférer.
Étape 1 : Importation du Fichier VMDK
Transférer le fichier VMDK :
. Transférer le fichier VMDK :
– Placez le fichier dans le répertoire suivant de votre nœud Proxmox : /var/lib/vz
.
– je creer un dossier vmdk pour plus de visibilité

Vous pouvez utiliser des outils comme FileZilla ou WinSCP pour transférer le fichier VMDK vers le répertoire /var/lib/vz
de votre nœud Proxmox.

- Si vous souhaitez également installer Metasploitable2, vous pouvez le télécharger directement sur votre machine et le décompresser avec
unzip
en exécutant les deux commandes suivantes :
Téléchargez Metasploitable2 depuis le lien officiel
wget https://sourceforge.net/projects/metasploitable/files/Metasploitable2/metasploitable-linux-2.0.0.zip
Décompressez le fichier téléchargé
unzip metasploitable-linux-2.0.0.zip

Si la commande unzip
n’est pas installée sur votre système :
# Mettez à jour les listes de paquets
apt update
# Installez le paquet unzip
apt install unzip
# Une fois installé, utilisez unzip pour extraire le fichier
unzip metasploitable-linux-2.0.0.zip
Étape 2 : Conversion du disque VMDK au format QCOW2
Convertissez le fichier VMDK au format QCOW2 avec la commande :
qemu-img convert -O qcow2 Metasploitable.vmdk metasploitable.qcow2

qemu-img
:
Cet outil est fourni par QEMU, un émulateur et virtualiseur open source. Il est utilisé pour manipuler des fichiers d’image disque (création, conversion, compression, etc.).convert
:
C’est l’action que tu demandes àqemu-img
. Ici, il s’agit de convertir une image disque d’un format à un autre.-O qcow2
:
L’option-O
(lettre « O » pour « output format ») spécifie le format de sortie, ici QCOW2. Ce format est couramment utilisé avec QEMU/KVM. Il prend en charge des fonctionnalités avancées comme la compression, les snapshots, et le provisionnement thin (allocation des blocs à la demande).Metasploitable.vmdk
:
C’est le fichier source au format VMDK, qui est utilisé par VMware. Dans ton cas, il s’agit probablement d’une image disque pour une machine virtuelle Metasploitable.metasploitable.qcow2
:
C’est le fichier de sortie converti au format QCOW2. Après l’exécution de la commande, ce fichier contiendra le contenu de l’image disque initiale, mais au nouveau format.
Étape 3 : Création de la Machine Virtuelle sur Proxmox
Créez une machine virtuelle avec les paramètres de base :
qm create 300 --memory 4096 --cores 2 --name Metasploitable2 --net0 virtio,bridge=vmbr0,tag=100 --boot c --bootdisk ide0
- ID (300) : Identifiant unique de la VM.
- Mémoire (2048) : 4 Go de RAM.
- Cœurs CPU (2) : 2 cœurs.
- Nom : Nom de la VM (« Metasploitable2 »).
- Réseau : Interface réseau
virtio
, pont réseauvmbr0
avec le VLAN tag100
. - Boot : Défini sur le disque principal (
ide0
).

Étape 4 : Importation du disque QCOW2 dans le stockage local
Importez le disque converti dans le stockage local-lvm
qm importdisk 300 metasploitable.qcow2 local-lvm


Étape 5 : Configuration du disque principal
Configurez le disque importé comme disque principal de la VM :
qm set 300 --ide0 local-lvm:vm-300-disk-0

Étape 6 : Vérification et Démarrage
Vérifiez la configuration de la VM :
qm config 300

Démarrez la machine virtuelle :
qm start 300
Connectez-vous à la console via l’interface graphique de Proxmox pour vérifier que la machine démarre correctement.
- Cliquez sur Start dans l’interface Proxmox.
- Accédez à la console pour vérifier que la VM démarre correctement.

Conclusion
Cette méthode via CLI offre une grande flexibilité et permet de s’intégrer facilement dans des scripts d’automatisation.