Dans le premier article, on a monté Proxmox VE 9 dans une machine virtuelle Azure et installé un Windows 11 dedans, en choisissant volontairement du matériel virtuel que Windows reconnaît tout seul : un disque SATA et une carte Intel E1000. Ça marche, c’est reposant, et c’est lent. Cette fois, on refait la même VM en VirtIO de bout en bout, pilotes chargés pendant l’installation, et on termine par le QEMU guest agent.
Si vous n’avez pas encore de nœud Proxmox sous la main, commencez par le premier article, celui-ci reprend exactement là où il s’arrête. Mais vous trouverez également une grande quantité de vidéos sur YouTube qui vous aideront à en savoir un peu plus sur Proxmox et comment le mettre en place :
Pour vous guider plus facilement dans cet article, voici des liens rapides :
1. VirtIO, pourquoi Windows ne le voit pas tout seul
Quand un hyperviseur présente un disque ou une carte réseau à un invité, il a deux façons de faire. La première est l’émulation : QEMU imite au bit près un vrai contrôleur qui a existé, un SATA AHCI ou une carte Intel E1000. L’invité croit voir du matériel qu’il connaît depuis quinze ans, il charge son pilote habituel, tout fonctionne. Le prix à payer, c’est que chaque accès disque et chaque paquet réseau doit être traduit par l’hôte, instruction par instruction.
La seconde façon est la paravirtualisation, et c’est ce qu’est VirtIO : plutôt que d’imiter un matériel existant, l’hyperviseur expose une interface conçue pour la virtualisation, avec des files de requêtes partagées entre l’invité et l’hôte. L’invité sait qu’il est virtualisé et parle directement à l’hyperviseur. Beaucoup moins de traduction, beaucoup moins de CPU consommé, nettement plus d’IOPS et de débit.
Le revers est évident : il faut que l’invité connaisse cette interface. Le noyau Linux embarque les pilotes VirtIO depuis des années, donc une VM Debian ou Ubuntu démarre en VirtIO sans que vous ayez rien à faire. Windows non. Le programme d’installation ne contient que des pilotes pour du matériel émulé classique, et c’est précisément pour ça que l’écran de sélection du disque reste désespérément vide quand on lui présente un disque VirtIO SCSI.
Les pilotes existent, ils sont développés dans le cadre du projet virtio-win, distribués sous forme d’une ISO, et signés. Toute la manipulation consiste à les rendre disponibles au bon moment.
Le rôle
Le dossier sur l’ISO
Quand on le charge
Contrôleur de disque VirtIO SCSI
vioscsi
Pendant l’installation, à l’écran de sélection du disque
Contrôleur de disque bus VirtIO simple
viostor
Même moment, si le disque est déclaré en bus virtio et non scsi
Carte réseau VirtIO
NetKVM
Pendant l’OOBE, ou après le premier démarrage
Ballon de mémoire
Balloon
Après installation, facultatif
Agent invité QEMU
guest-agent
Une fois sur le bureau
Attention : ne confondez pas vioscsi et viostor. Le bon dossier dépend de la façon dont le disque est déclaré dans Proxmox : bus SCSI avec un contrôleur VirtIO SCSI pour le premier, bus VirtIO Block pour le second. Dans cet article, le disque est en SCSI, donc ce sera vioscsi.
2. Étape 1 : récupérer et uploader l’ISO virtio-win
L’ISO se télécharge depuis le dépôt du projet Fedora, qui héberge les binaires signés. Deux versions y cohabitent, la stable et la latest. Prenez la stable.
Attention : votre VM aura le démarrage sécurisé actif, puisque Windows 11 l’exige. Un pilote dont la signature n’est pas reconnue sera refusé sans message d’erreur explicite, vous verrez simplement le pilote ne pas apparaître dans la liste. La build stable évite ce genre de surprise.
Une fois le fichier récupéré, on l’envoie sur le nœud, exactement comme l’ISO Windows dans le premier article.
Dans l’arborescence, sélectionnez le stockage local du nœud, puis ISO Images.
Cliquez sur Upload, choisissez le fichier virtio-win.iso, puis Upload.
Vous pouvez aussi passer par Download from URL si vous préférez que le nœud télécharge lui-même, ou par la ligne de commande dans le répertoire des images.
3. Étape 2 : créer la VM en VirtIO intégral
On relance Create VM. Les onglets sont les mêmes que dans le premier article, seuls trois écrans changent.
Dans General, nommez la machine, puis cliquer sur Suivant :
Dans OS, sélectionnez l’ISO Windows 11, le type Microsoft Windows et la version 11/2022/2025. Cette fois, cochez bien Add additional drive for VirtIO drivers, et surtout choisissez l’ISO virtio-win dans le champ du dessous.
Mon retour terrain : c’est très exactement l’erreur que j’ai commise à mon premier essai. Le champ propose par défaut la seule ISO présente sur le stockage, donc celle de Windows, et rien ne vous signale que le lecteur supplémentaire monte deux fois le même DVD. Vous vous retrouvez à chercher des pilotes qui n’ont jamais été là.
Dans System, rien ne change par rapport au premier article, les pré-requis Windows 11 restent les mêmes.
Machine : q35.
BIOS : OVMF (UEFI), avec Add EFI Disk sur local-1TB et Pre-Enroll keys coché.
Add TPM coché, stockage local-1TB, version v2.0.
SCSI Controller : VirtIO SCSI single.
Cochez Qemu Agent dès maintenant, ça vous évitera d’y revenir plus tard.
Dans Disks, on garde cette fois le disque en SCSI, sur le contrôleur VirtIO SCSI single. Taille 64 Gio, format qcow2, stockage local-1TB. Activez IO thread, qui donne au disque son propre thread d’entrées et sorties, ce qui n’a d’intérêt qu’avec un contrôleur de type single, précisément celui qu’on a choisi.
Les onglets CPU et Memory ne changent pas : un socket, deux cœurs, 8192 Mio.
Dans Network, on garde le modèle VirtIO (paravirtualized) proposé par défaut, sur le bridge vmbr0.
L’écran Confirm permet de tout relire avant de valider. Vérifiez ces lignes.
ide0 pointe sur virtio-win-0.1.302.iso en media=cdrom, donc les pilotes sont bien montés
tpmstate0 est en version=v2.0 et efidisk0 en pre-enrolled-keys=1
cores vaut au moins 2, exigence de Windows 11
Attention : la liste du récapitulatif est triée par ordre alphabétique et tient rarement sur un écran. Faites-la défiler jusqu’en haut pour contrôler bios et cores, ce sont les deux valeurs qu’on oublie le plus souvent de vérifier.
4. Étape 3 : vérifier l’ordre de démarrage
Avec deux lecteurs CD sur la même machine, un détail peut vous coûter un quart d’heure : si ide0, le lecteur des pilotes, passe devant ide2 dans l’ordre de démarrage, la VM tente de démarrer sur une ISO qui n’est pas bootable et vous atterrissez dans un shell UEFI sans comprendre pourquoi.
Sélectionnez la VM, puis Options.
Double-cliquez sur Boot Order.
Placez ide2 en premier, scsi0 en second, et décochez ide0.
Décocher ide0 ne le démonte pas, le lecteur reste accessible depuis Windows. Il n’est simplement plus candidat au démarrage.
5. Étape 4 : charger le pilote vioscsi pendant l’installation
Ouvrez la Console de la VM et démarrez-la. L’installation de Windows 11 commence normalement : langue, clavier, acceptation des conditions.
Puis arrive le moment qu’on attendait. L’écran de sélection de l’emplacement d’installation est vide, et Windows affiche « Install driver to show hardware ». Rien d’anormal : il ne sait pas parler à un contrôleur VirtIO SCSI.
Cliquez sur Browse.
Dans l’arborescence, descendez jusqu’au dossier vioscsi. Il est plus bas que les premiers dossiers affichés, après viorng.
Dépliez vioscsi, puis w11, puis amd64, et validez par OK.
Windows propose alors le pilote « Red Hat VirtIO SCSI controller ». Sélectionnez-le et installez-le :
Mon retour terrain : si le dossier w11 n’existe pas sous vioscsi, prenez w10 en amd64. Les deux branches partagent le même binaire sur les builds récentes, et certaines ne créent pas le dossier w11. Laissez également cochée la case Hide drivers that aren’t compatible, elle vous évite de charger un pilote pour la mauvaise architecture.
L’écran se recharge, et le disque de 64 Go apparaît.
Le reste de l’installation se déroule sans intervention.
6. Étape 5 : charger NetKVM pendant l’OOBE
Après les redémarrages, l’expérience de première ouverture de session démarre, et un second mur vous attend. Windows affiche « Let’s connect you to a network » sans proposer la moindre connexion : même histoire que pour le disque, la carte VirtIO lui est inconnue.
Bonne nouvelle, Windows 11 propose désormais un bouton pour s’en sortir sans bricolage.
Cliquez sur Install driver.
Parcourez le lecteur virtio-win, remontez la liste jusqu’à NetKVM, tout en haut.
Ouvrez NetKVM, puis w11, puis amd64, et validez par Select Folder.
Windows installe « Red Hat VirtIO Ethernet Adapter », la carte apparaît, et elle reçoit son adresse du dnsmasq configuré dans le premier article, dans la plage 10.10.10.100 à 10.10.10.200. L’OOBE enchaîne alors sur la recherche de mises à jour.
Déroulez la fin de l’OOBE normalement :
Jusqu’au moment où le bureau s’affiche :
7. Étape 6 : installer le QEMU guest agent
Dernière brique. L’agent invité n’est pas un pilote de disque ni de carte réseau : c’est un petit service qui tourne dans Windows et dialogue avec l’hôte par un canal série virtuel dédié. Il fait remonter les adresses IP dans l’interface, permet un arrêt propre demandé au système invité, et autorise le gel des écritures pendant un instantané ou une sauvegarde.
Le canal côté hôte existe déjà, puisqu’on a coché Qemu Agent à la création. Reste la moitié invitée. D’ailleurs cela se voit ici car les adresses IP ne remontent pas encore :
On voit d’ailleurs également le pont de communication n’est pas encore correctement reconnu par Windows :
Dans Windows, ouvrez l’explorateur et le lecteur virtio-win.
Entrez dans le dossier guest-agent.
Lancez le paquet en version 64 bits et déroulez l’assistant.
Attendez la fin de l’installation de l’agent :
Vérifiez ensuite dans la console des services que QEMU Guest Agent est démarré et en mode automatique.
Enfin, il faut mettre à jour le pilote au niveau du gestionnaire de périphériques :
Sur l’ISO, choisissez l’arborescence corresponde à votre OS :
Attention : si vous aviez oublié de cocher l’option à la création et que vous l’activez après coup dans Options, un redémarrage demandé depuis Windows ne suffira pas. Il faut un arrêt complet puis un démarrage depuis Proxmox, pour que QEMU recrée la machine avec son canal série. C’est la cause numéro un des agents installés qui ne remontent rien.
Profitez-en pour installer le reste des pilotes, ballon de mémoire compris, avec le programme virtio-win-guest-tools présent à la racine du lecteur. Il pose tout d’un coup.
8. Étape 7 : vérifier que tout est bien en VirtIO
Trois contrôles, deux côté Proxmox, un côté Windows.
D’abord, l’onglet Summary de la VM doit maintenant afficher les adresses IP de l’invité, ce qui prouve que l’agent répond.
Ensuite, depuis le shell du nœud, deux commandes confirment le dialogue. Remplacez 103 par votre VMID.
La première ne renvoie rien quand tout va bien, ce qui est la définition d’un bon silence. La seconde rend la configuration réseau vue de l’intérieur de Windows, au format JSON.
Vous pouvez aussi relire la configuration complète de la machine :
qm config 103
Enfin, côté Windows, le gestionnaire de périphériques doit montrer le contrôleur et la carte Red Hat VirtIO, et surtout aucun point d’exclamation jaune.
9. Les pièges à retenir
Le piège
Le symptôme
La parade
Second lecteur pointant sur l’ISO Windows
Aucun pilote disponible au moment de charger
Sélectionner explicitement virtio-win dans le champ ISO du lecteur supplémentaire
Mauvais dossier de pilote
Le pilote n’apparaît pas dans la liste
vioscsi pour un bus SCSI, viostor pour un bus VirtIO Block
Ordre de démarrage
Shell UEFI au lieu du programme d’installation
Placer ide2 devant, décocher ide0
Build latest des pilotes
Chargement refusé silencieusement avec le démarrage sécurisé
Prendre la build stable, signée
Dossier w11 absent
Rien à sélectionner dans l’arborescence
Utiliser w10 en amd64, c’est le même binaire
Pas de carte pendant l’OOBE
Impossible de terminer la configuration
Bouton Install driver, puis NetKVM, w11, amd64
Guest agent activé à chaud
Aucune adresse IP ne remonte
Arrêt complet puis démarrage depuis Proxmox, pas un redémarrage Windows
Bascule directe SATA vers SCSI
Écran bleu INACCESSIBLE_BOOT_DEVICE
Faire connaître le pilote avec un disque temporaire avant de changer le bus
Pas d’instantané avant conversion
Machine morte, rien pour revenir en arrière
Instantané systématique avant de toucher au bus du disque système
Conclusion
Voilà, en sept étapes, vous avez une machine Windows 11 entièrement paravirtualisée, disque et réseau, avec son agent invité qui dialogue avec l’hôte. La différence de confort à l’usage est immédiate : la console répond mieux, les adresses IP remontent dans l’interface, et l’arrêt depuis Proxmox devient un vrai arrêt propre.
Les trois points que je retiens : le lecteur de pilotes doit pointer sur la bonne ISO, sinon toute la suite est un mirage ; vioscsi pour le disque et NetKVM pour la carte, pas l’inverse ; et une conversion après coup se fait toujours avec un instantané et un disque temporaire, jamais en changeant le bus directement.
🤖
Contenu assisté par IACet article a été rédigé avec l’assistance d’une intelligence artificielle et relu par l’auteur. Conformément à l’AI Act (UE) en vigueur depuis le 2 août 2026.
Proxmox, vous en entendez parler partout depuis quelques mois, vous savez vaguement que c’est un hyperviseur open source qui monte, mais vous n’avez jamais mis les mains dedans ? Cet article est fait pour vous. On part d’un abonnement Azure et d’un portail vide, et on va dérouler, capture après capture, jusqu’à un bureau Windows 11 qui tourne dans Proxmox VE, lui-même hébergé dans une machine virtuelle Azure.
Je suis MVP Microsoft depuis 2024, je passe mes journées dans Azure, AVD/Windows 365 ou Copilot, mais regarder ce que fait le reste du monde m’a jamais fait de mal. Azure est d’ailleurs le lab le plus rapide à monter pour ça : pas de serveur à acheter, pas de clé USB à graver, pas de machine à démonter dans le garage. Une VM, une soirée devant vous, et vous supprimez le groupe de ressources à la fin.
Il existe déjà beaucoup de vidéos YouTube qui vous montrent Proxmox :
Ce que je voulais avoir pour tester de mon côté, c’était un premier-à-pas complet sur Azure, avec les vrais pièges du réseau imbriqué et les écrans que vous allez réellement voir. C’est ce que vous trouverez ci-dessous, avec en prime les concepts Proxmox expliqués avec des mots d’admin Azure.
Windows 11 tourne dans Proxmox VE, qui tourne lui-même dans une machine virtuelle Azure.
Pour vous guider plus facilement dans cet article, voici des liens rapides :
Proxmox VE, c’est une distribution Debian sur laquelle l’éditeur autrichien Proxmox Server Solutions a posé trois choses : KVM pour les machines virtuelles complètes, LXC pour les conteneurs système, et une interface web qui pilote le tout sur le port 8006. Pas d’agent à installer sur un poste d’administration, pas de console lourde : un navigateur suffit.
Le vocabulaire est la première marche à franchir, parce qu’il ressemble à celui que vous connaissez sans vouloir dire exactement la même chose.
Le nœud est un serveur qui exécute Proxmox VE. Dans cet article, il s’appelle proxmox-ve et il n’y en a qu’un.
Le datacenter n’est pas un bâtiment, c’est le niveau logique au-dessus des nœuds. C’est là que l’on déclare les stockages, les utilisateurs, les permissions, les sauvegardes et les règles de pare-feu communes.
Le cluster réunit plusieurs nœuds qui partagent leur configuration à travers un système de fichiers répliqué, pmxcfs, monté sur /etc/pve. Sur un nœud isolé comme ici, le service tourne quand même : c’est pour ça que pve-cluster doit être actif même sans cluster.
Le stockage se déclare au niveau du datacenter, avec un type (Directory, LVM, ZFS, NFS, Ceph, et d’autres) et une liste de contenus autorisés (ISO, disques de VM, sauvegardes, modèles de conteneurs).
Le bridge, nommé vmbr0, vmbr1 et ainsi de suite, est un commutateur Linux auquel on raccorde les cartes réseau des invités.
Enfi, si vous venez du monde Microsoft, la table de correspondance suivante vous évitera de traduire mentalement à chaque écran :
Objet Proxmox
Ce que c’est
L’équivalent que vous connaissez
Datacenter
Le niveau logique qui regroupe nœuds, stockages et utilisateurs
La console de gestion, le périmètre d’administration
Nœud
Un serveur qui exécute Proxmox VE
Un hôte Hyper-V
Cluster
Plusieurs nœuds qui partagent leur configuration
Un cluster de basculement
Stockage
Un emplacement déclaré, avec des types de contenus autorisés
Un volume partagé de cluster, un partage SMB
vmbr0
Un commutateur Linux pour les cartes des invités
Un commutateur virtuel Hyper-V
QEMU / KVM
Une machine virtuelle complète, avec son BIOS ou son UEFI
Une VM Hyper-V de génération 1 ou 2
LXC
Un conteneur système qui partage le noyau de l’hôte
Un conteneur Windows en mode process
Mon retour terrain : ne cherchez pas l’équivalent d’un groupe de ressources ou d’une souscription dans Proxmox : il n’y en a pas. La séparation se fait avec les pools de ressources et les permissions, pas avec une hiérarchie de conteneurs de facturation. Au mieux, il existe différentes vues possibles
2. Pourquoi le tester sur Azure, et ce que ça implique
Pour faire tourner Proxmox, il faut un processeur qui expose ses extensions de virtualisation. Dans une VM Azure, cela s’appelle la virtualisation imbriquée, et toutes les tailles ne la proposent pas. La série que j’ai utilisée ici, la Dsv3, la prend en charge, tout comme le stockage Premium dont on a besoin pour le disque de données.
La même page documente la taille que j’ai prise, Standard_D16s_v3, avec ses 16 processeurs virtuels et ses 64 Gio de mémoire. C’est confortable, et c’est surtout ce qui permet de donner 8 Gio et 2 cœurs à une VM Windows 11 sans que la machine hôte ne s’écroule.
Pour rappel, jusqu’ici, monter un lab Proxmox voulait dire trouver une machine physique. Là, il vous faut un abonnement, une taille de VM correcte, et une heure.
Attention : cette taille n’est pas gratuite. Le portail affichait 700,80 $ par mois sur ma capture, ce qui fait à peu près 1 $ de l’heure. Arrêtez et désallouez la VM dès que vous avez fini de jouer, et supprimez le groupe de ressources quand le lab ne sert plus. La facture d’un lab oublié est le pire souvenir que l’on puisse ramener d’un article de blog.
Trois limites à connaître avant de commencer, pour ne pas les découvrir en cours de route : le réseau des invités ne pourra pas être ponté directement sur la carte Azure, il faudra passer par du NAT, on y revient en détail plus bas ; les performances resteront celles d’un hyperviseur dans un hyperviseur, donc correctes pour un lab et pas pour de la production ; et un cluster Proxmox multi-nœuds sur Azure demanderait un travail supplémentaire, la découverte du cluster reposant sur des mécanismes réseau que le cloud n’aime pas beaucoup.
3. Étape 0 : les pré-requis
Avant de continuer les étapes de cet article, assurez-vous que vous disposez bien d’une souscription Azure active.
4. Étape 1 : créer la machine virtuelle Azure
Rien d’exotique dans cet assistant, mais quatre champs méritent votre attention.
Dans Project details, créez un groupe de ressources dédié. Le mien s’appelle proxmox-rg : tout sera dedans, donc tout partira en une seule suppression.
Dans Instance details, nommez la VM proxmox-ve, choisissez votre région, laissez Security type sur Standard et prenez l’image Debian 13 « Trixie » x64 Gen1.
Dans Size, sélectionnez Standard_D16s_v3. C’est le champ le plus important de tout l’assistant.
La taille Standard_D16s_v3 et son étiquette de prix mensuelle. C’est elle qui conditionne tout le reste.
Dans Administrator account, j’ai gardé l’authentification par mot de passe avec l’utilisateur. La clé SSH reste évidemment le bon choix si vous comptez garder la machine.
Dans Public inbound ports, choisissez Allow selected ports puis SSH (22). Le portail vous prévient que la règle sera ouverte à tout Internet : on la resserrera à l’étape suivante.
L’onglet Disks est celui qui prépare le stockage des futures VM. Le disque système de 30 Gio suffit largement pour Debian et les paquets Proxmox, mais il ne suffira pas pour les disques des invités.
Laissez le disque OS à Image default (30 GiB) en Premium SSD.
Cliquez sur Create and attach a new disk et créez un disque de 1024 Gio en Premium SSD LRS. C’est lui qui deviendra local-1TB dans Proxmox.
Le disque de données de 1 To deviendra le stockage local-1TB de Proxmox.
L’onglet Networking se contente des valeurs par défaut : un réseau virtuel neuf, un sous-réseau en 172.16.0.0/24, une adresse IP publique et un groupe de sécurité réseau en mode Basic. Retenez bien le plan d’adressage du sous-réseau, il ne devra surtout pas chevaucher le réseau interne que l’on créera dans Proxmox.
Lancez la création, prenez un café, et récupérez l’adresse IP publique dans la vue d’ensemble de la VM.
5. Étape 2 : ouvrir le port 8006 dans le NSG
L’interface web de Proxmox écoute en HTTPS sur le port 8006. Comme ce port n’existe dans aucun modèle du portail, il faut ajouter la règle à la main dans le groupe de sécurité réseau de la carte.
Ouvrez la VM, puis Networking et Network settings.
Cliquez sur Create port rule puis Inbound port rule.
Source : IP Addresses, et saisissez votre adresse IP publique. Destination : Any. Port de destination : 8006. Protocole : TCP. Action : Allow. Nommez la règle, la mienne s’appelle ProxmoxControlPlane.
Profitez-en pour resserrer la règle SSH sur la même source.
Les deux seules règles entrantes qui comptent, chacune limitée à mon adresse IP publique.
Attention : n’ouvrez jamais 8006 en source Any. Vous exposeriez à Internet une console d’administration d’hyperviseur avec un formulaire de connexion root, et les robots d’analyse de ports mettent quelques minutes à la trouver. Source restreinte, ou Azure Bastion, ou rien.
Gardez l’adresse IP publique sous la main, elle apparaît dans les propriétés de la machine.
L’adresse IP publique, à saisir dans le navigateur avec le port 8006.
6. Étape 3 : vérifier la virtualisation imbriquée et préparer Debian
Connectez-vous en SSH sur l’adresse publique, avec le compte azureuser. Première chose à faire, avant même de penser à installer quoi que ce soit : vérifier que le processeur expose bien ses extensions de virtualisation et que le périphérique KVM existe.
egrep -c '(vmx|svm)' /proc/cpuinfo
ls -l /dev/kvm
La première commande doit renvoyer un nombre supérieur à zéro, 32 dans mon cas, ce qui correspond aux cœurs logiques qui exposent vmx. La seconde doit afficher le périphérique /dev/kvm. Si l’une des deux échoue, inutile d’aller plus loin : votre taille de VM ne prend pas en charge la virtualisation imbriquée, changez-la.
Le moment de vérité. Les extensions de virtualisation sont exposées et /dev/kvm est bien là.
On regarde ensuite dans quoi on met les pieds :
cat /etc/os-release
hostnamectl
ip addr
hostnamectl confirme Virtualization: microsoft, autrement dit on tourne déjà dans un hyperviseur.
Trois informations à retenir de cet écran : la distribution est bien une Debian 13 « Trixie », hostnamectl annonce Virtualization: microsoft puisque nous sommes déjà invités d’un hyperviseur, et la carte eth0 porte l’adresse privée 172.16.0.4.
Vient ensuite la manipulation la plus discrète et la plus importante de tout l’article. Par défaut, le fichier /etc/hosts d’une image Azure ne contient pas de ligne associant le nom d’hôte à l’adresse IP privée.
cat /etc/hosts
Il faut ajouter cette ligne, avec votre adresse privée et votre nom d’hôte, avant d’installer Proxmox.
echo '172.16.0.4 proxmox-ve' | sudo tee -a /etc/hosts
La ligne qui manque presque toujours et qui fait échouer l’installation.
Attention : cette étape n’est pas cosmétique. Proxmox VE résout le nom du nœud au démarrage de pve-cluster pour construire l’arborescence de /etc/pve. Si le nom d’hôte ne se résout pas vers l’adresse privée, l’installation se passe mal et l’interface web refuse de s’afficher correctement. Adaptez l’adresse et le nom à votre machine.
7. Étape 4 : installer Proxmox VE 9
On commence par mettre la Debian à niveau. Les images Azure sont propres, mais rarement à jour au jour près.
sudo apt update
sudo apt full-upgrade -y
On ajoute ensuite la clé de signature du dépôt Proxmox pour Debian 13.
Puis le dépôt lui-même. J’utilise ici pve-no-subscription, celui qui ne demande pas de clé d’abonnement.
echo "deb [signed-by=/usr/share/keyrings/proxmox-release-trixie.gpg] http://download.proxmox.com/debian/pve trixie pve-no-subscription" | sudo tee /etc/apt/sources.list.d/pve-install-repo.list
Attention : le dépôt pve-no-subscription n’est pas destiné à la production. Il reçoit les paquets avant le dépôt entreprise et sert justement aux labs et aux tests. Pour une plateforme sérieuse, prenez un abonnement Proxmox et le dépôt qui va avec.
sudo apt update
Le dépôt Proxmox répond. On peut installer.
Place à l’installation !
sudo apt install proxmox-ve
APT annonce la couleur : 603 paquets à installer, 829 Mo à télécharger, 3,6 Go d’espace disque. On valide et on laisse travailler.
603 paquets et 3,6 Go sur le disque. Proxmox VE, ce n’est pas un petit paquet.
En cours de route, deux écrans bleus de configuration de paquet vont vous interrompre. Ils méritent chacun une réponse réfléchie.
Le premier concerne /etc/default/grub, qu’Azure a modifié pour la console série. Choisissez keep the local version currently installed :
Gardez la version locale. C’est celle qu’Azure a préparée pour votre VM.
Le second demande sur quel périphérique installer GRUB. Cochez /dev/sda, le disque système, et rien d’autre.
On coche /dev/sda uniquement, surtout pas le disque de données.
Attention : ne cochez surtout pas /dev/sdc dans cet écran. C’est votre disque de données de 1 To, il n’a rien à faire dans la chaîne de démarrage.
La fin de l’installation défile ensuite toute seule, avec la génération de la configuration GRUB et la mise en place des services Proxmox.
Le noyau pve apparaît dans la liste. Bon signe.
8. Étape 5 : vérifier que les services répondent
Avant de toucher au stockage et au réseau, on vérifie que les trois services principaux sont bien démarrés. C’est aussi une bonne occasion de comprendre qui fait quoi.
pveproxy est le serveur d’API et le frontal web, celui qui écoute sur 8006.
systemctl status pveproxy --no-pager
pve-cluster porte le système de fichiers de configuration pmxcfs, monté sur /etc/pve. Même sur un nœud isolé, s’il ne tourne pas, rien ne fonctionne.
systemctl status pve-cluster --no-pager
pvedaemon exécute les tâches demandées par l’API, du démarrage d’une VM à la création d’un disque.
systemctl status pvedaemon --no-pager
Dernière vérification, l’écoute effective du port.
sudo ss -lntp | grep 8006
Le port 8006 écoute. Reste à l’ouvrir côté Azure.
Mon retour terrain : sur ma machine, pveproxy affichait un ExecStartPost en échec, lié à la mise à jour du catalogue d’abonnement. Le service tournait très bien malgré tout : c’est une conséquence normale du dépôt sans abonnement, pas un problème d’installation.
9. Étape 6 : préparer le disque de 1 To
Le disque de données attaché à l’étape 1 est là, mais il est vierge. Première commande, et surtout ne formatez rien avant de l’avoir lue.
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINTS,MODEL
sdb est le disque temporaire d’Azure. Il est déjà monté sur /mnt et il ne faut rien y stocker.
Trois disques apparaissent. sda de 30 Go porte le système, sdb de 128 Go est monté sur /mnt, et sdc de 1 To est notre disque de données, encore sans partition.
Attention :sdb est le disque temporaire d’Azure. Son contenu peut disparaître à chaque désallocation ou opération de maintenance de la plateforme. Il est tentant de l’utiliser parce qu’il est déjà monté et rapide, mais n’y placez jamais un disque de machine virtuelle. Le disque à utiliser est sdc.
On vérifie une dernière fois que sdc ne contient aucune signature de système de fichiers, puis on le partitionne.
Notez l’UUID affiché ici. C’est lui qui ira dans /etc/fstab.
Reste à créer le point de montage et à le rendre permanent. Relevez l’UUID affiché par blkid et reportez-le dans /etc/fstab, l’UUID ci-dessous est le mien.
sudo mkdir -p /mnt/pve-data
sudo blkid /dev/sdc1
echo 'UUID=111c8254-c5e6-43f1-811f-497fe6a1513c /mnt/pve-data ext4 defaults 0 2' | sudo tee -a /etc/fstab
sudo mount -a
df -h /mnt/pve-data
Attention : montez toujours par UUID, jamais par /dev/sdc1. L’ordre d’énumération des disques d’une VM Azure n’est pas garanti d’un démarrage à l’autre, et un /etc/fstab qui pointe sur le mauvais périphérique donne une machine qui ne redémarre pas.
10. Étape 7 : le réseau, la partie qui change tout sur Azure
Voilà la section pour laquelle j’ai écrit cet article. Sur un Proxmox physique, la configuration réseau par défaut crée un bridge vmbr0 qui embarque la carte physique du serveur : les VM invitées se retrouvent directement sur le réseau de l’entreprise, avec une adresse du même plan que l’hôte. Sur Azure, cela ne fonctionne pas.
La raison est simple : une carte réseau Azure est associée à une configuration IP et à une adresse MAC connues de la plateforme. Une trame émise par une VM imbriquée, avec sa propre adresse MAC et sa propre adresse IP, n’est pas routée par le réseau virtuel. La documentation Microsoft sur la virtualisation imbriquée décrit d’ailleurs le même symptôme côté Hyper-V, avec le NAT comme réponse.
La réponse côté Proxmox tient en trois briques comme on pourrait faire tourner un serveur Hyper-V sur Azure : un bridge isolé sans port physique, du NAT pour la sortie, et un service DHCP et DNS interne pour que les invités reçoivent une configuration sans intervention.
On commence par regarder comment la VM est câblée aujourd’hui.
ip -br addr
cat /etc/network/interfaces
networkctl status eth0
which ifupdown2
sudo cat /etc/netplan/50-cloud-init.yaml
eth0 est piloté par netplan et reçoit son adresse en DHCP depuis Azure.
Constat : eth0 est piloté par netplan et systemd-networkd, avec une adresse obtenue en DHCP auprès d’Azure, et /etc/network/interfaces ne contient presque rien. Proxmox, lui, s’appuie sur ifupdown2 pour appliquer les changements réseau depuis l’interface web.
Attention : on ne touche pas à eth0. C’est votre seule voie d’accès à la machine : si vous la basculez sous ifupdown2 et que la configuration est mauvaise, vous perdez le SSH et il ne reste plus que la console série du portail Azure pour réparer. On laisse netplan gérer eth0 et on se contente d’ajouter vmbr0.
On déclare donc un bridge isolé, en 10.10.10.1/24, sans aucun port attaché. Ce sera la passerelle des VM invitées.
sudo tee /etc/network/interfaces > /dev/null <<'EOF'
# network interface settings; autogenerated
auto lo
iface lo inet loopback
source /etc/network/interfaces.d/*
iface eth0 inet manual
auto vmbr0
iface vmbr0 inet static
address 10.10.10.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
EOF
Le paramètre qui compte ici est bridge-ports none : aucune carte physique n’est rattachée au commutateur. On active ensuite le bridge et le routage IPv4.
cat /etc/network/interfaces
sudo ifup vmbr0
ip -br addr show vmbr0
sudo sysctl -w net.ipv4.ip_forward=1
vmbr0 est là, en 10.10.10.1/24, sans aucun port physique attaché.
Pour que le routage survive au redémarrage, on l’écrit dans un fichier sysctl dédié, et on installe nftables.
sudo apt install -y nftables
sudo nft list ruleset
sudo tee /etc/sysctl.d/99-proxmox-nat.conf > /dev/null <<'EOF'
net.ipv4.ip_forward=1
EOF
sudo sysctl --system
Puis le cœur du sujet : la translation d’adresses. La table nat masque le réseau 10.10.10.0/24 derrière l’adresse de eth0, et la table filter n’autorise que ce qui doit l’être, à savoir les flux sortants des invités et les réponses associées.
sudo tee /etc/nftables.conf > /dev/null <<'EOF'
#!/usr/sbin/nft -f
flush ruleset
table ip nat {
chain postrouting {
type nat hook postrouting priority srcnat;
oifname "eth0" ip saddr 10.10.10.0/24 masquerade
}
}
table inet filter {
chain forward {
type filter hook forward priority filter; policy drop;
iifname "vmbr0" oifname "eth0" ip saddr 10.10.10.0/24 accept
iifname "eth0" oifname "vmbr0" ct state established,related accept
}
}
EOF
Le NAT est en place et la règle survivra au redémarrage.
Dernière brique, le service DHCP et DNS des invités. Sans lui, il faudrait configurer une adresse IP fixe dans chaque VM créée, ce qui est vite pénible.
dnsmasq distribue les adresses et relaie les requêtes DNS vers le résolveur Azure.
Deux détails de cette configuration valent une explication. bind-interfaces limite l’écoute à vmbr0, donc votre DHCP ne partira jamais polluer le sous-réseau Azure. Et l’adresse 168.63.129.16 déclarée comme serveur amont n’est pas une adresse au hasard : c’est l’adresse IP virtuelle de la plateforme Azure, celle qui rend entre autres le service de résolution de noms aux machines virtuelles.
L’adresse IP Azure 168.63.129.16 est une adresse IP publique virtuelle qui facilite les canaux de communication vers les ressources de la plateforme Azure.
Attention : choisissez pour vmbr0 un plan d’adressage qui ne chevauche pas celui de votre réseau virtuel Azure. Mon sous-réseau Azure est en 172.16.0.0/24 et mon réseau interne en 10.10.10.0/24 : aucune ambiguïté de routage possible.
11. Étape 8 : première connexion à l’interface web
Le moment de vérité. Ouvrez votre navigateur sur l’adresse publique de la VM, en HTTPS, port 8006.
https://VOTRE-IP-PUBLIQUE:8006
Le certificat est auto-signé, votre navigateur va râler, c’est normal. Connectez-vous avec l’utilisateur root, son mot de passe système, et le realm Linux PAM standard authentication.
Le realm Linux PAM. C’est bien le compte root du système que vous utilisez ici.
Attention : si vous n’avez jamais défini de mot de passe pour root sur cette machine, faites-le en SSH avec sudo passwd root avant d’essayer de vous connecter. Les images Azure livrent un compte root verrouillé.
Vous serez accueilli par la boîte de dialogue la plus célèbre de Proxmox. Elle vous rappelle simplement que vous utilisez le dépôt sans abonnement.
Le message d’accueil du dépôt sans abonnement. On clique sur OK et on continue.
Et voilà l’interface, avec l’arborescence Datacenter puis nœud à gauche, et le résumé du nœud au centre.
16 vCPU, 62,8 Gio de RAM et l’avertissement sur le dépôt de test, en jaune.
Mon retour terrain : regardez la ligne Kernel Version de ce résumé. Sur ma capture, la machine tournait encore sur le noyau cloud de Debian et pas sur le noyau pve, le redémarrage n’ayant pas encore eu lieu. Tout fonctionne quand même pour un lab, mais prévoyez un sudo reboot après l’installation pour démarrer sur le bon noyau.
12. Étape 9 : déclarer le stockage local-1TB
Le disque de 1 To est monté sur /mnt/pve-data, mais Proxmox ne le connaît pas encore. Un stockage se déclare au niveau du datacenter, pas du nœud, même quand il n’est physiquement présent que sur une seule machine.
Allez dans Datacenter, Storage, puis Add et choisissez Directory.
Renseignez l’ID local-1TB, le répertoire /mnt/pve-data, et le contenu Disk image.
Laissez Nodes sur All et cochez Enable, puis validez avec Add.
Vous vous retrouvez avec deux stockages. local, sur le disque système, garde les ISO, les sauvegardes et les modèles de conteneurs. local-1TB accueillera les disques des machines virtuelles.
Deux stockages : local pour les ISO, local-1TB pour les disques des machines virtuelles.
13. Étape 10 : voir vmbr0 dans l’interface et appliquer la configuration
Le bridge créé en ligne de commande apparaît maintenant dans l’interface, avec un avertissement en bas de page signalant des modifications en attente. Proxmox n’applique pas la configuration réseau à chaud sans votre accord, il vous montre d’abord le différentiel entre /etc/network/interfaces et le fichier .new qu’il a préparé.
Sélectionnez le nœud, puis System et Network.
Relisez le bloc Pending changes en bas de la vue, ligne par ligne.
Cliquez sur Apply Configuration.
Proxmox affiche le différentiel avant de l’appliquer. Relisez-le.
Après application, eth0 et le Linux Bridge vmbr0 en 10.10.10.1/24 cohabitent proprement.
Attention : c’est le seul moment de tout l’article où vous risquez de perdre l’accès à la machine. Relisez vraiment le différentiel avant de cliquer, et assurez-vous qu’aucune ligne ne touche à eth0.
14. Étape 11 : uploader l’ISO Windows 11
Pour installer un invité, il faut son image. Proxmox sait télécharger une ISO depuis une URL, mais pour Windows 11 vous passerez par l’upload depuis votre poste.
Dans l’arborescence, sélectionnez le stockage local du nœud, puis ISO Images.
Cliquez sur Upload, choisissez votre fichier, puis Upload à nouveau.
8,13 Gio qui transitent par votre navigateur puis par /var/tmp. Prévoyez le temps.
Attention : l’upload transite par /var/tmp sur le nœud, comme la boîte de dialogue le signale. Avec une ISO de 8,13 Gio et un disque système de 30 Gio, ça passe, mais de justesse si vous en montez plusieurs. Surveillez l’espace libre, ou déclarez un second stockage de type Directory autorisant le contenu ISO image sur votre disque de 1 To.
15. Étape 12 : créer la machine virtuelle Windows 11
Cliquez sur Create VM en haut à droite. L’assistant compte huit onglets, et trois d’entre eux conditionnent la réussite de l’installation.
Dans General, donnez un nom à la VM, le mien est vm-w11-test, et notez le VMID proposé, 101 dans mon cas. Ce numéro est l’identifiant que vous retrouverez partout : dans l’arborescence, dans les noms de fichiers de disques, dans les journaux.
Dans OS, sélectionnez l’ISO sur le stockage local, puis le type d’invité Microsoft Windows et la version 11/2022/2025. Proxmox propose de monter un second lecteur contenant les pilotes VirtIO, ce que je n’utiliserai pas pour ce premier article :
Celle que l’on garde pour ce lab : pas de second lecteur, pas de pilote à charger.
Dans System, on entre dans le dur. Windows 11 exige un démarrage UEFI, le démarrage sécurisé et un module de plateforme sécurisée.
Machine : q35, le jeu de puces moderne avec PCI Express.
BIOS : OVMF (UEFI), et cochez Add EFI Disk en le plaçant sur local-1TB.
Cochez Pre-Enroll keys pour que les clés Microsoft soient présentes dès le départ.
Cochez Add TPM, stockage local-1TB, version v2.0.
SCSI Controller : VirtIO SCSI single, la valeur par défaut, que l’on gardera même si notre disque sera en SATA.
UEFI et TPM 2.0. Les deux cases sans lesquelles l’installation de Windows 11 s’arrête.
Attention : sans OVMF (UEFI) et sans TPM 2.0, le programme d’installation de Windows 11 s’arrête sur le message « This PC can’t run Windows 11 ». Ces deux cases ne sont pas facultatives, et il est bien plus simple de les cocher maintenant que de les ajouter après coup.
Dans Disks, l’assistant propose par défaut un disque scsi0 sur le contrôleur VirtIO SCSI. Le piège classique : sans les pilotes VirtIO, le programme d’installation de Windows ne verra tout simplement aucun disque, et vous resterez bloqué sur un écran de sélection vide.
Je bascule donc le Bus/Device sur SATA, taille 64 Gio, format qcow2, stockage local-1TB :
Le même disque, mais en SATA. Windows le verra tout seul.
Les onglets CPU et Memory sont sans surprise. Un socket, deux cœurs, ce qui est le minimum demandé par Windows 11.
Et 8192 Mio de mémoire, largement supportables sur une VM hôte qui en a 64 Gio.
Dans Network, même logique que pour le disque. Le modèle VirtIO (paravirtualized) proposé par défaut est le plus performant, mais Windows n’en a pas le pilote.
Je choisis donc Intel E1000, sur le bridge vmbr0, en laissant le pare-feu coché. Windows embarque ce pilote depuis toujours, la carte sera donc opérationnelle dès le premier démarrage, et elle recevra son adresse de notre dnsmasq :
Intel E1000. Windows embarque le pilote, le réseau fonctionne dès le premier démarrage.
L’onglet Confirm récapitule le tout. Vérifiez la présence de bios: ovmf, machine: q35, ostype: win11, du disque sata0 et de net0 en e1000, puis validez.
Mon retour terrain : le choix SATA plus E1000 est un compromis de confort. Vous perdez en performances par rapport à VirtIO, ce qui est sans importance pour un lab, et vous gagnez une installation qui se déroule sans jamais chercher un pilote. Sur ma capture de l’onglet OS, le second lecteur censé porter les pilotes pointait d’ailleurs sur ma propre ISO Windows et pas sur une ISO virtio-win : aucun pilote n’était donc réellement disponible. Basculer un invité Windows en VirtIO après coup mérite son propre article, j’y reviendrai.
16. Étape 13 : installer Windows 11 jusqu’au bureau
Sélectionnez la VM 101 dans l’arborescence, ouvrez l’onglet Console et cliquez sur Start Now.
La console noVNC s’affiche dans votre navigateur, et le programme d’installation de Windows 11 démarre.
Et là, magie : le programme d’installation de Windows 11 démarre dans un onglet de navigateur.
Déroulez l’installation normalement. L’écran de sélection du disque est celui qui valide tous les choix de l’étape précédente. Le disque de 64 Go apparaît sans avoir eu à charger le moindre pilote. Le pari est gagné :
Le disque de 64 Go apparaît sans avoir eu à charger le moindre pilote.
Lancez l’installation de Windows 11 :
Attendez plusieurs minutes :
La VM redémarre plusieurs fois, puis enchaîne sur l’expérience de première ouverture de session.
La recherche de mises à jour est un excellent test réseau : si cet écran passe, c’est que votre chaîne bridge, NAT et DHCP fonctionne de bout en bout.
La VM sort sur Internet à travers le NAT nftables. La chaîne réseau fonctionne de bout en bout.
Nommez votre machine Windows 11 :
Définissez le type de compte Windows à créer :
Attendez la fin de configuration de Windows 11 :
Attendez encore la fin du téléchargement puis de l’installation des mises à jours OS :
Et au bout du compte, un bureau Windows 11 complet, qui tourne dans Proxmox VE, qui tourne dans une machine virtuelle Azure. La console fonctionne dans un simple onglet de navigateur, sans client RDP.
Trois niveaux de virtualisation empilés, et tout répond.
17. Étape 14 : activer le QEMU guest agent
Votre Windows tourne, mais Proxmox ne sait presque rien de lui. Dans l’onglet Summary de la VM, la ligne des adresses IP reste désespérément vide, et un clic sur Shutdown se contente d’envoyer un signal ACPI en espérant que l’invité l’écoute. Le QEMU guest agent règle ces deux points.
Concrètement, c’est un petit service qui tourne dans l’invité et qui dialogue avec l’hôte par un canal série virtuel dédié. Il ne remplace aucun pilote de disque ni de carte réseau : votre VM continue de démarrer sur son disque SATA et de communiquer par sa carte E1000. C’est justement ce qui le rend sans risque, et c’est pour ça que je le traite ici plutôt que dans un article dédié à VirtIO.
Ce qu’il apporte, une fois en place :
les adresses IP de l’invité remontent dans l’interface, ce qui évite d’ouvrir la console pour savoir quelle adresse dnsmasq a distribuée
l’arrêt et le redémarrage depuis Proxmox deviennent un arrêt propre demandé au système invité
les instantanés et les sauvegardes peuvent geler les écritures le temps de la copie, donc obtenir un état cohérent du système de fichiers
vous pouvez interroger l’invité depuis le shell du nœud, sans passer par le réseau
L’activation se fait en deux moitiés, et il faut les deux.
Côté Proxmox : ajouter le périphérique
Sur la capture de l’onglet System de l’étape 12, la case Qemu Agent était décochée, comme par défaut. On rattrape ça dans les options de la VM.
Sélectionnez la VM, puis Options.
Double-cliquez sur QEMU Guest Agent et cochez Use QEMU Guest Agent.
Validez.
Attention : cocher cette option ajoute un périphérique à la machine virtuelle. Un redémarrage demandé depuis Windows ne suffit pas, il faut un arrêt complet puis un démarrage depuis Proxmox pour que QEMU recrée la VM avec son canal série. C’est la raison numéro un des « j’ai installé l’agent et il ne remonte toujours rien ».
Côté Windows : installer le service
Le programme d’installation de l’agent est livré sur l’ISO virtio-win, la même que celle des pilotes. Uploadez-la dans le stockage local comme vous l’avez fait pour Windows :
Puis montez-la dans la VM avec Hardware, Add, CD/DVD Drive :
Dans Windows, ouvrez le gestionnaire des périphériques afin de mettre à jour le driver suivant :
Choisissez le dossier correspondant à l’OS de votre VM :
Attendez le succès de l’installation :
ouvrez le lecteur et lancez le paquet du dossier guest-agent, en version 64 bits. Il installe uniquement le service QEMU Guest Agent, visible ensuite dans la console des services, et ne touche ni au contrôleur de disque ni à la carte réseau :
Mon retour terrain : c’est le seul morceau de l’ISO virtio-win que j’installe dès le premier jour sur un invité Windows. Le reste, pilotes de disque et de carte réseau, demande une procédure plus prudente et fera l’objet d’un article à part, parce qu’un disque système basculé trop vite en VirtIO SCSI vous accueille au redémarrage avec un écran bleu INACCESSIBLE_BOOT_DEVICE.
Vérifier que ça marche
Retournez sur l’onglet Summary de la VM : les adresses IP de l’invité doivent maintenant s’afficher, avec l’adresse distribuée par votre dnsmasq dans la plage 10.10.10.100 à 10.10.10.200 :
Depuis le shell du nœud, deux commandes confirment le dialogue.
La première ne renvoie rien quand tout va bien, ce qui est la définition d’un bon silence :
La seconde vous rend la configuration réseau vue de l’intérieur de Windows, au format JSON :
Remplacez 101 par le VMID de votre machine.
18. Les pièges à retenir
Le piège
Le symptôme
La parade
Mauvaise taille de VM Azure
/dev/kvm absent, Proxmox ne démarre aucune VM
Prendre une taille qui prend en charge la virtualisation imbriquée, Dsv3 par exemple
Port 8006 fermé
L’interface web ne répond pas alors que le service écoute
Ajouter une règle entrante dans le NSG, limitée à votre adresse IP
Nom d’hôte non résolu
Installation bancale, interface web incomplète
Ajouter la ligne adresse privée et nom d’hôte dans /etc/hosts avant d’installer
Mauvais disque dans GRUB
Chaîne de démarrage incohérente
Cocher /dev/sda uniquement dans l’écran bleu grub-pc
Utilisation de sdb
Disques de VM perdus après une désallocation
Ne stocker que sur le disque de données, monté par UUID
Bridge sur la carte Azure
Les invités n’ont aucune connectivité
Bridge isolé avec bridge-ports none, plus NAT et dnsmasq
Plans d’adressage qui se chevauchent
Routage imprévisible entre invités et réseau Azure
Sous-réseau Azure et réseau interne dans deux plages distinctes
Disque en VirtIO SCSI
Aucun disque proposé par le programme d’installation Windows
Basculer le disque en SATA, ou charger les pilotes VirtIO
Pas de TPM ni d’UEFI
« This PC can’t run Windows 11 »
OVMF, disque EFI, Pre-Enroll keys et TPM 2.0 dès la création
Guest agent activé sans arrêt complet
L’agent est installé mais aucune adresse IP ne remonte
Arrêter puis démarrer la VM depuis Proxmox, pas un simple redémarrage Windows
Dépôt sans abonnement
Avertissement jaune et boîte de dialogue à chaque connexion
Parfait pour un lab, à remplacer par le dépôt entreprise en production
VM Azure laissée allumée
Une facture désagréable en fin de mois
Arrêter et désallouer, puis supprimer le groupe de ressources
Conclusion
Voilà, en quatorze étapes, vous avez un hyperviseur Proxmox VE 9 complet, avec son stockage dédié, son réseau interne routé, son interface web accessible, et une machine virtuelle Windows 11 qui tourne dedans, agent invité compris. Le tout sans acheter un seul serveur.
Concrètement, ça donne quoi ? Vous avez de quoi vous former sur Proxmox, tester des scénarios de migration, comparer honnêtement ce que fait la concurrence avec ce que vous connaissez déjà, et tout détruire d’un clic quand vous avez fini. Pour quelqu’un qui vit dans Azure toute la journée, c’est la façon la moins coûteuse de sortir de sa zone de confort.
Les trois points que je retiens de ce lab : la taille de la VM Azure décide de tout dès le premier écran, le réseau imbriqué se traite par du NAT et pas par du bridge, et le couple SATA plus E1000 fait gagner un temps fou sur l’installation d’un invité Windows.
Foncez tester, et n’oubliez pas de désallouer la VM en partant. Le prochain article sera consacré au passage en VirtIO d’un invité Windows déjà installé, disque et carte réseau : c’est le gain de performances évident de ce lab, mais c’est aussi la manipulation qui casse le plus de machines quand on la fait dans le mauvais ordre. On ira voir ensuite les instantanés et les sauvegardes.
🤖
Contenu assisté par IACet article a été rédigé avec l’assistance d’une intelligence artificielle et relu par l’auteur. Conformément à l’AI Act (UE) en vigueur depuis le 2 août 2026.
Le rachat de VMware par Broadcom a agi comme un électrochoc. Aujourd’hui, la question n’est plus faut-il migrer? , mais comment migrer sans tout casser ou y perdre tous ses cheveux?. Entre les solutions tierces payantes et les méthodes manuelles risquées, Microsoft a discrètement sorti une arme redoutable : l’extension VM Conversion pour Windows Admin Center (WAC).
Après avoir testé l’outil encore en préversion, je voulais partager avec vous mon expérience. Et pour vous guider plus facilement dans cet article très long, voici des liens rapides :
Le rachat de VMware par Broadcom a agi comme un électrochoc. Beaucoup de clients ont vu les coûts augmenter fortement après le rachat, car Broadcom a changé le modèle de licences (par exemple passage d’une licence perpétuelle à un modèle d’abonnement) et restructuré les offres. Certains ont reçu des renouvellements jusqu’à plusieurs fois plus chers qu’avant pour les mêmes besoins.
Ces changements rapides dans la structuration des produits, des bundles et du support ont créé de l’incertitude sur la roadmap et l’avenir des produits VMware, ce qui amène les DSI à repenser leurs choix technologiques à long terme
On retrouve d’ailleurs pas mal de blogueurs parlant de cet exode :
Présent depuis des années, Windows Admin Center (souvent abrégé WAC) est un outil d’administration web développé par Microsoft pour gérer des serveurs Windows, des clusters et des environnements hyperconvergés, depuis une interface moderne accessible via navigateur.
Concrètement, Windows Admin Center vous permet d’administrer, sans passer par du RDP, un grand nombre de services Microsoft :
Windows Server
Hyper-V
Clusters (Failover Clustering)
Machines virtuelles
Serveurs distants (on-prem ou Azure)
Stockage (Storage Spaces Direct)
Qu’est-ce que l’extension VM Conversion ?
C’est un nouvel outil Microsoft intégré à Windows Admin Center qui permet de migrer des machines virtuelles depuis VMware vCenter/ESXi vers Hyper-V, en mode agentless :
Actuellement, Il s’agit d’une extension prévue pour minimiser le temps d’arrêt grâce à la réplication en ligne des disques.
Attention, cette extension n’est pas pour but de migrer vers Azure Local. Un autre article déjà écrit il y a plusieurs mois traite de ce type de migration : de VMware à Azure Local.
Combien coûte VM Conversion ?
L’extension est actuellement en préversion. Son usage n’implique aucun coût de licence supplémentaire, mais pas non plus de support garanti par Microsoft.
Tous les vCenter VMware 6.x, 7.x et 8.x sont pris en charge
Côté OS invités :
Windows Server 2025, 2022, 2019, 2016, 2012 R2
Windows 10/11
Ubuntu 20.04, 24.04
Debian 11, 12
Alma Linux
CentOS
Red Hat Linux 9.0
L’extension fonctionne également dans un environnement Hyper-V en cluster (WSFC) : elle est cluster-aware et détecte correctement les nœuds et ressources.
Il supporte la migration de VM depuis ESXi vers des clusters Windows Server Failover (WSFC) sous Hyper-V. Vous pouvez donc distribuer les VM migrées sur plusieurs nœuds Hyper-V pour HA ou performances.
Quels sont les prérequis pour VM Conversion?
Côté Windows Admin Center :
WAC en version au moins v2410 build 2.4.12.10 ou supérieure
PowerShell et PowerCLI installés
VMware VDDK version 8.0.3 installé
Visual Studio 2013 et 2015 installés
Côté Hyper-V :
le rôle Hyper-V doit être installé sur le (s) hôte (s) cible
Le compte utilisé durant le processus doit être administrateur local ou membre du groupe Hyper-V Administrators).
Si des VMs migrées sont sous Linux, les modules Hyper-V (hv_vmbus, hv_netvsc, hv_storvsc) et Linux Integration Services (hyperv-daemons ou linux-cloud-tools) doivent être pré-installés dans l’initramfs avant migration.
Combien de VM puis-je migrer simultanément ?
Jusqu’à 10 machines virtuelles par lot. On peut grouper ces machines selon leur dépendance applicative, leur placement dans un cluster ou même selon des critères métier (ex : séparer environnement de test/prod). Cela facilite les migrations massives par workload.
Comment l’outil VM Conversionmarche ?
Microsoft explique bien les deux phases présentes dans l’outil VM Conversion :
Synchronisation : l’extension effectue une copie complète initiale des disques de la machine virtuelle pendant que la VM source continue de fonctionner. Cette phase minimise les temps d’arrêt en vous permettant de planifier la migration finale à un moment qui vous convient.
Migration : l’extension utilise la fonctionnalité Change Block Tracking (CBT) pour rechercher et répliquer uniquement les blocs modifiés depuis la dernière synchronisation. Pendant la transition, la machine virtuelle source est mise hors tension et une synchronisation delta finale capture toutes les modifications restantes avant d’importer la machine virtuelle dans Hyper-V.
Pendant la phase de synchronisation, la VM source continue de tourner, pendant qu’une copie initiale des disques est envoyée sur l’hôte Hyper-V, via la création d’un snapshot pour suivre les changements.
Au moment de la bascule, la VM source est arrêtée pour un dernier delta-sync avant import; ce processus réduit donc au minimum la fenêtre d’arrêt.
Que devient VMware Tools sur le VM migré ?
La présence de VMware Tools dans une VM sous Hyper-V peut provoquer des conflits de pilotes, donc il vaut mieux les retirer.
Initialement, il fallait supprimer les outils VMware Tools manuellement après la bascule vers Hyper-V.
Depuis la version 1.8.0, l’extension supprime automatiquement VMware Tools sur les VM Windows migrées en fin de processus.
Pour les VM Linux, il est recommandé de ne pas réinstaller open-vm-tools sur la cible Hyper-V (on s’appuie uniquement sur les pilotes Hyper-V ajoutés).
Et enfin, comme toujours, je vous propose dans la suite de cet article d’effectuer ensemble un pas à pas pour couvrir la migration de machines virtuelles hébergées sur VMware vers Hyper-V :
Des prérequis sont nécessaires pour réaliser cet exercice dédié à la migration d’une machine virtuelle hébergée sur VMware vers Hyper-V via Windows Admin Center. Pour tout cela, j’ai utilisé :
Un environnement VMware
Un environnement Hyper-V
Une connexion réseau entre le réseau les deux hyperviseurs
Commençons par l’installation de Windows Admin Center sur une nouvelle machine hébergée sur VMware.
Etape I – Installation de Windows Admin Center :
Sur une machine virtuelle dédiée dans votre environnement VMware, téléchargez la dernière version de Windows Admin Center depuis la page officielle de Microsoft :
Choisissez l’installation avec l’option Express :
Dans cette démonstration, utilisez un certificat temporaire :
Lancez l’installation :
Une fois l’installation terminée, ouvrez la page de Windows Admin Center, puis authentifiez-vous avec votre compte :
Une fois connecté dans la console Windows Admin Center, attendez quelques minutes la fin de l’installation des extensions préinstallées :
Rendez vous dans les paramétrages dans WAC afin d’ajouter l’extension dédiée à la migration :
Etape II – Installation de prérequis WAC :
Comme indiqué dans la documentation Microsoft, certains prérequis doivent être installés sur la machine de Windows Admin Center.
Récupérez et décompressez VMware Virtual Disk Development Kit (VDDK), en version 8.0.3, dans le dossier WAC suivant :
Redémarrez ensuite votre machine virtuelle contenant Windows Admin Center.
Etape III – Connexion à Hyper-V depuis WAC :
Une fois la machine virtuelle WAC redémarrée, rouvrez la console, puis cliquez ici pour ajouter une connexion vers votre serveur Hyper-V :
Cliquez sur Ajouter :
Renseignez l’adresse IP de votre Hyper-V, les éléments d’identification, puis cliquez sur Ajouter :
La connexion est établie, cliquez dessus pour l’ouvrir :
Dans le menu de gauche, cherchez l’extension consacrée à la migration, cochez la case suivante pour installer PowerCLI, puis cliquez ici :
Attendez la fin de l’installation de PowerCLI :
Une fois l’installation terminée, cliquez ici ajouter une connexion à votre vCenter, renseignez vos informations de connexion, puis cliquez ici :
Une fois la connexion établie avec vCenter, les machines virtuelles s’afficheront :
Le protocole de test est maintenant en place. Commençons les tests par la migration d’une machine virtuelle fonctionnant sous Windows Server.
Etape IV – Test Windows : Synchronisation de la VM :
Toujours dans la liste des machines virtuelles, cochez sur une des VMs Windows disponibles, puis cliquez ici pour démarrer la synchronisation :
Renseignez le dossier de destination sur votre serveur Hyper-V, puis cliquez sur Synchroniser :
La phase de vérification préalable à la migration vient de démarrer (accessibilité, compatibilité matérielle, compatibilité OS, configuration réseau, …) :
La première copie des disques VMDK vers Hyper-V est en cours pour la création des fichiers VHDX par la suite :
Constatez d’ailleurs la création du dossier sur le serveur Hyper-V :
La migration passe en mode synchronisation différentielle afin de ne copier que les blocs modifiés depuis la synchronisation initiale, réduisant ainsi le volume de données à transférer avant le cutover :
Provisioning du disque cible Hyper-V (VHDX) : l’infrastructure prépare le stockage avant l’application des blocs synchronisés issus de la VM VMware :
Phase de delta sync : les blocs modifiés identifiés via CBT sont appliqués au disque Hyper-V afin d’aligner la VM cible avec l’état courant de la VM source :
Le monitoring de la carte réseau montre bien le transfert des données :
Synchronisation complète (100 %) : l’intégralité des données de la VM source est maintenant répliquée côté Hyper-V :
La VM cible est maintenant entièrement alignée avec la VM VMware et peut être basculée vers Hyper-V avec un dernier delta minimal.
Nous allons pouvoir procéder à la migration.
Etape V – Test Windows : Migration de la VM :
A ce stade, la machine virtuelle sous VMware est toujours allumée :
Testez le delta de migration en rajoutant sur votre machine virtuelle source de nouveaux fichiers :
Retournez ensuite sur Windows Admin Center afin de lancer la migration de celle-ci :
Choisissez ou non de désinstaller les outils VMware, puis cliquez ici :
Lancement de la migration : exécution des vérifications préalables avant bascule définitive vers la VM Hyper-V cible :
Vérifications pré-migration terminées : la synchronisation finale des blocs modifiés (delta sync) est en cours avant l’arrêt et la bascule de la VM :
Un snapshot est bien créé côté VMware :
Delta Sync en cours : application des derniers blocs modifiés afin d’aligner définitivement la VM cible avant le cutover final vers Hyper-V.
Arrêt de la VM source : la machine VMware est éteinte et la phase finale de synchronisation est lancée avant le démarrage côté Hyper-V :
La machine virtuelle est bien arrêtée côté VMware :
Migration terminée (100 %) : la VM cible Hyper-V est créée, synchronisée et prête à être démarrée en production :
La VM migrée s’exécute désormais sur Hyper-V, confirmant le succès du cutover depuis l’environnement VMware :
Windows détecte un arrêt inattendu lié au cutover, confirmant que la VM a bien été basculée depuis l’environnement VMware vers Hyper-V :
Erreur VMware Tools au premier démarrage : les anciens composants VMware, désormais incompatibles sous Hyper-V, doivent être désinstallés après la migration :
Désinstallez les VMware Tools devenus inutiles après le passage de la VM sous Hyper-V :
Les fichiers créés avant la commande Migrate sont bien présents après la bascule, confirmant l’intégrité de la synchronisation finale :
Notre serveur Windows a bien été migré depuis VMware vers Hyper-V avec succès. Testons maintenant la même opération avec un serveur Linux.
Etape VI – Test Linux : Synchronisation de la VM :
Exemple réalisé ici sur AlmaLinux / RHEL-like. Le but étant de :
Désinstaller VMware Tools
Installer composants Hyper-V
Recréer initramfs si nécessaire
Reboot
Pour cela créez une machine virtuelle Linux dont l’OS est compatible avec l’outil de Migration :
Avant la migration, ajoutez les pilotes Hyper-V à l’initramfs, reconstruction avec dracut, puis redémarrage pour assurer un démarrage correct sous Hyper-V.
Toujours avant la migration, installez des services d’intégration Hyper-V (hyperv-daemons) afin d’optimiser les performances et l’interaction entre la VM Linux et l’hôte Hyper-V.
Exemple réalisé sur une distribution RHEL-like (AlmaLinux / Rocky / RHEL). (Adaptez la commande si vous êtes sur Ubuntu ou Debian) :
sudo dnf install hyperv-daemons -y
Vérifiez le chargement des modules Hyper-V (hv_*) dans le noyau Linux afin de confirmer la bonne prise en charge de l’environnement Hyper-V :
Toujours dans la liste des machines virtuelles, cochez sur une des VMs Linux disponibles, puis cliquez ici pour démarrer la synchronisation :
Renseignez le dossier de destination sur votre serveur Hyper-V, puis cliquez sur Synchroniser :
La phase de vérification préalable à la migration vient de démarrer (accessibilité, compatibilité matérielle, compatibilité OS, configuration réseau, …) :
La première copie des disques VMDK vers Hyper-V est en cours pour la création des fichiers VHDX par la suite :
Constatez d’ailleurs la création du dossier sur le serveur Hyper-V :
La migration passe en mode synchronisation différentielle afin de ne copier que les blocs modifiés depuis la synchronisation initiale, réduisant ainsi le volume de données à transférer avant le cutover :
Phase de delta sync : les blocs modifiés identifiés via CBT sont appliqués au disque Hyper-V afin d’aligner la VM cible avec l’état courant de la VM source :
Le monitoring de la carte réseau montre bien le transfert des données :
Synchronisation complète (100 %) : l’intégralité des données de la VM source est maintenant répliquée côté Hyper-V :
La VM cible est maintenant entièrement alignée avec la VM VMware et peut être basculée vers Hyper-V avec un dernier delta minimal.
Nous allons pouvoir procéder à la migration.
Etape VII – Test Linux : Migration de la VM :
Retournez ensuite sur Windows Admin Center afin de lancer la migration de celle-ci :
Lancement de la migration : exécution des vérifications préalables avant bascule définitive vers la VM Hyper-V cible :
Arrêt de la VM source : la machine VMware est éteinte et la phase finale de synchronisation est lancée avant le démarrage côté Hyper-V :
La machine virtuelle est bien arrêtée côté VMware :
Migration terminée (100 %) : la VM cible Hyper-V est créée, synchronisée et prête à être démarrée en production :
La VM migrée s’exécute désormais sur Hyper-V, confirmant le succès du cutover depuis l’environnement VMware :
Conclusion
La migration d’un environnement VMware vers Hyper-V n’est jamais une décision anodine. Elle est souvent motivée par des enjeux économiques, stratégiques ou organisationnels. Mais quelle qu’en soit la raison, elle doit rester avant tout une opération maîtrisée, structurée et techniquement fiable.
L’extension VM Conversion de Windows Admin Center n’est pas un simple assistant graphique. Elle propose une approche orchestrée et cohérente : synchronisation initiale, delta via CBT, puis phase de bascule contrôlée. Ce n’est pas “magique” et cela ne dispense pas d’une préparation sérieuse. En revanche, l’outil apporte un cadre clair qui simplifie fortement un processus historiquement complexe.
Dans mes tests, l’expérience s’est révélée stable et lisible. La gestion des clusters Hyper-V (WSFC), la logique de synchronisation progressive et l’interface unifiée dans WAC rendent la migration bien plus accessible qu’avec des méthodes artisanales. Cela reste une extension en preview, donc à évaluer sérieusement en environnement de test avant toute utilisation en production, mais la base technique est solide.
Ce qui est certain, c’est qu’une alternative crédible existe désormais pour les organisations qui souhaitent diversifier ou repositionner leur stratégie d’hyperviseur. La migration ne doit plus être perçue comme un saut dans l’inconnu, mais comme un projet structuré, pilotable et documenté.
Microsoft innove pour Windows Serveur 2025 et propose de payer la licence via un abonnement paiement à l’utilisation (PAYG) grâce à Azure Arc ! Avec cette option, vous déployez une VM et payez uniquement pour l’utilisation. Cette fonctionnalité est facturée directement sur votre abonnement Azure. Vous pouvez désactiver le paiement à l’utilisation à tout moment. Enfin, le tarif semble assez intéressant 😎
Une vidéo de John existe déjà sur le sujet 🙏💪 :
Dans cet article, je vous propose de tester et surtout de voir combien cela coûte💰:
Maintenant, il nous reste plus qu’à tester tout cela 😎💪
Etape 0 – Rappel des prérequis :
Pour réaliser cet exercice de licence PAYG sur Windows Serveur 2025, il vous faudra disposer de :
Un tenant Microsoft
Une souscription Azure valide
Afin de tester cette fonctionnalité de licensing utilisant Azure Arc, nous allons avoir besoin de lier nos VMs de test à une souscription Azure présente sur notre tenant Microsoft.
Pour cela, je vous propose donc de simuler plusieurs VMs sous Windows Serveur 2025 grâce à un environnement Hyper-V créé sous Azure.
Dans Azure, il est en effet possible d’imbriquer de la virtualisation. Cela demande malgré tout quelques exigences, comme le SKU de la machine virtuelle Hyper-V, mais aussi sa génération.
Etape I – Préparation de la machine virtuelle hôte Hyper-V :
Depuis le portail Azure, commencez par rechercher le service des machines virtuelles :
Cliquez-ici pour créer votre machine virtuelle hôte :
Renseignez tous les champs, en prenant soin de bien sélectionner les valeurs suivantes :
Choisissez une taille de machine virtuelle présent dans la famille Dsv3 :
Renseignez les informations de l’administrateur local, puis cliquez sur Suivant :
Rajoutez un second disque pour stocker la machine virtuelle invitée (Windows Serveur 2025),créée plus tard dans notre machine virtuelle Hyper-V, puis cliquez sur Suivant :
Retirez l’adresse IP publique pour des questions de sécurité, puis lancez la validation Azure :
Une fois la validation réussie, lancez la création des ressources Azure :
Quelques minutes plus tard, cliquez-ici pour voir votre machine virtuelle Hyper-V :
Ensuite, cliquez-ici pour déployer le service Azure Bastion :
Attendez quelques minutes la fin du déploiement d’Azure Bastion, indispensable pour continuer les prochaines opérations :
Peu après, constatez le déploiement réussi d’Azure Bastion via la notification Azure suivante :
Renseignez les identifiants renseignés lors de la création de votre VM Hyper-V :
Autorisez le fonctionnement du presse-papier pour Azure Bastion :
Ouvrez le Gestionnaire de disques depuis le menu démarrer afin de configurer le disque de données ajouté sur votre VM Hyper-V :
Dès l’ouverture du Gestionnaire de disques, cliquez sur OK pour démarrer l’initialisation du disque de données :
Sur celui-ci, créez un nouveau volume au format NTFS :
Une fois connecté sur votre machine virtuelle Hyper-V, ouvrez Windows PowerShell :
Exécutez la commande suivante pour installer les deux rôles suivants :
Depuis la console Server Manager, ouvrez Hyper-V Manager :
Ouvrez le menu suivant :
Contrôlez la présence de votre switch virtuel créé précédemment :
L’environnement Hyper-V est maintenant en place. Nous allons pouvoir créer ensemble la machine virtuelle sous Windows Serveur 2025.
Etape II – Création de la machine virtuelle :
Pour cela, il est nécessaire de récupérer une image au format ISO de Windows Serveur 2025, puis de lancer l’installation.
Toujours sur la machine virtuelle Hyper-V, ouvrez le navigateur internet Microsoft Edge.
Dans mon cas, je suis passé par Visual Studio pour télécharger l’image au format ISO de Windows Serveur 2025 :
Attendez quelques minutes pour que le téléchargement se termine :
Une fois le fichier téléchargé, rouvrez votre console Hyper-V Manager, puis cliquez-ici pour créer votre machine virtuelle Windows Serveur 2025 :
Cliquez sur Suivant :
Modifier les informations suivantes pour pointer vers le nouveau lecteur créé sur la VM Hyper-V, puis cliquez sur Suivant :
Pensez à bien choisir Génération 2 :
Modifier la taille de la mémoire vive allouée à la VM invitée, puis cliquez sur Suivant :
Utilisez le switch créé précédemment, puis cliquez sur Suivant :
Cliquez sur Suivant :
Utilisez le fichier ISO de Windows Serveur 2025 téléchargé précédemment, puis cliquez sur Suivant :
Cliquez sur Terminer pour finaliser la création de votre machine virtuelle invitée :
Une fois la machine virtuelle créée, cochez la case suivante pour activer TPM, puis augmenter le nombre de processeurs :
Double-cliquez sur votre machine virtuelle invitée, puis cliquez-ici pour lancer son démarrage :
La machine virtuelle est maintenant prête à recevoir Windows Serveur 2025. Suivez toutes les étapes de l’installation pour le configurer.
Etape III – Installation de Windows Serveur 2025 :
Choisissez les informations de langue qui vous correspondent, puis cliquez sur Suivant :
Définissez la langue de votre clavier, puis cliquez sur Suivant :
Lancez l’installation de Windows Serveur 2025 :
Cliquez-ici afin de ne pas renseigner de clef de licence Windows Serveur 2025 pour utiliser par la suite une licence en PAYG :
Choisissez une version Desktop, puis cliquez sur Suivant :
Acceptez les termes et conditions de Microsoft, puis cliquez sur Suivant :
Validez l’installation sur le seul disque disponible, puis cliquez sur Suivant :
Lancez l’installation de Windows Serveur 2025 :
Attendez maintenant quelques minutes la fin de l’installation de Windows Serveur 2025 :
Attendez que le redémarrage se poursuivre :
Définissez un mot de passe à votre compte local, puis cliquez sur Suivant :
Déverrouillez la session Windows :
Renseignez à nouveau le mot de passe de votre compte administrateur pour ouvrir la session :
Adaptez la configuration des remontées télémétriques, puis cliquez sur Accepter :
Windows Serveur 2025 est maintenant installé sur notre machine virtuelle. Il nous faut maintenant configurer Azure Arc afin que la liaison avec Azure puisse mettre en place la licence PAYG.
Etape IV – Configuration d’Azure Arc :
Une fois la session Windows ouverte, ouvrez les paramètres systèmes depuis le menu Démarrer :
Constatez l’absence de licence Windows Serveur 2025 active, puis cliquez dessus :
L’erreur suivante concernant l’activation apparaît alors :
Ouvrez le programme de configuration d’Azure Arc déjà préinstallé :
Cliquez sur Suivant :
Attendez quelques instants afin que l’installation se finalise :
Une fois Azure ARC installé, cliquez sur Configurer :
Cliquez sur Suivant :
Cliquez-ici afin de générer un code d’activation à usage unique :
Copiez le code généré :
Rendez-vous sur la page web indiquée, puis collez le code précédemment copié :
Authentifiez-vous avec un compte Azure disposant des droits nécessaires :
Cliquez sur Suivant :
Sélectionnez Pay-as-you-go, puis cliquez sur Suivant :
Sur le dernier écran de la procédure de configuration, sélectionnez Terminer :
Constatez la bonne connexion à Azure Arc via l’icône de notification suivant :
La liaison via Azure Arc est maintenant opérationnelle, mais la licence Windows Serveur 2025 n’est pas encore appliquée sur votre machine virtuelle. Nous allons devoir terminer la configuration de celle-ci depuis le portail Azure.
Etape V – Gestion de la licence PAYG :
Retournez sur la page système d’activation de Windows afin de constater la présence d’un autre message d’erreur :
Retournez sur le portail Azure, puis cliquez sur la nouvelle ressource Azure représentant notre machine virtuelle et créée après la fin de la configuration d’Azure Arc :
Dans le menu Licences du volet gauche, cochez la case Pay-as-you-go with Azure, puis sélectionnez Confirmer :
Attendez quelques minutes afin de constater la bonne activation de celle-ci :
Cette information est également visible depuis la page principale de la ressource Arc :
Rouvrez la page système d’activation de Windows afin de constater la bonne activation de la licence Windows :
Afin de comprendre un peu mieux les mécanismes de licences PAYG via Azure Arc, j’ai créé au total 4 machines virtuelles sur mon serveur Hyper-V :
Machine virtuelle Windows Serveur Standard 4 cœurs,
Machine virtuelle Windows Serveur Standard 4 cœurs éteinte par la suite,
Machine virtuelle Windows Serveur Datacentre 4 puis 8 cœurs par la suite,
Machine virtuelle Windows Serveur Standard 12 cœurs.
J’y ai également configuré Azure Arc, et activé les licences Windows Serveur 2025 via ma souscription Azure :
Mon environnement de test est maintenant en place, il ne nous reste qu’à attendre plusieurs jours afin de comprendre les coûts facturés par Microsoft via ma souscription Azure.
Etape VI – Analyse des coûts de licence :
Afin de comprendre les coûts de facturation pour les différentes machines virtuelles fonctionnant sous Windows Serveur 2025 PAYG, je vous propose d’utiliser le Gestionnaire des coûts Azure :
Utilisez les différents filtres disponibles pour identifier les coûts qui vous intéressent :
Commençons par analyser les 7 premiers jours suivant la configuration de mon environnement de test :
Comme le montre le gestionnaire des coûts ci-dessus, ainsi que la documentation Microsoft ci-dessous, aucun frais de licence n’est facturé durant les 7 premiers jours :
En outre, vous pouvez utiliser le paiement à l’utilisation gratuitement pour les sept premiers jours après l’avoir activé en tant qu’essai.
Pour plus de clarté, j’ai également transposé ces premiers résultats dans un tableau Excel :
J’ai continué avec les 3 jours suivants, cette fois facturés par Microsoft :
Comme le montre le gestionnaire des coûts ci-dessus, ainsi que la documentation Microsoft ci-dessous, des frais journaliers en fonction du nombre de cœurs de chaque VM sont facturés :
Pour plus de clarté, j’ai également transposé ces résultats dans un tableau Excel :
Deux informations sont intéressantes dans ce tableau :
La tarification par cœur Microsoft semble identique pour des machines sous licence Standard ou Datacentre.
Il semble que le prix $33.58 indiqué par Microsoft dans la documentation ne corresponde pas à un prix unitaire relevé par cœur, mais pour 2 cœurs :
J’ai ensuite effectué par la suite 2 modifications sur 2 de mes machines virtuelles de test :
Arrêt d’une machine virtuelle
Augmentation du nombre de cœurs
Pour plus de clarté, j’ai également transposé ces résultats dans un tableau Excel :
L’arrêt de la machine virtuelle le 24 décembre montre bien une baisse des coûts de licence pour les jours suivants.
Le passage de 4 à 8 cœurs indique bien un doublement des coûts de licences pour les jours suivants.
Voici enfin le même tableau Excel dans sa totalité
Conclusion
En résumé, cette nouvelle approche pour licencier des serveurs en dehors du cloud est facile à mettre en œuvre et semble très intéressante financièrement. Les tests ont montré qu’un arrêt de machine virtuelle réduit les coûts de licence, tandis que l’augmentation du nombre de cœurs entraîne une augmentation proportionnelle des coûts.
Ces observations soulignent l’importance de gérer judicieusement les ressources et les configurations de vos machines virtuelles pour toujours optimiser au mieux les coûts de licence.
Enfin, pour la gestion des licences Azure, il est fortement recommandé de considérer Azure Hybrid Benefit pour la majorité des machines virtuelles sous Windows pour maximiser les économies.
La migration des machines virtuelles depuis VMware vers Azure Local via l’outil Azure Migrate a récemment été annoncée en préversion. Cette nouveauté chez Microsoft représente une avancée significative dans les migrations automatisées vers le cloud hybride. Cette nouvelle fonctionnalité d’Azure Migrate permet donc aux organisations de transférer leurs charges de travail sur site vers une infrastructure Azure Local tout en minimisant les interruptions.
Depuis quelques déjà, il existe sur le marché d’autres solutions externes qui proposent la migration de machines virtuelles hébergées sur VMware vers un cluster Azure Local :
Azure nous facilite donc la chose en l’intégrant dans Azure Migrate. En parlant d’Azure Migrate, un premier article sous forme d’exercice est disponible juste ici. Il vous permet de tester la migration de machines virtuelles Hyper-V vers Azure :
De façon générale, voici quelqu’un des principaux avantages à utiliser Azure Migrate :
Aucune préparation requise : La migration ne nécessite pas l’installation d’agents sur les machines virtuelles hébergés sous Hyper-V ou VMware.
Contrôle via le portail Azure : Les utilisateurs peuvent gérer et suivre toutes les étapes de leur migration directement depuis le portail Azure.
Flux de données local : Les données restent sur site pendant la migration, ce qui réduit les risques de latence.
Temps d’arrêt minimal : La solution permet de migrer les VMs avec un impact minimal sur les opérations en cours.
Aujourd’hui, nous sommes ravis d’annoncer l’avant-première publique de la fonctionnalité Azure Migrate permettant de migrer des machines virtuelles de VMware vers Azure Local, une amélioration significative de nos capacités de migration vers le cloud qui s’étend de manière transparente jusqu’à la périphérie, conformément à notre approche du cloud adaptatif.
L’écran ci-dessous nous montre la section dédiée à la migration de ressources vers Azure Local :
Comment se passe la migration VMware -> Azure Local ?
Les grandes étapes d’une migration vers Azure Local sont très proches de celles vers Azure. Quelques étapes et composants nécessaires différent légèrement :
Un projet doit toujours être créé via Azure Migrate depuis le portail Azure
2 appliances (VMware et Azure Local) doivent être créées et configurées
Une appliance virtuelle s’exécutant sur les serveurs VMware
Une seconde appliance virtuelle s’exécutant sur le cluster Azure Local
Voici les principales phases du processus de migration Azure Migrate :
Phase de migration
Description
1. Préparation
Préparez-vous à migrer en complétant les prérequis. Déployez et configurez votre cluster Azure Local. Créez un projet Azure Migrate et un compte de stockage Azure.
2. Découverte
Créez et configurez une appliance source Azure Migrate sur VMware pour découvrir vos serveurs.
3. Réplication
Configurez l’appliance cible sur Azure Local et sélectionnez les VMs à répliquer.
4. Migration et vérification
Migrez les VMs vers Azure Local et vérifiez leur bon fonctionnement après la migration.
Quels sont les systèmes d’exploitation pris en charge ?
Pour que cette migration puisse fonctionner, seulement certaines versions d’OS sont actuellement prises en charge :
Composant
Systèmes d’exploitation pris en charge
Environnement VMware source
VMware vCenter Server version 8.0 VMware vCenter Server version 7.0 VMware vCenter Server version 6.7
VMware vCenter Server version 6.5
Appliance VMware
Windows Server 2022
Environnement Azure Local cible
Azure Local, version 23H2
Appliance Azure Local
Windows Server 2022
Machine virtuelle invitée (Windows)
Windows Server 2022 Windows Server 2019 Windows Server 2016 Windows Server 2012 R2 Windows Server 2008 R2*
Machine virtuelle invitée (Linux)
Red Hat Linux 6.x, 7.x Ubuntu Server et Pro. 18.x CentOS 7.x SUSE Linux Enterprise 12.x Debian 9.x
Microsoft liste toutes les conditions requises pour envisager cette migration juste ici.
Puis-je créer mon projet Azure Migrate dans toutes les géographies Azure ?
Pour le moment, les métadonnées de votre projet Azure Migrate peuvent être uniquement stockées dans une des géographies Azure suivantes pour les migrations vers Azure Local :
Géographies
Régions
Asie-Pacifique
Asie Sud-Est, Asie Est
Europe
Europe Nord – Europe Ouest
États-Unis
USA Centre, USA Ouest2
Maintenant, il nous reste plus qu’à tester tout cela 😎💪
Des prérequis sont nécessaires pour réaliser cet exercice dédié à la migration d’une machine virtuelle hébergée sur VMware vers Azure Local via Azure Migrate. Pour tout cela, il nous faut :
Un tenant Microsoft
Une souscription Azure active
Un environnement Azure Local opérationnel
Un environnement VMware opérationnel
Commençons par la création du projet sur Azure Migrate, puis la configuration de l’appliance sur l’environnement VMware.
Etape I – Configuration VMware :
Pour cela, recherchez le service Azure Migrate grâce à la barre de recherche présente dans votre portail Azure :
Sélectionnez le menu suivant, puis cliquez-ici pour créer votre projet de migration :
Renseignez les différentes informations de votre projet en prenant en compte les géographies supportant ce scénario de migration, puis cliquez sur Créer :
Une fois le projet créé, cliquez-ici afin d’installer une appliance sur l’environnement VMware :
Définissez la cible de migration comme étant sur Azure Local, puis la source comme étant VMware :
Nommez votre appliance VMware, puis cliquez ici pour générer une clef d’association (entre l’appliance et votre projet d’Azure Migrate) :
Une fois la clef générée, copiez la dans votre bloc-notes :
Lancez le téléchargement de votre appliance afin de pouvoir en disposer par la suite sur votre environnement VMware :
Afin d’y accéder plus facilement sur vSphere, vous pouvez créer un compte de stockage publique :
Dans ce compte de stockage, créez un conteneur blob :
Une fois l’image de l’appliance téléchargée localement, utilisez l’outil azcopy afin de déposer votre image OVA sur votre compte de stockage blob :
Vérifiez la présence de l’image OVA sur votre compte de stockage, puis cliquez dessus :
Récupérez l’URL blob de votre image OVA accessible publiquement :
Depuis votre console vSphere, cliquez-ici pour créer une nouvelle machine virtuelle via la fonction de template OVF :
Collez l’URL de votre image OVA, puis cliquez sur Suivant :
Confirmez votre confiance en cliquant sur Oui :
Nommez votre machine virtuelle appliance, ainsi que son dossier, puis cliquez sur Suivant :
Sélectionnez la ressource de calcul VMware adéquate, cochez la case de démarrage après création, puis cliquez sur Suivant :
Vérifiez toutes les informations dont l’OS utilisé par l’appliance VMware, puis cliquez sur Suivant :
Définissez la ressource de stockage VMware adéquate, puis cliquez sur Suivant :
Choisissez le réseau virtuel VMware adéquat, puis cliquez sur Suivant :
Vérifiez toutes les informations avant la création de la machine virtuelle, puis cliquez sur Finir :
Constatez la création de 2 tâches, puis attendez quelques minutes :
vSphere VMware rapatrie l’image OVA,
vSphere créé la machine virtuelle appliance
Une fois la VM créée, installez-y les outils VMware :
Cliquez sur Mettre à jour :
Une fois la VM démarrée, ouvrez la console web de celle-ci :
Attendez la finalisation de la préparation de Windows Server :
Acceptez les Termes et conditions :
Configurez le mot de passe du compte administrateur (clavier US), puis cliquez sur Finaliser :
Connectez-vous avec le mot de passe configuré juste avant :
Attendez quelques minutes pour voir automatiquement s’ouvrir le navigateur internet :
Acceptez les Termes et conditions d’Azure Migrate :
Laissez faire la connexion entre votre appliance VMware et Azure :
Collez la clef de votre projet Azure Migrate, puis cliquez sur Vérifier :
Une fois vérifiée, attendez quelques minutes pour constater d’éventuelles mises à jour de l’appliance VMware :
Rafraîchissez la page au besoin si le système vous le demande :
Authentifiez-vous avec votre compte Azure :
Cliquez ici pour utiliser le mécanisme d’authentification Azure PowerShell pour l’appliance VMware :
Collez le code donné précédemment, puis cliquez sur Suivant :
Choisissez le compte Azure aux droits RBAC adéquats :
Cliquez sur Continuer pour autoriser l’authentification Azure :
Fermez la fenêtre de navigation internet :
Attendez quelques minutes le temps de l’enrôlement de l’appliance VMware dans Azure Migrate :
Comme indiqué récupérez l’applicatif VMware Virtual Disk Developpement Kit depuis une source internet, copiez le dossier, puis cliquez sur Vérifier :
Afin que l’appliance VMware puisse découvrir les machines virtuelles en fonctionnement sur vCenter, cliquez-ici pour ajouter les informations d’identification :
Cliquez ici pour ajouter des informations sur les VMs hébergées sur VMware à analyser :
Vérifiez que la validation s’est effectuée avec succès :
Comme nous n’avons pas besoin d’effectuer d’analyse d’applications particulières, désactivez cette fonction :
Cliquez ici pour démarrer la découverte des machines virtuelles sur VMware :
Mais, avant de retourner sur Azure, n’oubliez pas de renseigner et de valider les informations d’identification de votre cluster Azure Local :
La découverte est terminée et les résultats sont disponibles sur Azure :
Retournez sur le portail Azure afin de rafraîchir la page de votre projet Azure Migrate :
Quelques rafraîchissements plus tard, les serveurs VMware commencent à faire leur apparition :
La configuration VMware est maintenant terminée, nous allons pouvoir nous concentrer sur la seconde partie de la configuration dédiée à Azure Local.
Etape II – Configuration Azure Local :
Toujours sur votre projet Azure Migrate, cliquez alors sur le bouton Répliquer :
Renseignez les informations suivantes, puis cliquez sur Continuer :
Sélectionnez le type de service : Serveurs ou machines virtuelles (VM)
Sélectionnez la destination : Azure Local
Sélectionnez la source : VMware vSphere
Pour l’appliance Azure Migrate : l’appliance créée sur votre vCenter
Renseignez les informations de votre cluster Azure Local, puis cliquez sur Suivant :
Indiquez un nom pour l’appliance Azure Local, générez la clé, puis copiez cette dernière dans un bloc note :
Télécharger le fichier ZIP de votre appliance Azure Local :
À l’aide d’Hyper-V Manager, créez une nouvelle VM sous Windows Server 2022, avec 80 Go (min) de stockage sur disque, 16 Go (min) de mémoire et 8 processeurs virtuels sur un de vos nœuds Azure Local, puis démarrez celle-ci :
Une fois authentifié en mode administrateur sur cette appliance Azure Local, copiez et collez le fichier zip téléchargé.
En tant qu’administrateur, exécutez le script PowerShell suivant à partir des fichiers extraits pour installer l’appliance Azure Local :
Redémarrez la VM, reconnectez-vous avec le même compte administrateur, ouvrez Azure Migrate Target Appliance Configuration Manager à partir du raccourci du bureau, puis collez la clef précédemment copiée :
Attendez quelques minutes le temps de l’enrôlement de l’appliance Azure Local dans votre projet Azure Migrate, puis authentifiez-vous via Azure PowerShell :
Une fois l’appliance Azure Local enregistrée, sous Gérer les informations du cluster Azure Local, sélectionnez Ajouter des informations de cluster, puis cliquez sur Configurer :
Attendez quelques minutes la fin de la configuration :
Retournez sur le projet Azure Migrate depuis le portail Azure, puis cliquez-ici :
Constatez l’apparition l’appliance Azure Local, puis cliquez sur Suivant :
Choisissez la machine virtuelle à migrer sur votre cluster Azure Local, puis cliquez sur Suivant :
Définissez la configuration réseau et stockage de votre machine virtuelle migrée, puis cliquez sur Suivant :
Configurez le nombre de vCPU et la RAM, puis cliquez sur Suivant :
Sélectionnez les disques que vous souhaitez répliquer, puis cliquez sur Suivant :
Dans ce dernier onglet, assurez-vous que toutes les valeurs sont correctes, puis sélectionnez Répliquer :
Restez sur cette page jusqu’à la fin du processus (cela peut prendre 5 à 10 minutes). Si vous quittez cette page, les objets liés à la réplication ne seront pas entièrement créés, ce qui entraînera un échec de la réplication et, par la suite, de la migration.
Les 2 notifications Azure suivantes devraient alors s’afficher :
De retour sur votre projet Azure Migrate, vous pouvez suivre votre réplication depuis le menu suivant :
Une section dédiée à Azure Local est disponibles et affiche les réplications, les opérations et les événements, cliquez-ici pour avoir plus de détail sur la réplication en cours :
Les différentes étapes de réplication se suivent :
La progression via un pourcentage est même visible :
La phase finale de synchronisation des données arrive par la suite :
La prochaine étape consistera justement à faire la migration pour basculer notre VM vers Azure Local.
Etape III – Migration VMware -> Azure Local :
Une fois la réplication terminée, la machine virtuelle répliquée sur Azure Local est visible en cliquant ici :
Cliquez alors sur le statut de la machine virtuelle vous indiquant que la migration est prête :
Déclenchez la migration vers Azure Local en cliquant ici :
La notification Azure suivante apparaît alors :
Le travail de bascule planifiée est visible dans le menu suivant :
Les différentes étapes de migration vers Azure Local se suivent :
Rafraîchissez cette fenêtre plusieurs fois afin de constater le succès du processus :
Constatez l’apparition de la machine virtuelle migrée sur la page Azure de votre cluster Azure Local, puis cliquez dessus :
Copiez l’adresse IP privée de cette nouvelle machine virtuelle créée sous Azure Local :
Etape IV – Actions post-migration :
Dans mon scénario, j’ai utilisé une connexion Azure Virtual Desktop hébergé sur mon cluster Azure Local :
Une fois sur le réseau de votre Azure Local, ouvrez une connexion RDP vers l’adresse IP de votre machine virtuelle migrée :
Rentrez les identifiants de l’administrateur local, puis cliquez sur OK :
Constatez la bonne ouverture de session Windows sur votre machine virtuelle migrée :
Si la migration vous semble réussie, retournez sur votre projet Azure Migrate afin de déclarer la migration vers Azure Local comme étant complète :
Confirmez votre choix d’arrêt de réplication en cliquant sur Oui :
La notification Azure suivante apparaît alors :
L’action de Terminer la migration ne fera que nettoyer la réplication en supprimant le travail de suppression de l’élément protégé – cela n’affectera pas votre VM migrée.
Une fois la ressource migrée supprimée, elle est également supprimée de la vue Réplications. Vous verrez également le travail de migration de la VM disparaître de la vue Réplications :
Retournez sur la machine virtuelle sous Azure Local afin de finaliser l’intégration de cette VM dans l’hyperviseur Azure Local :
Il nous faut donc activer la gestion des invités pour la machines virtuelle migrée en y attachant l’ISO.
Pour cela, connectez-vous à un serveur Azure Local, puis exécutez la commande CLI suivante dans une fenêtre PowerShell sur la VM migrée pour laquelle l’agent invité doit être activé :
az stack-hci-vm update --name $vmName --resource-group $rgName --enable-vm-config-agent true
Affichez les informations de l’installeur de l’agent :
Installez l’ISO de l’agent invité sur la VM migrée comme suit :
Nul doute que le souci va être corrigé sous peu ! Une page de résolution des problèmes a aussi été créée par Microsoft juste ici, ainsi qu’une FAQ.
Conclusion
En choisissant de migrer de VMware vers Azure Local, les entreprises s’engagent dans une transformation stratégique qui allie flexibilité et modernité.
Cette transition permet non seulement de consolider les ressources locales avec la puissance d’Azure, mais aussi de réduire les coûts opérationnels et de simplifier la gestion des infrastructures hybrides.
Bonne nouvelle ! Azure Local23H2 est maintenant disponible en GA. La 23H2 simplifie grandement la configuration et le déploiement des clusters HCI. Autre bonne nouvelle, AVD est aussi en GA sur Azure Azure Local ! Si tester Azure Virtual Desktop via une solution cloud hybride et sans acheter quoi que ce soit vous intéresse, cet article est fait pour vous !
Un premier article avait déjà été écrit sur ce blog à propos d’Azure Local. La solution proposée par Microsoft vous permet de disposer d’une infrastructure hyperconvergée basée sur les technologies Azure :
Peut-on tester Azure Localsans investir dans du matériel physique ?
La réponse est oui grâce à Azure Arc Jumpstart ! Vous pouvez recréer un cluster Azure Local directement dans Azure. L’article précédemment écrit proposait la même approche, mais Jumpstart simplifie grandement le processus.
Qu’est-ce qu’Azure Arc Jumpstart ?
Il s’agit de solutions de type bac à sable proposées par Microsoft :
L’univers de l’Arc Jumpstart. Vous souhaitez explorer plusieurs environnements et découvrir toute l’étendue de Jumpstart ? Obtenez des scénarios automatisés de zéro à héros pour les serveurs compatibles avec Arc, Kubernetes compatible avec Arc, et plus encore. Parcourez les scénarios. Explorez des scénarios du cloud à la périphérie conçus pour répondre à des besoins sectoriels spécifiques.
Comme le montre la page suivante, beaucoup de scénarios y sont proposés :
Mais qu’est-ce qu’HCIBox ?
En quelques mots : il vous permet d’essayer Azure Local directement dans Azure :
HCIBox est une solution clé en main qui fournit un bac à sable complet pour explorer les capacités d’Azure Local et l’intégration du cloud hybride dans un environnement virtualisé. HCIBox est conçu pour être complètement autonome au sein d’un seul abonnement Azure et d’un seul groupe de ressources, ce qui permettra à un utilisateur de se familiariser facilement avec Azure Local et la technologie Azure Arc sans avoir besoin de matériel physique.
Les ressources HCIBox entraînent des frais de consommation Azure, qui dépendent des ressources Azure sous-jacentes telles que le calcul central, le stockage, le réseau.
Voici une idée de ce que peut représenter une HCIBox fonctionnant en 24/7 pendant 31 jours et hébergée en Suisse :
Enfin, une FAQ de la HCIBox est disponible juste ici.
Pour vous faire une meilleure idée, je vous propose de réaliser ensemble un petit exercice Azure Virtual Desktop fonctionnant grâce à un Azure Local construit dans une HCIBox elle-même hébergée sur Azure :
Pour réaliser cet exercice, il vous faudra disposer de :
Un tenant Microsoft
Une souscription Azure valide
Etape I – Préparation de l’environnement Azure :
Afin de pouvoir déployer les ressources Azure liées à la HCIBox, il est nécessaire d’avoir un quota CPU suffisant pour une famille particulière de machines virtuelles.
Pour cela, ouvrez votre souscription Azure, puis rendez-vous sur le menu suivant afin de vérifier que le quota de la famille ESv5 est au minimum de 32 cœurs :
Note : Si cela n’est pas le cas, le stylo à droite vous permet de créer une demande de modification de quota. Cette demande sera traitée automatiquement ou génèrera un ticket de support chez Microsoft.
Ouvrez ensuite Azure Cloud Shell via le bouton situé dans la barre en haut de votre portail Azure :
Si l’ouverture d’Azure Cloud Shell est une première sur votre environnement Azure, il vous sera demandé de créer un compte de stockage comme le montre l’exemple ci-dessous :
Une fois Azure Cloud Shell ouvert en PowerShell, exécuter la commande suivante afin de recréer le référentiel Azure Arc Jumpstart sur votre compte de stockage :
Vérifiez la version installée d’Azure CLI avec la commande ci-dessous. Celle-ci doit être supérieure ou égale à la version 2.56.0 :
az --version
Dans le cas où plusieurs souscriptions Azure sont en place sur votre tenant, utilisez la commande suivante afin d’identifier la souscription actuellement sélectionnée :
az account list --query "[?isDefault]"
Utilisez la commande suivante et disponible ici pour changer au besoin la souscription :
az account set
Utilisez la commande suivante afin de vérifier le bon changement de sélection :
az account list --query "[?isDefault]"
Utilisez la commande suivante afin de vérifier que les quotas liés à la région Azure et à la famille de VMs soient suffisants :
az vm list-usage --location westeurope --output table
Créez un principal de service Azure (SP) disposant d’un contrôle d’accès (RBAC) de propriétaire sur la souscription Azure, prenez soin de sauvegarder les 3 valeurs en sortie :
az ad sp create-for-rbac -n "JumpstartHCIBox" --role "Owner" --scopes /subscriptions/$subscriptionId
Vérifiez cette création depuis la page des droits RBAC de votre souscription Azure :
Profitez-en pour Enregistrer le fournisseur de ressources suivant sur votre souscription Azure :
Le statut du fournisseur de ressources change durant cette phase :
Environ 30 secondes plus tard, le statut du fournisseur de ressources change encore une fois :
De retour sur Azure Cloud Shell, mettez à jour la dernière version de Bicep
az bicep upgrade
Récupérez l’identifiant d’objet du fournisseur de ressources Azure Local de votre tenant :
az ad sp list --display-name "Microsoft.AzureStackHCI Resource Provider"
Votre environnement est maintenant configuré pour commencer le déploiement des ressources Azure de votre HCIBox.
Etape II – Déploiement des ressources Azure :
Pour cela, récupérez le template au format JSON disponible à cette adresse afin de modifier les informations suivantes :
spnClientId : Votre identifiant de principal de service Azure
spnClientSecret : Votre secret de principal de service Azure
spnTenantId : Votre identifiant de tenant Azure
spnProviderId : Votre identifiant de fournisseur de ressources Azure Local
WindowsAdminUsername : Nom d’utilisateur de l’administrateur
windowsAdminPassword : Mot de passe de l’administrateur
logAnalyticsWorkspaceName : Nom unique pour l’espace de travail HCIBox Log Analytics
deployBastion : Option pour déployer ou non Azure Bastion
Téléversez le fichier template au format JSON modifié sur Azure :
Déplacez le fichier template dans le dossier Bicep :
Lancez la commande suivante afin de créer un groupe de ressources dans la région Azure de votre choix :
az group create --name "jlohci" --location "westeurope"
Lancez la commande suivante afin de déployer les ressources Azure de votre HCIBox :
az deployment group create -g "jlohci" -f "main.bicep" -p "main.parameters.json"
Suivez le déploiement des ressources Azure depuis le nouveau groupe de ressources créé :
Environ 30 minutes plus tard, les ressources Azure de votre HCIBox sont enfin déployées :
Les ressources Azure servant à votre HCIBox sont maintenant en place :
L’étape suivante va consister à déployer différents serveurs nécessaires à votre Cluster Azure Local. Pour cela, nous utiliserons un script PowerShell déjà préparé.
Etape III – Déploiement des nœudsconnectés via Azure Arc :
Pour lancer ce script, nous devrons ouvrir une session RDP sur la machine virtuelle hôte. Pour cela recherchez la machine virtuelle suivante, puis cliquez sur celle-ci :
Démarrez une session RDP via le service Azure Bastion en utilisant les identifiants renseignés dans le template JSON :
Une fois que vous vous êtes connecté en RDP, le script PowerShell s’ouvre automatiquement :
Note : Une fois terminé, la fenêtre PowerShell du script se fermera automatiquement :
Ce script prendra au total entre 1 et 2 heures avec 10 différentes étapes.
Téléchargement des fichiers VHDX de l’OS Azure Local :
Configuration de la virtualisation :
Création de la VM de management sous Hyper-V :
Création des 2 VMs représentants les 2 nœuds Azure Local:
Démarrage des 3 machines virtuelles :
Configurations réseaux et stockages :
A l’intérieur même de la machine virtuelle de management, déploiement d’une autre VM dédiée au réseau :
Finalisation du déploiement de l’infrastructure Azure LocalAzure Local dont l’enrôlement de nos 2 serveurs sur Azure via Azure Arc:
Comme indiqué plus haut, le script PowerShell se ferme automatiquement à la fin :
Si le script vous affiche une ou plusieurs erreurs, différents journaux d’évènements sont disponibles dans le dossier suivant :
C:\HCIBox\Logs\
Il existe également une page officielle de Troubleshoot juste ici :
Log file
Description
C:\HCIBox\Logs\Bootstrap.log
Output from the initial bootstrapping script that runs on HCIBox-Client.
C:\HCIBox\Logs\New-HCIBoxCluster.log
Output of New-HCIBoxCluster.ps1 which configures the Hyper-V host and builds the HCI cluster, management VMs, and other configurations.
C:\HCIBox\Logs\Generate-ARM-Template.log
Log output of the script that builds the hci.json and hci.parameters.json file
C:\HCIBox\Logs\HCIBoxLogonScript.log
Log output from the orchestrator script that manages the install
C:\HCIBox\Logs\Tools.log
Log output from tools installation during bootstrap
Afin de bien vérifier la connexion à Azure, recherchez le service Azure Arc via la barre du portail Azure :
Vérifiez que les deux nœuds HCI sont présents dans Azure Arc :
Vérifiez que les deux nœuds ont correctement installé avec succès les trois extensions suivantes :
TelemetryAndDiagnostics
AzureEdgeLifecycleManager
AzureEdgeDeviceManagement
Vérifiez également sur le second nœud la présence de ces 3 extensions :
Enfin comme le montre l’image ci-dessous, votre Cluster Azure Local n’est pas encore déployé :
Azure Local utilise un processus en 2 étapes pour valider et déployer des clusters dans Azure à l’aide d’un modèle ARM.
Etape IV – Déploiement du cluster Azure Local :
Avant cela, commencez par ajouter à votre compte Entra ID les 2 rôles Entra ID suivants :
Administrateur Key Vault
Contributeur au compte de stockage
Retournez sur la session RDP ouverte via Azure Bastion, ouvrez l’explorateur de fichiers, faites un clic droit sur le dossier HCIBox, puis ouvrez-le dans VSCode :
Cliquez-ici pour continuer :
Vérifiez que le fichier hci.parameters.json est correct et sans valeurs de paramètre -staging :
Toujours sur la machine virtuelle hôte, ouvrez le portail Azure avec votre identifiant Entra ID, puis rechercher le service suivant :
Sélectionnez Construire votre propre modèle dans l’éditeur :
Collez le contenu du fichier hci.json dans l’éditeur, puis cliquez sur Enregistrer :
Cliquez sur Editer les paramètres :
Collez le contenu de hci.parameters.json dans l’éditeur, puis cliquez sur Enregistrer :
Renseignez votre groupe de ressources, puis lancez la validation Azure :
Une fois la validation Azure réussie, exécutez le template ARM :
Attendez que ce dernier soit terminé :
Environ 15 minutes plus tard, cliquez-ici pour ouvrir à nouveau votre groupe de ressources :
Cliquez sur la nouvelle ressource Azure représentant votre cluster Azure Local :
Un bandeau vous indique que la validation est réussie mais que le déploiement n’est pas encore effectué. Cliquez-ici pour le lancer :
La mise en place du template ARM vous amène directement sur l’onglet suivant, lancez la validation Azure :
Une fois la validation Azure réussie, lancez le déploiement des ressources, puis attendez :
Suivez l’avancement du déploiement du cluster Azure Local via le menu suivant :
Environ 2 heures plus tard, cette même page vous indique la fin du déploiement du cluster Azure Local :
Retournez sur la page principale de votre cluster Azure Local afin de lancer au besoin les mises à jour disponibles (2402) :
Suivez l’avancement de la mise à jour de votre cluster via le menu suivant :
Environ 2 heures plus tard, cette même page doit vous indiquer la fin de la mise à jour sur de votre cluster Azure Local :
Votre cluster Azure Local est enfin installé et à jour. Nous allons maintenant pouvoir nous intéresser à son contenu, à savoir :
les images OS
les réseaux logiques
Etape V – Images OS et réseaux logiques d’Azure Local :
Avant de pouvoir créer des machines virtuelles sur votre cluster HCI à partir du portail Azure, vous devez créer des images de VM qui peuvent être utilisées comme base. Ces images peuvent être importées de la place de marché Azure ou fournies directement par l’utilisateur.
Cliquez-ici pour importer une image à partir de la Marketplace d’Azure :
Dans mon exemple, j’importe les deux images OS suivantes :
Windows 11 Enterprise multisession + Microsoft 365 Apps, version 23H2
Windows Server 2022 Datacenter: Azure Edition
La première étape consiste à télécharger sur votre cluster les deux images OS :
Environ 2 heures plus tard, le téléchargement des 2 images est terminé :
Comme nous le rappelle Azure Arc Jumpstart, Le réseau de la HCIBox comprend un sous-réseau 192.168.200.0/24 étiqueté VLAN200 :
Network details
Subnet
192.168.200.0/24
Gateway
192.168.200.1
VLAN Id
200
DNS Server
192.168.1.254
Ce réseau est conçu pour être utilisé avec les VMs Arc sur HCIBox. Pour utiliser ce réseau préconfiguré, vous devez créer une ressource réseau logique qui correspond à ce sous-réseau.
Depuis la VM hôte ouverte en RDP, ouvrez le script PowerShell suivant afin de créer le réseau logique sur votre cluster Azure Local :
Une fois le script correctement exécuté, le réseau logique est visible sur le portail Azure juste ici :
Les information de sous-réseau, de passerelle et de serveur DNS sont bien reprises :
Tous les éléments de configuration sont maintenant en place pour commencer la création de machines virtuelles dans votre cluster Azure Local.
Avant de déployer un environnement Azure Virtual Desktop, je vous propose de créer une machine virtuelle fonctionnant sous Windows Server 2022.
Etape VI – Déploiement d’une machine virtuelle Windows Server 2022 :
Depuis la page de votre cluster Azure Local, cliquez-ici pour créer votre première machine virtuelle :
Choisissez un groupe de ressources, donnez un nom à votre VM, puis sélectionnez Standard pour le type de sécurité :
Sélectionnez l’image Windows Server que vous avez téléchargée précédemment, puis définissez sa taille et sa mémoire :
Cochez la case suivant, puis définissez un compte administrateur local :
Joignez la VM au domaine AD créé pour votre Azure Local, puis cliquez sur Suivant :
Inutile d’ajouter d’autres disques de données, cliquez sur Suivant :
Cliquez-ici pour ajouter une carte réseau :
Nommez la carte réseau, sélectionnez le réseau logique créé précédemment, choisissez la méthode d’allocation sur Automatique, puis cliquez sur Ajouter :
Cliquez sur Suivant :
Ajoutez au besoin des tags, puis cliquez sur Suivant :
Cliquez sur Créer :
Comme pour une ressource Azure classique, vous pouvez suivre toutes les étapes du déploiement :
Environ 20 minutes plus tard, cliquez-ici pour apercevoir les propriétés de votre VM :
Copiez l’adresse IP privée de votre nouvelle VM :
Depuis la session ouverte via Azure Bastion, ouvrez une session Hyper-V sur la machine virtuelle de management :
Utilisez le compte suivant :
Ouvrez une session RDP via l’adresse IP privée de votre nouvelle VM tout en utilisant un compte de domaine :
Constatez la bonne ouverture de session sur votre machine virtuelle Windows Server 2022 :
Le test d’une machine virtuelle individuelle fonctionne bien. Il ne nous reste plus qu’à tester le déploiement d’un environnement Azure Virtual Desktop sur votre cluster Azure Local.
Etape VII – Déploiement d’Azure Virtual Desktop :
Avant de pouvoir déployer votre environnement Azure Virtual Desktop. Il est conseillé de synchroniser les identités Active Directory avec Entra ID.
Pour cela, ouvrez une session Hyper-V à votre contrôleur de domaine de démonstration :
Utilisez le compte de domaine suivant :
Créez une nouvelle OU, des utilisateurs de test et un groupe dédié à Azure Virtual Desktop :
Depuis la page des utilisateurs d’Entra ID, vérifiez la bonne synchronisation de vos utilisateurs et votre groupe AVD :
Retournez sur la page de votre cluster Azure Local, puis cliquez-ici pour déployer votre environnement Azure Virtual Desktop :
Renseignez les informations de base de votre pool d’hôtes Azure Virtual Desktop, puis cliquez sur Suivant :
Ajoutez un ou des VMs Azure Local à votre AVD en reprenant l’image Windows 11 Enterprise multisession :
Définissez sa taille, sa mémoire et son réseau logique :
Joignez-la au domaine Active Directory, renseignez le compte d’administrateur local, puis cliquez sur Suivant :
Créez un espace de travail AVD, puis lancez la validation Azure :
Une fois la validation Azure réussie, lancez la création des ressources :
Attendez environ 1 heure :
L’image ci-dessous vous montre l’apparition des VMs AVD :
Seulement, et contrairement au déploiement de la première VM sous Windows Server 2022, le management invité n’est pas automatiquement installée sur les VMs AVD :
Afin d’éviter un échec de votre déploiement AVD, actualiser la page de votre machine virtuelle AVD régulièrement afin d’activer le management invité dès que cela est possible :
Attendez environ 2 minutes le temps de la préparation :
Copiez le script suivant pour sa mise en place :
Récupérez l’adresse IP privée de votre VM AVD :
Depuis la VM de management, ouvrez une session RDP avec le compte administrateur local :
Collez le script sur la VM AVD :
Sur le portail Azure, activez le management invité de votre VM dès que cela est possible :
Suivez l’activation du management invité par le menu suivant :
Rafraichissez la page plusieurs fois si nécessaire :
Environ 30 minutes plus tard, le déploiement de votre AVD doit se terminer :
Consultez votre pool d’hôtes AVD depuis le portail Azure :
Vérifiez également la bonne apparition de vos VMs AVD dans votre Active Directory :
Ajoutez votre groupe Entra ID synchronisé à votre AVD en tant qu’utilisateurs AVD :
Démarrez votre client Remote Desktop, puis ouvrez une session AVD sur un utilisateur de test :
Renseignez à nouveau le mot de passe de votre utilisateur :
Attendez quelques secondes l’ouverture de votre session Azure Virtual Desktop :
Conclusion
Grâce à la HCIBox, nous avons rapidement et facilement pu se rendre compte de l’écosystème hybride proposé par Microsoft pour une de leurs solutions phares : Azure Virtual Desktop.
Important : Attention tout de même à ne pas trop dépenser de crédits pour votre HCIBox. pensez à supprimer ou éteindre vos ressources une fois vos tests terminés :
Ce rappel des coûts de la HCIBox m’amène à une autre question :
Est-il rentable de faire fonctionner Azure Virtual Desktop sur Azure Local quand d’autres solutions on-premise existent également ?
Les avis de la communauté sont partagés, comme l’article écrit par PureRDS :
Plusieurs coûts sont en effet présents pour un Azure Virtual Desktop hébergé sur Azure Local.
Coûts licences utilisateurs :
Coûts licences infra :
Enfin voici quelques vidéos pour vous faire votre propre opinion 😎 :
Le Cloud est présent dans beaucoup d’infrastructures IT. Utilisé à 100% ou seulement de manière partielle pour certains services, il offre une flexibilité inégalée, aussi bien dans son financement que dans les besoins techniques disponibles et les évolutions possibles.
Mais alors, si le cloud est merveilleux, pourquoi les principaux fournisseurs de cloud cherchent aussi à proposer des solutions dites hybrides (on-premise + cloud) ?
Peut-être qu’il en faut pour tous les goûts 😁?
D’abord, faisons un rapides tour de plusieurs concepts avant tester ensemble une solution hybride via un exercice que propose justement Microsoft.
Qu’est-ce que le cloud hybride ?
Le cloud hybride combine généralement deux types de cloud : public et privé. Par privé est souvent entendu local.
Un cloud hybride est un peu comme une voiture hybride. Les voitures hybrides combinent deux technologies totalement distinctes : un moteur qui brûle de l’essence et un autre qui consomme de l’énergie électrique. Chaque technologie fonctionne de manière totalement différente, et chacune a ses avantages et ses inconvénients. Cependant, lorsque les deux sont combinées efficacement, le résultat est une voiture plus performante que la plupart des voitures uniquement à essence et pourtant plus puissante que la plupart des voitures entièrement électriques. De même, les cloud hybrides combinent les avantages de plusieurs types d’environnements cloud pour une efficacité et une fonctionnalité accrue.
Azure Local est une solution développée par Microsoft pour justement aider les entreprises à exploiter les avantages d’un environnement hybride, expliqué précédemment, via les interfaces connues d’Azure et de Windows Admin Center.
Il s’agit d’une solution d’infrastructure hyperconvergée basée sur les technologies Azure de Microsoft. Elle permet de :
d’intégrer de façon transparente leur environnement
De créer une expérience hybride cohérente à Azure.
D’apporter toujours plus de scalabilité et flexibilité.
De conserver un haut niveau de sécurité et de conformité.
De profiter d’une passerelle de modernisation de l’infrastructure existante.
Existe-t-il du matériel certifié Azure Local ?
Microsoft met à disposition un site web dédié à Azure Local dont voici le lien. Vous pourrez y planifier votre solution en fonction des charges de travail prévues :
Peut-on tester Azure Local sans forcément acheter du matériel ?
Cela est possible, grâce à … Azure ! En effet, les fournisseurs de cloud autorisent pratiquement toutes les créations de ressources, donc on peut simuler un Azure Local dans le cloud de Microsoft.
Cette approche permet donc de ne pas dépenser de grandes sommes d’argent pour tester la solution Azure Local avant de se laisser convaincre. Pour cela je vous laisse lire les différentes étapes ci-dessous pour y parvenir :
La version originale de l’exercice conçu par Microsoft est également disponible en anglais sur leur page GitHub juste ici.
Rappel des prérequis :
Pour réaliser cet exercice sur Azure Local, il vous faudra disposer de :
Un tenant Microsoft
Une souscription Azure valide
Afin de tester Azure Local, nous allons avoir besoin créer un environnement virtuel, dans lequel nous allons simuler la présence de nœuds Azure Local, mais aussi de Windows Admin Center.
Dans Azure, il est en effet possible d’imbriquer de la virtualisation. Cela demande malgré tout quelques exigences, comme le SKU de la machine virtuelle Hyper-V, mais aussi sa génération.
Important : Attention à ne pas laisser tourner l’environnement de démonstration Azure Local tourner un peu trop longtemps. Beaucoup de ressources Azure sont créées et le compteur des € défile assez vite 🤑.
Etape I – Déploiement de l’environnement virtuel sur Azure :
Commencez par cliquez sur le lien ci-dessous afin déployer les ressources nécessaires sur votre souscription Azure :
Renseignez les champs suivants, puis lancez la validation Azure :
Une fois la validation Azure réussie, cliquez-ici pour commencer la création :
Le déploiement dure environ 30 minutes, attendez que celui-ci se termine, puis cliquez-ici :
Constatez la présence de nombreuses ressources Azure créées pour cette démonstration, puis cliquez sur la machine virtuelle présente, appelée AzSHCIHost001 :
Rendez-vous dans le menu Bastion, puis cliquez-ici pour en déployer un :
Attendez environ 5 minutes que la création d’Azure Bastion se termine :
Modifier la règle NSG suivante créée dans le template Microsoft afin de débloquer l’accès RDP à votre machine Hyper-V :
Retournez sur votre machine virtuelle Hyper-V, puis lancez une session Bastion avec les identifiants renseignés lors de la création du template :
Sur la session RDP ouverte via Azure Bastion, cliquez-ici pour modifier le script de déploiement d’Azure Local :
Rendez-vous sur la ligne suivante pour modifier la ligne comme ceci :
AVANT :
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Vous avez aussi la possibilité de récupérer celui-ci en version corrigée sur mon GitHub
Lancez le script, puis faites preuve d’un petit peu de patience, car celui dure environ … 2 heures 🤣
Si aucune erreur ne s’est manifestée durant le traitement, vous devriez apercevoir le message de succès suivant :
Si le script ne s’est pas correctement terminé, la commande PowerShell suivante permet d’effacer les ressources crées dans Hyper-V afin de pouvoir recommencer le lancement du script :
.\New-AzSHCISandbox.ps1 -Delete $true
Un tour rapide dans la console Hyper-V montre l’apparition de 3 machines virtuelles :
AzSHOST1 : nœud Azure Local 1
AzSHOST2 : nœud Azure Local 2
AzSMGMT : Console de management pour Windows Admin Center
Sur le bureau de votre machine virtuelle Hyper-V, une icône de type RDP vient de faire son apparition :
Notre environnement fictif de départ est maintenant terminé. Nous avons besoin d’enregistrer notre cluster Azure Local sur le portail Azure afin de commencer la facturation mais aussi tester le déploiement de services depuis le portail Azure.
Etape II – Enregistrement du Cluster Local sur Azure :
Pour cela, cliquez sur l’icône RDP pour ouvrir une session sur la VM WAC puis renseignez les identifiants suivants (mot de passe : Password01) :
Notez la présence d’un domaine Active Directory nommé Contoso. Attendez quelques minutes que la session se charge entièrement :
Sur le bureau, ouvrez le raccourci menant à la page suivante et ayant un icône Google Chrome :
https://admincenter.contoso.com/
Renseignez les identifiants suivants (mot de passe : Password01) :
Attendez quelques secondes que se charge la console de Windows Admin Center :
Fermez la fenêtre de notification de Windows Admin Center :
Attendez environ 10 minutes que tous les modules présents dans Windows Admin Center soient bien mis à jour :
Une fois les mises à jour effectuées, les notifications suivantes devraient apparaître dans WAC :
Afin de pouvoir piloter votre Cluster de serveurs Azure Local, il est nécessaire de le rajouter dans la console WAC pour terminer la configuration.
Cliquez-ici pour ajouter votre cluster Azure Local à WAC :
Saisissez le nom AzStackCluster, attendez quelques secondes que WAC retrouve ce dernier, puis cliquez sur Ajouter :
Une fois l’ajout réussi, vérifiez la liste des connexions existantes avec WAC, puis cliquez sur votre cluster de serveurs :
Rendez-vous dans le menu appelé SDN Infrastructure :
Renseignez les identifiants suivants (mot de passe : Password01), puis cochez la case suivante :
Renseignez le contrôleur de réseau suivant, puis cliquez sur Continuer :
Constatez l’apparition des nouveaux menus suivants sous la section Réseau :
Afin de pouvoir utiliser pleinement le portail Azure pour piloter notre cluster Azure Local, il est nécessaire de passer par quelques étapes d’enregistrement.
Pour cela, rendez-vous toujours depuis WAC dans la section Azure Arc, puis cliquez sur le bouton suivant :
Cliquez-ici pour démarrer l’enregistrement de notre cluster sur Azure :
Utilisez le code Azure pour valider l’authentification Azure AD avec un compte disposant de suffisamment de droits sur la souscription Azure :
Une fois l’authentification Azure AD réussie, vous devriez recevoir l’information suivante, puis cliquez sur Authentifier :
Acceptez la demande de permission de Windows Admin Center avec le consentement global de l’organisation :
Vérifiez la disparition du message sur la page Azure Arc de votre WAC :
Avant d’aller plus loin, retournez sur votre portail Azure afin d’activer le fournisseur de ressources suivant sur votre souscription Azure :
Attendez environ deux minutes que le statut soit correctement changé sur le fournisseur de ressources :
Retournez sur Windows Admin Center, puis cliquez-ici :
Cliquez-ici pour démarrer le processus avec la connexion Azure Arc précédemment créée :
Renseignez les informations qui vous conviennent, puis cliquez sur Enregistrer :
La notification suivante devrait alors apparaître dans WAC :
Attendez environ 5 minutes pour confirmer le bon enregistrement :
LocalRetournez sur le portail Azure afin de constater la présence de votre Azure Local, puis cliquez dessus :
Naviguez dans les différents menus pour mieux comprendre les informations remontées sur Azure.
Nous allons avoir maintenant besoin d’un autre composant, appelé Azure Resource Bridge. Si l’on souhaite gérer et déployer des ressources sur son cluster depuis Azure, celui-ci est indispensable.
Etape III – Configuration d’Azure Ressource Bridge :
Le pont de ressources Arc est une machine virtuelle empaquetée qui héberge un cluster Kubernetes de gestion nécessitant une gestion minimale des utilisateurs. La machine virtuelle est déployée sur l’infrastructure locale et une ressource ARM du pont de ressources Arc est créée dans Azure. Les deux ressources sont ensuite connectées, ce qui permet la gestion et l’utilisation en libre-service des machines virtuelles à partir d’Azure
Ensuite, cliquez ici pour installer un second module, appelé Azure Resource Bridge :
Attention : certaines étapes sont à faire sur les 2 nœudsprésents dans votre cluster Azure Local
Cliquez sur le lien suivant pour ouvrir le guide d’installation d’Arc Resource Bridge :
Retournez sur votre serveur Hyper-V, puis dans la console Hyper-V, cliquez sur le premier nœud de votre cluster Azure Local afin d’ouvrir une session :
Renseignez les identifiants suivants (mot de passe : Password01) :
Effectuez le choix 15 pour ouvrir une console PowerShell :
Profitez-en pour ouvrir Notepad depuis PowerShell afin de faciliter les copier / coller :
Saisissez la commande suivante pour installer les premiers modules nécessaires :
Fermez la fenêtre PowerShell afin de revenir au menu principal, puis entrez le choix 13 pour redémarrer votre second nœud:
LocalRetournez sur votre serveur Hyper-V, puis dans la console Hyper-V, cliquez à nouveau sur le premier nœud de votre cluster Azure Local afin d’ouvrir une session :
Renseignez à nouveau les identifiants suivants (mot de passe : Password01) :
Effectuez à nouveau le choix 15 pour rouvrir une console PowerShell :
Saisissez la commande suivante pour installer le module CLI d’Azure, uniquement nécessaire sur le premier nœud :
Fermez la fenêtre PowerShell afin de revenir au menu principal, puis entrez le choix 13 pour redémarrer à nouveau votre premier nœud :
Retournez sur votre serveur Hyper-V, puis dans la console Hyper-V, cliquez à nouveau sur le premier nœud de votre cluster Azure Local afin d’ouvrir une session :
Renseignez à nouveau les identifiants suivants (mot de passe : Password01) :
Effectuez à nouveau le choix 15 pour rouvrir une console PowerShell :
Rouvrez à nouveau Notepad depuis PowerShell afin de faciliter les copier / coller.
Préparer les variables suivantes puis lancez-les :
Retirer les extensions du module PowerShell Az si jamais elles existaient déjà :
az extension remove --name arcappliance
az extension remove --name k8s-extension
az extension remove --name customlocation
az extension remove --name azurestackhci
Installer à nouveaux ces mêmes extensions Az :
az extension add --upgrade --name arcappliance
az extension add --upgrade --name k8s-extension
az extension add --upgrade --name customlocation
az extension add --upgrade --name azurestackhci
Renseignez les informations sur votre environnement Azure :
Vérifiez que le statut soit bien sur Succeded, retentez quelques minutes plus tard si nécessaire :
az k8s-extension show --cluster-type appliances --cluster-name $resource_name --resource-group $resource_group --name hci-vmoperator --out table --query '[provisioningState]'
Terminez par la commande de création d’un emplacement personnalisé sur Azure. Ce dernier va nous être utile pour indiquer lors de la création de ressources depuis le portail Azure que celle-ci doit-être créée sur Azure Local :
az customlocation create --resource-group $resource_group --name paris --cluster-extension-ids "/subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.ResourceConnector/appliances/$resource_name/providers/Microsoft.KubernetesConfiguration/extensions/hci-vmoperator" --namespace hci-vmoperator --host-resource-id "/subscriptions/$subscription/resourceGroups/$resource_group/providers/Microsoft.ResourceConnector/appliances/$resource_name" --location $location
Constatez la bonne création de ce dernier depuis le portail Azure :
Retournez sur la page Azure de votre cluster Azure Local afin de constater l’avancement des prérequis :
Azure Resource Bridge est maintenant correctement installé. Nous allons enfin pouvoir créer notre machine virtuelle depuis le portail Azure, et déployée directement sur un des 2 nœuds de notre cluster.
Etape IV – Création de la VM sur le Stack :
Cliquez comme ceci pour transférer vers votre cluster une image de VM provenant de la marketplace Microsoft d’Azure :
Renseignez les champs comme ceci, puis lancez la validation :
Une fois la validation réussie, cliquez-ici pour commencer le transfert de données de l’image de Windows Server vers votre cluster :
Ce processus est assez long, comptez environ une bonne heure avant que le transfert de l’image ne se termine :
En cas d’erreur lors du transfert, relancez celui-ci afin d’avoir une image complète sur votre cluster :
De retour sur votre premier nœud de votre cluster Azure Local, lancez la commande suivante pour initialiser le réseau virtuel :
Retournez sur le portail Azure afin de constater sa bonne création :
Cliquez ensuite ici pour créer votre première VM sur votre Azure Local :
Renseignez les informations de base :
Définissez sa taille et son identifiant local, puis cliquez sur Suivant :
Ajoutez si besoin des disques de données, puis cliquez sur Suivant :
Ajoutez une carte réseau :
Utilisez le réseau virtuel créé précédemment :
Cliquez-ici pour lancer la validation :
Une fois la validation Azure réussie, cliquez sur Créer :
Le déploiement des ressources est en cours sur votre cluster, comptez environ 30 minutes pour que celui-ci se termine :
Au bout de quelques minutes Il est aussi possible de suivre la création de la VM depuis la console WAC :
Une fois la création de la machine virtuelle terminée, cliquez-ici pour y accéder :
Prenez le temps de vérifier la configuration de celle-ci :
Retournez sur la console WAC afin d’initialiser une connection directe :
Renseignez les identifiant votre compte admin chez Contoso (mot de passe : Password01) :
Cliquez-ici pour déverrouiller la session distante :
Renseignez les identifiants indiqués lors de la création de la VM depuis le portail Azure :
Vous voilà connecté sur votre VM hébergée sur un Azure Local virtuel, hosté sur un serveur Hyper-V, lui-même hosté sur Azure 😁😎💪 :
Conclusion
Après quelques jours de tests, l’intégration des outils Azure et WAC pour piloter le Cluster un véritable tour de force de Microsoft ! Nul doute que certains projets ou infrastructures ne peuvent être hébergées sur le Cloud pour un grand nombre de raisons. C’est pour cela que Microsoft et les autres fournisseurs de Cloud se doivent de proposer des solutions « à mi-chemin ».
Il faudra enfin voir ce que ça donne dans la version publique généralisée car encore beaucoup de scripts à faire dont beaucoup encore en préversion.
Ayant eu l’occasion de participer à un évènement conjoint entre TD SYNNEX, Microsoft et DELL et dédié à Azure Stack HCI, j’ai pu m’intéresser au service qui oeuvre dans l’ombre : Azure Arc. L’ouverture d’Azure sur d’autres sites IT que leurs propres datacenters est indispensable, beaucoup d’architectures IT reposent en effet sur des serveurs locaux, ou sont déjà hébergées auprès d’autres fournisseurs Cloud.
Dans cet article, nous allons effectuer ensemble plusieurs méthodes d’intégration très facile de serveurs au service Azure Arc. Nous en profiterons pour faire tour dans les fonctionnalités disponibles gratuitement ou payantes sur les ressources Arc déployées.
Qu’est-ce qu’Azure Arc ?
Azure Arc est une passerelle qui étend la plateforme Azure pour vous aider à créer des applications et des services ayant la souplesse nécessaire pour fonctionner dans des centres de données, à la périphérie et dans des environnements multiclouds.
A la base, Azure Arc ne coûte rien. Il vous permet d’effectuer les actions suivantes sans débourser un seul centime :
Inventaires des ressources Azure Arc
Accès et sécurisation via l’attribution de droits RBAC
Gestion via l’outil Windows Admin Center
Mais certains services annexes sont payants :
Serveur SQL avec Azure Arc
Defender for Cloud
Azure Policy Guest Configuration
Azure Insights
Logs
…
Puis-je tester moi-même Azure Arc avec une VM Azure ?
Non cela n’est pas possible aussi facilement : Azure n’autorise pas d’intégrer directement une machine virtuelle provenant dans la Marketplace Microsoft dans Azure Arc :
Seulement tout le monde ne dispose pas d’une infrastructure IT prête à servir de cobaye pour tester Azure Arc. C’est pourquoi Microsoft propose Azure Arc Jumpstart.
Le Jumpstart fournit des guides étape par étape pour des scénarios Azure Arc indépendants qui intègrent autant d’automatisation que possible, des captures d’écran et des échantillons de code détaillés, ainsi qu’une expérience riche et complète lors de la prise en main de la plateforme Azure Arc.
Pour en avoir testé quelques-uns, c’est très facile et très bien expliqué.
De mon côté, je vous propose une alternative via un exercice facile pour intégrer des serveurs sur Azure Arc via l’utilisation de ressources uniquement hébergées sur Azure.
Etape 0 – Rappel des prérequis :
Les prérequis suivants sont nécessaires pour réaliser cette démonstration d’Azure Arc :
Un tenant Microsoft
Une souscription Azure valide
Etape I – Déploiement d’un template ressources :
Pour créer des ressources intégrables dans Azure Arc, j’utilise un template développé par Microsoft et disponible depuis GitHub : Line-of-business application migration : à la base, ce template est destiné à tester le service Azure Migrate.
Ce dernier vous propose de déployer un serveur Hyper-V, dans lequel se trouve un applicatif web réparti sur plusieurs machines virtuelles et une base de données SQL.
Seule la partie initiale, encadrée en rouge, nous intéresse pour Azure Arc :
Par ce template, nous allons donc déployer une machine virtuelle Standard D8s v3 (8 vCPU, 32 GB memory) avec un rôle Hyper-V. Cette dernière hébergera 4 machines virtuelles :
Pour cela, cliquez ici pour charger la configuration du template directement dans votre tenant :
Renseignez les champs suivants et continuez :
Par défaut : Le nom d’utilisateur demouser Le mot de passe demo!pass123
Lancez la création et attendez une heure environ :
Prévoyez au moins une heure à partir du début du déploiement du template pour couvrir l’exécution des scripts.
Remarque : le déploiement du template prend environ 6 à 7 minutes. Une fois le déploiement du modèle terminé, plusieurs scripts supplémentaires sont exécutés pour amorcer l’environnement de laboratoire.
Récupérez l’adresse IP publique suivante :
Ouvrez un nouvel onglet depuis votre navigateur internet avec celle-ci. Vous devriez voir un site web affichant des réservations fictives d’hôtels :
Un déploiement correctement terminé devrait vous afficher cette page.
Supprimez le second groupe de ressources destiné aux tests d’Azure Migrate. Nous ne l’utiliserons pas dans le cadre de nos tests sur Azure Arc :
Ouvrez la machine virtuelle SmartHotelHost et cliquez sur Bastion :
Le service Bastion n’est pas créé, lancez son déploiement avec la configuration par défaut :
N’attendez pas la fin du déploiement de Bastion pour continuer.
Etape II – Configuration d’Azure Arc
La configuration d’Azure Arc est très rapide, utilisez la barre de recherche d’Azure pour retrouver le service Azure Arc :
Avant de commencer l’intégration de machines virtuelles à Azure Arc, nous allons créer un principal de service dédié à cette tâche. Ce principal de service va être utilisé pour l’authentification automatique pendant le processus d’intégration des ressources dans Azure Arc.
Cliquez dans le menu suivant :
Cliquez sur Créer :
Renseignez les champs, puis cliquez sur Créer :
Prenez soin de copier l’ID et le secret de principal de service dans un bloc-notes :
Revenez sur la page d’Azure Arc et constatez son apparition :
Une fois Azure Bastion entièrement déployé, retournez sur votre machine virtuelle SmartHotelHost, puis lancez une connexion RDP via Azure Bastion :
Renseignez les identifiants utilisés dans le template, puis cliquez sur Connecter :
La session RDP d’Azure Bastion s’ouvre alors dans un nouvel onglet de votre navigateur web :
Retournez sur le service Azure Arc depuis votre portail Azure, puis cliquez sur Ajouter dans la section Serveurs :
Plusieurs méthodes d’intégration à Azure Arc sont possibles. Le choix de la méthode va surtout dépendre du volume d’intégration à réaliser. Nous allons en tester plusieurs pour vous faire une meilleure idée.
Etape III – Test d’un ajout simple de serveur :
Cette méthode correspond à l’ajout d’un serveur unique sur Azure Arc. Ce premier script effectue les opérations suivantes :
Récupération de l’agent depuis le Centre de téléchargement Microsoft
Installation de l’agent sur le serveur
Création de la ressource serveur compatible avec Azure Arc
Pour utiliser ce script, cliquez comme ceci :
Azure commence par vous présenter les prérequis nécessaires pour assurer la communication entre le serveur et Azure Arc.
La communication repose sur le port 443 (HTTPS), cela nécessite une ouverture de pare-feu pour les flux sortant, et éventuellement la prise en charge d’un service proxy si besoin :
Aucun blocage réseau n’est présent dans notre environnement de test.
Cliquez sur Suivant et renseignez les champs :
Renseignez si besoin les étiquettes appropriées, puis cliquez sur Suivant :
Copiez le script suivant dans votre presse-papier :
Retournez sur la session RDP ouverte grâce à Azure Bastion, puis ouvrez la console Hyper-V :
Connectez-vous à la machine Windows smarthotelweb1 :
Renseignez le mot de passe de session Windows : demo!pass123
Dans cette nouvelle session, ouvrez la console PowerShell :
Collez le script donné par Azure Arc et appuyez sur Entrée pour lancer son exécution :
Comme attendu, le script procède au téléchargement et à l’installation de l’agent :
Identifiez-vous avec le compte Azure AD adéquat pour continuer le processus d’intégration :
Validez le processus d’authentification par un challenge MFA si besoin :
Fermez la fenêtre d’Internet Explorer :
Le script vous confirme la bonne création de l’objet serveur dans Azure Arc :
Retournez sur la page des serveurs Azure Arc, rafraîchissez la page si besoin :
Etape IV – Test d’un ajout de plusieurs serveurs :
Pour ajouter plusieurs serveurs à la fois sur Azure Arc, nous pouvons utiliser la seconde option.
Celle-ci génère un facilement script transportable puisqu’il gère l’authentification Azure via l’exploitation du principal de service créé précédemment. Ce script effectue les opérations suivantes :
Récupération de l’agent depuis le Centre de téléchargement Microsoft
Installation de l’agent sur le serveur
Création de la ressource serveur sur Azure Arc
Pour continuer, cliquez comme ceci :
Renseignez les champs et le principal de service, puis cliquez sur Suivant :
Renseignez si nécessaire les étiquettes appropriées, puis cliquez sur Suivant :
Copiez le script dans le presse-papier :
Retournez sur la session d’Azure Bastion. Sur la console Hyper-V, connectez-vous à la machine smarthotelweb2 :
Renseignez le même mot de passe : demo!pass123
Ouvrez la console PowerShell :
Collez votre script en prenant bien soin de remplacer le secret du principal de service par celui donné lors de sa création :
Attendez que le traitement d’intégration se termine :
Retournez sur la page des serveurs d’Azure Arc, rafraîchissez la page si besoin :
Nul besoin de fournir une authentification manuelle d’Azure, ce script est donc destiné à être utilisé pour importer massivement des serveurs sur Azure Arc.
Etape V – Test d’un ajout d’un serveur Linux
Azure Arc supporte également les serveurs fonctionnant sous distribution Linux ,via l’utilisation d’un autre script spécifique. Celui effectue les actions suivantes :
Récupération du script d’installation à partir du Centre de téléchargement Microsoft
Configuration du gestionnaire de packages pour approuver le référentiel
Téléchargement de l’agent à partir du référentiel de logiciels Linux de Microsoft
Installation l’agent sur le serveur
Création de la ressource de serveur sur Azure Arc
Pour continuer, cliquez encore une fois sur la seconde option :
Renseignez à nouveau les champs et le principal de service, puis cliquez sur Suivant :
Renseignez si besoin les étiquettes appropriées, puis cliquez sur Suivant :
Copiez le script dans le presse-papier :
Retournez sur la session d’Azure Bastion. Depuis le serveur Hyper-V, ouvrez directement une console PowerShell et connectez-vous à la machine UbuntuWAF via SSH:
Renseignez le mot de passe : demo!pass123
Collez le script donné par Azure Arc en prenant soin de modifier le secret, puis appuyez sur Entrée pour lancer son exécution :
Laissez la machine redémarrer au besoin :
Une fois le script correctement terminé, vérifiez sur le service Azure Arc l’apparition du serveur Linux :
Etape VI – Test d’un ajout d’un serveur SQL
Une machine virtuelle hébergeant un serveur SQL est également compatible avec Azure Arc et vous permet de le gérer dans votre inventaire. Le processus repose toujours sur le lancement d’un script. Ce dernier effectue les actions suivantes :
Vérification de la connectivité de votre environnement à Azure et à la machine spécifiée
Intégration de la machine hôte via l’agent Azure Connected Machine si absent
Initiation de la découverte d’instances SQL Server
Ajout des instances SQL Server de votre machine cible à Azure Arc
Cliquez comme ceci :
Renseignez les champs, puis cliquez sur Suivant :
Copiez le script dans le presse-papier :
Retournez sur la session d’Azure Bastion, sur la console Hyper-V, ouvrez une connexion vers le serveur smarthotelSQL1 :
Collez le script précédemment donné par Azure Arc et validez avec la touche Entrée :
Authentifiez-vous avec votre compte Azure. Si aucune fenêtre ne s’ouvre, saisissez l’URL dans votre navigateur web et authentifiez-vous avec votre compte Azure:
Cliquez sur Continuez :
Attendez que le script termine l’intégration du serveur SQL sur Azure Arc :
Une fois terminé, retrouvez le serveur SQL dans la liste des serveurs d’Azure Arc :
L’agent WindowsAgent.SqlServer est bien présent dans les extensions du serveur :
Retrouvez aussi le serveur SQL dans la liste ci-dessous d’Azure Arc :
Comme un serveur SQL Azure, cette intégration sur Azure Arc apporte une visibilité des bases de données ou apporte une intégration avec Microsoft Defender for SQL :
Etape VII – Test de fonctionnalités d’Azure Arc
Un grand nombre de fonctionnalités sont disponibles pour faciliter la gestion des serveurs intégrés sur Azure Arc. J’en ai sélectionné quelques-unes pour vous :
Windows Admin Center
Inauguré en 2018, Windows Admin Center est une interface web destinée à la configuration de serveurs, comme le ferait déjà Server Manager, mais à distance.
Voici un poster Microsoft récapitulant les fonctionnalités de Windows Admin Center :
Il est également possible de télécharger Windows Admin Center sur n’importe quelle machine Windows 10 (version 1709 ou ultérieure), ou Windows Server (version 2016 ou ultérieure) :
Dans notre exemple, l’installation de Windows Admin Center est nécessaire avant de pouvoir l’utiliser :
Lancez l’installation de Windows Admin Center :
Attendez plusieurs minutes :
Une fois terminée, la notification suivante apparaît alors :
Retournez sur le groupe des ressources Azure Arc pour y ajouter un rôle RBAC supplémentaire à votre identité Azure AD :
Ajoutez le rôle comme ceci :
Retournez sur Windows Admin Center et constatez la disparition de la notification, puis connectez-vous :
Patientez si besoin plusieurs minutes.
Retrouvez la console Windows Admin Center et toutes ses fonctionnalités, comme :
Accès au registre Windows
Configuration réseau et pare-feu
Accès aux journaux d’évènements Windows
Explorateur de fichiers
Il est même possible d’ouvrir une session RDP depuis Windows Admin Center ????
Renseignez le mot de passe de session : demo!pass123
Defender for Cloud
Microsoft Defender pour les serveurs fournit la détection des menaces ainsi que des défenses avancées à vos machines Windows et Linux, qu’elles s’exécutent dans Azure, AWS, GCP ou localement. Microsoft Defender pour les serveurs est disponible dans deux plans :Microsoft Doc
Autrement dit, l’intégration d’une ressource dans Microsoft Defender active un grand nombre de mesures de sécurité (capteurs de faille, évaluation des vulnérabilités, threat intelligence, …), mais apporte également la possibilité de piloter ses alertes et ses incidents depuis le centre de sécurité Microsoft.
Deux plans sontdisponibles selon le serveur concerné et les fonctionnalités recherchées. Le plan 2 correspond à l’ancien plan appelé Defender for Server :
La liste des avantages de Defender for Server se trouve ici.
L’activation de Defender for Server est facile, cliquez sur un des serveurs Azure Arc, puis rendez-vous dans la section Sécurité et enfin cliquez comme ceci :
Cliquez sur la souscription hébergeant vos ressources Azure Arc :
Activez le plan destiné à Defender for Servers :
Que le serveur soit sous Linux ou Windows, l’installation d’agent est réalisé de la même manière que pour des ressources Azure :
Azure Policy Guest configuration
Comme pour des ressources Azure, Azure Policy prend en charge l’audit de l’état de votre serveur compatible avec Azure Arc grâce aux politiques de configuration des invités. Les définitions de configuration d’invité d’Azure Policy peuvent auditer ou appliquer des paramètres à l’intérieur de la machine.
Il est à noter que ce service est payant pour des ressources non-Azure :
Contrairement à Defender for Cloud où l’activation est possible depuis une souscription Azure pour l’ensemble des ressources de même type, l’activation de cette fonctionnalité doit s’effectuer sur chacun des serveurs Azure Arc :
Cochez les cases voulues :
Les nouvelles polices sont bien visibles, mais en attente de lancement :
Retournez sur l’Hyper-V pour arrêter la machine virtuelle :
Une fois arrêté, redémarrer là :
Attendez un bon quart d’heure pour espérer voir des résultats sur les polices :
Surveillance
Comme pour les ressources Azure, la sauvegarde des logs est aussi disponible. L’activation de Defender for Server Plan 2 automatise sa mise en place et intègre dans le coût 500 Mo journalier pour les logs :
Insights
L’activation de capacités de surveillance supplémentaires permet d’obtenir des informations sur les performances et les dépendances de vos ressources de l’Arc.
Cliquez-ici pour configurer les paramétrages :
Activez le service :
Un Log Analytics Workspace est nécessaire. Choisissez-en un existant ou créez-en un nouveau :
En entendant le déploiement complet, consultez la liste des extensions pour voir apparaître AMA :
AzureMonitorWindowsAgent pour Windows AzureMonitorLinuxAgent pour Linux
Il faut bien attendre un peu pour avoir de la donnée et en tirer des analyses intéressantes.
Microsoft démontre sous ouverture à d’autres environnements via Azure Arc. La centralisation des opérations sur le portail Azure sans tenir compte de la provenance de la ressource IT est une belle avancée car elle facilite la gestion d’infrastructure. Cela permet en plus de pouvoir toujours profiter des derniers services ajoutés par Microsoft.