Exercice 2 — Importer les VM de Cycles Pignon Sud¶
Durée : ~90 min · En équipe · Théorie associée : Migrer une VM de VMware ESXi vers Proxmox
Objectif¶
Importer le site web et le serveur de fichiers de Cycles Pignon Sud depuis leur hôte VMware ESXi, les passer sur du matériel VirtIO, et les remettre en service dans le réseau de Cyclo-Nord : le site dans la DMZ, le partage dans le LAN.
Prérequis¶
- L'exercice 1 terminé : le pare-feu,
srv-donneeset la caisse tournent. - Les deux VM de Pignon Sud éteintes sur l'hôte ESXi. Votre enseignant s'en charge avant la séance.
- Le compte de l'hôte ESXi réservé à l'import :
migration/Motdepasse123!. Il peut lire les VM, pas les modifier.
D'où partent les VM, et où elles arrivent¶
L'hôte ESXi de Pignon Sud répond sur https://10.70.44.29. L'inventaire laissé par l'ancien responsable informatique décrit ses deux VM :
| VM | Réseau chez Pignon Sud | Adresse chez Pignon Sud | Service |
|---|---|---|---|
srv-web |
groupe de ports Publique (VLAN 460) |
206.167.46.29/24 |
site web, nginx |
srv-fichiers |
VM Network |
10.0.0.20/24 |
partage NFS /srv/partage |
Le site est directement sur Internet, sans pare-feu devant. Le partage vit dans un réseau 10.0.0.0/24 qui n'existe pas chez Cyclo-Nord. Voici leur place dans votre réseau :
| VM | ID | Serveur | VLAN | Adresse | Passerelle | DNS |
|---|---|---|---|---|---|---|
srv-web |
404 | serveur 2 | 30 dmz |
192.168.30.20/24 |
192.168.30.1 |
9.9.9.9 |
srv-fichiers |
405 | serveur 2 | 20 serveurs |
192.168.20.20/24 |
192.168.20.1 |
9.9.9.9 |
Une équipe d'un seul serveur importe les deux VM sur ce serveur, et remplace « serveur 2 » par lui dans toute la suite.
Le site web rejoint la caisse dans la DMZ : c'est une machine que le public utilise, donc la plus exposée. Le partage contient les clients, les factures et la comptabilité de Pignon Sud : il rejoint la base de données, à l'abri dans le LAN.
Étape 1 — Ouvrir l'hôte ESXi¶
Depuis votre poste, ouvrez https://10.70.44.29. Le certificat est auto-signé : passez l'avertissement. Connectez-vous avec migration / Motdepasse123!, puis cliquez sur Virtual Machines.
C'est l'interface d'administration de VMware ESXi, l'équivalent de celle de Proxmox. Les deux VM sont là, éteintes. Votre compte peut les voir, mais pas les démarrer ni les modifier.
Étape 2 — Ajouter l'hôte ESXi comme stockage¶
Sur le serveur 2, allez dans Datacenter > Storage > Add > ESXi.
| Champ | Valeur |
|---|---|
| ID | esxi-pignonsud |
| Server | 10.70.44.29 |
| Username | migration |
| Password | Motdepasse123! |
| Skip Certificate Verification | coché |
Cliquez sur Add. Proxmox traite l'hôte ESXi comme un stockage de plus, dans lequel il lit des VM entières.
Étape 3 — Afficher les VM de l'hôte¶
Dans l'arborescence, sous le serveur 2, sélectionnez esxi-pignonsud, puis l'onglet Virtual Guests.
Les deux fichiers .vmx apparaissent. La première lecture peut prendre une à deux minutes : Proxmox interroge l'hôte ESXi à travers le réseau.
Étape 4 — Ouvrir l'assistant d'import de srv-web¶
Sélectionnez srv-web.vmx et cliquez sur Import.
Étape 5 — Remplir l'onglet General¶
| Champ | Valeur |
|---|---|
| VM ID | 404 |
| Name | srv-web |
| Default Storage | local-lvm |
| Default Bridge | vmbr0 |
| Live Import | décoché |
La mémoire et les cœurs sont déjà remplis. Proxmox les a lus dans le .vmx.
Étape 6 — Remplacer le matériel VMware¶
Passez à l'onglet Advanced. Proxmox propose de garder le matériel d'origine : VMware PVSCSI et une carte VMware vmxnet3. Remplacez-le :
| Élément | Valeur |
|---|---|
| SCSI Controller | VirtIO SCSI single |
| net0 · Model | VirtIO (paravirtualized) |
| net0 · Bridge | vmbr0 |
| net0 · VLAN Tag | 30 |
Le VLAN Tag est vide au départ. La VM était branchée sur le groupe de ports Publique (VLAN 460), et ce nom ne veut rien dire pour Proxmox : c'est à vous de choisir son nouveau réseau.
Étape 7 — Relire la configuration et importer¶
Passez à l'onglet Resulting Config.
Deux lignes doivent apparaître : scsihw: virtio-scsi-single et net0: virtio=00:0C:29:…,bridge=vmbr0,tag=30. L'adresse MAC commence par 00:0C:29, le préfixe de VMware : Proxmox l'a conservée.
Cliquez sur Import. Le journal affiche la copie du disque, puis TASK OK.
Étape 8 — Importer srv-fichiers¶
Recommencez les étapes 4 à 7 avec srv-fichiers.vmx et ces valeurs :
| Champ | Valeur |
|---|---|
| VM ID | 405 |
| Name | srv-fichiers |
| SCSI Controller | VirtIO SCSI single |
| net0 · Model | VirtIO (paravirtualized) |
| net0 · VLAN Tag | 20 |
L'onglet Advanced liste deux disques : le système sur scsi0, et le disque de données du partage sur scsi1. Laissez les deux cochés.
Étape 9 — Démarrer srv-web¶
Sélectionnez la VM 404, cliquez sur Start, puis sur Console. Connectez-vous avec root / Motdepasse123!.
Le clavier de ces VM est réglé en canadien-français, comme les postes de la salle.
Étape 10 — Constater l'état de la VM¶
nginx tourne. open-vm-tools est en état crashed : ce sont les outils de VMware, et ils cherchent un hyperviseur VMware qui n'existe plus.
La VM porte encore son adresse publique de Pignon Sud. Elle est maintenant dans le VLAN 30, où personne ne lui répondra à cette adresse.
Étape 11 — Réécrire l'adresse de srv-web¶
sed remplace un texte par un autre dans un fichier, sans ouvrir d'éditeur. La commande contient deux remplacements, séparés par ; : l'adresse, puis la passerelle.
Le DNS de srv-web est déjà 9.9.9.9 : rien à changer de ce côté.
Étape 12 — Redémarrer le réseau de srv-web¶
La passerelle de la DMZ répond : la VM est dans le bon VLAN, avec une adresse du bon réseau.
Étape 13 — Retirer les outils VMware de srv-web¶
apk del open-vm-tools open-vm-tools-guestinfo open-vm-tools-openrc open-vm-tools-vix open-vm-tools-timesync
La première commande retire le service du démarrage. La seconde désinstalle les paquets. apk a besoin d'Internet pour la suite : il sort par le pare-feu, grâce à la règle « dmz vers internet » de la semaine 4.
Étape 14 — Installer l'agent QEMU dans srv-web¶
L'agent ne démarre pas encore : il attend un canal de communication que Proxmox n'a pas créé. C'est l'étape suivante.
Étape 15 — Activer l'agent dans Proxmox pour srv-web¶
Sélectionnez la VM 404, ouvrez Options, double-cliquez sur QEMU Guest Agent et cochez Use QEMU Guest Agent.
Cliquez ensuite sur Shutdown, attendez que la VM soit éteinte, puis sur Start. Un simple Reboot ne suffit pas : le canal de l'agent n'est ajouté qu'au démarrage à froid de la VM.
Le panneau Summary affiche maintenant 192.168.30.20. C'est l'agent qui remonte cette adresse à Proxmox.
Étape 16 — Réécrire l'adresse de srv-fichiers¶
Démarrez la VM 405, ouvrez sa Console et connectez-vous avec root / Motdepasse123!.
Étape 17 — Réécrire le DNS de srv-fichiers¶
Le DNS de Pignon Sud était leur routeur, 10.0.0.1. Il n'existe plus.
Étape 18 — Redémarrer le réseau de srv-fichiers¶
La passerelle du LAN répond.
Étape 19 — Corriger l'export NFS¶
Le partage n'autorise que l'ancien réseau de Pignon Sud. La VM répond maintenant au ping, mais tous les clients de Cyclo-Nord recevraient un refus.
La commande sed utilise ici | comme séparateur, parce que le texte à remplacer contient lui-même un /. exportfs -ra relit le fichier et applique la nouvelle liste sans redémarrer le service.
Étape 20 — Remplacer les outils VMware de srv-fichiers¶
Refaites les étapes 13, 14 et 15 sur srv-fichiers, avec la VM 405.
À la fin, le panneau Summary de la VM 405 affiche 192.168.20.20.
Étape 21 — Ouvrir le site depuis votre poste¶
Depuis votre poste, ouvrez http://192.168.30.20.
Le site de Pignon Sud répond, dans la DMZ de Cyclo-Nord, derrière le même pare-feu que la caisse. Votre poste l'atteint par la route vers 192.168.30.0/24 ajoutée à l'exercice 1.
Étape 22 — Installer le client NFS sur srv-donnees¶
Ouvrez la console de srv-donnees et connectez-vous avec etudiant / Motdepasse123!.
Étape 23 — Monter le partage depuis srv-donnees¶
Les dossiers de Pignon Sud sont là : clients, comptabilité, bons de travail. Le serveur de fichiers a changé d'hyperviseur, de matériel, de réseau et d'adresse, et son contenu est intact.
L'inventaire de l'ancien responsable décrit un réseau qui n'existe plus. C'est à l'équipe de Cyclo-Nord de tenir le sien à jour, dans le README.md du dépôt.
Étape 24 — Vérifier que la DMZ n'atteint pas le partage¶
Revenez dans la console de srv-web :
Aucune réponse. La règle « dmz ne parle pas au lan » de la semaine 4 s'applique au site de Pignon Sud comme à la caisse : si le site est un jour compromis, les données clients restent hors de portée.
Étape 25 — Retirer le stockage ESXi¶
Allez dans Datacenter > Storage, sélectionnez esxi-pignonsud et cliquez sur Remove.
Proxmox gardait le mot de passe du compte migration en clair dans /etc/pve/priv/storage/esxi-pignonsud.pw. L'import est fini : ce mot de passe n'a plus de raison d'être sur le serveur.
Vérification finale¶
-
qm config 404etqm config 405montrentscsihw: virtio-scsi-singleet une cartevirtio -
srv-webest dans le VLAN 30 etsrv-fichiersdans le VLAN 20 - Le panneau Summary des deux VM affiche leur adresse, remontée par l'agent
-
http://192.168.30.20affiche le site de Pignon Sud depuis votre poste -
srv-donneesmonte le partage et y lit les dossiers de Pignon Sud -
srv-webne joint pas192.168.20.20 - Le stockage
esxi-pignonsudn'existe plus
Question 1¶
Vous importez srv-web en laissant l'onglet Advanced tel quel. Que se passe-t-il ?
- a) L'import échoue, parce que Proxmox ne sait pas émuler le matériel VMware.
- b) La VM démarre sur du matériel VMware émulé, et sa carte tombe dans le VLAN natif du câble.
- c) Proxmox convertit de lui-même le matériel en VirtIO et reprend le VLAN 460.
Voir la réponse
**b) La VM démarre sur du matériel VMware émulé, et sa carte tombe dans le VLAN natif du câble.** QEMU sait imiter `pvscsi` et `vmxnet3`, donc la VM démarre. Mais sans VLAN Tag, ses trames partent sans étiquette et arrivent dans le VLAN natif, le réseau de gestion du collège : exactement là où un serveur de l'entreprise ne doit pas se trouver. Le choix c) prête à Proxmox deux décisions qu'il ne prend pas. Il garde le matériel d'origine par défaut, et il n'a aucun numéro de VLAN à reprendre : la VM ne connaissait que le nom d'un groupe de ports.Question 2¶
Après l'étape 18, srv-fichiers répond au ping. Pourquoi faut-il encore corriger /etc/exports ?
- a) Parce que le service NFS ne redémarre pas de lui-même après une migration.
- b) Parce que le partage n'autorise que les clients de l'ancien réseau,
10.0.0.0/24, et refuse tous ceux de Cyclo-Nord. - c) Parce que le pare-feu bloque NFS entre deux VM du même VLAN.
Voir la réponse
**b) Parce que le partage n'autorise que les clients de l'ancien réseau, `10.0.0.0/24`, et refuse tous ceux de Cyclo-Nord.** Le réseau de la VM et la liste d'accès du service sont deux réglages distincts. Le premier dit où la VM se trouve ; le second dit qui a le droit de lui parler. La migration a changé le premier, et rien n'a mis le second à jour. Le choix c) ne tient pas : `srv-donnees` et `srv-fichiers` sont dans le même VLAN, et leur trafic passe directement par le switch, sans jamais traverser le pare-feu.En cas de problème¶
| Symptôme | Cause probable | Correction |
|---|---|---|
| L'onglet Virtual Guests reste vide ou affiche une erreur | Mauvais compte, mauvais mot de passe, ou hôte injoignable | Vérifier la fenêtre de l'étape 2, puis https://10.70.44.29 depuis le poste |
L'assistant affiche Virtual guest seems to be running on source host |
La VM tourne encore sur l'ESXi | Prévenir l'enseignant avant d'importer |
ping 192.168.30.1 échoue depuis srv-web |
VLAN Tag oublié ou erroné | Hardware > net0, VLAN Tag 30 |
apk affiche temporary error (try again later) |
DNS encore à 10.0.0.1, ou pas de route vers Internet |
cat /etc/resolv.conf, puis ping 9.9.9.9 |
| Les caractères tapés ne correspondent pas aux touches | Clavier du poste autre que canadien-français | Sur un poste en clavier US : rc-update del loadkmap boot, puis reboot |
mount.nfs: access denied by server |
/etc/exports pas corrigé, ou exportfs -ra oublié |
Étape 19 |
mount: bad option ou wrong fs type |
nfs-common absent sur srv-donnees |
Étape 22 |
| Summary n'affiche aucune adresse | Agent non activé, ou VM seulement redémarrée | Étape 15 : Shutdown, puis Start |
rc-service qemu-guest-agent start échoue |
L'option QEMU Guest Agent n'est pas encore activée | Normal avant l'étape 15, l'agent démarrera après |
Pour aller plus loin¶
- Remettez le site en ligne. Dans OPNsense, Firewall > NAT > Destination NAT permet de rediriger le port 80 de l'adresse WAN du pare-feu vers
192.168.30.20. Le site redevient public, avec un pare-feu devant cette fois. - Comparez
qm config 404avec le fichiersrv-web.vmxd'origine, visible dans le Host Client de l'ESXi. Retrouvez la ligne Proxmox qui correspond à chaque ligne VMware.


















