In my previous post, we discussed creating a VM template in Proxmox. In this post, we will see how to move a Proxmox VM or container to a different disk.
A Proxmox VM template is a preconfigured virtual machine image that can be used to create new virtual machines. The template is essentially a snapshot of a virtual machine that has been configured with a specific operating system, applications, settings, and any other necessary configurations, allowing you to deploy new virtual machines quickly to save time and effort. In this post, you will learn how to create a VM template and quickly clone a new VM from the template.
Il a plusieurs années je vous ai fait une série d’articles sur l’application Domoticz. Cette application était l’une des plus utilisées avec Jeedom. Entre temps, une nouvelle application à commencer à sortir du lot, il s’agit de Home Assistant. Pourtant, quand j’ai commencé la domotique Home Assistant était déjà sortie, mais moins connu. Aujourd’hui Home Assistant a bien grandit, il est maintenant plus accessible aux novices voulant commencer la domotique, plus besoin d’éditer des fichiers de configuration pour ajouter des […]
Aujourd'hui, nous allons nous concentrer sur un point important, les sauvegardes sous Proxmox, et dans notre cas, vers un partage NFS.
Prérequis
Pour réaliser ce type de sauvegarde, il vous faudra bien entendu utiliser l'hyperviseur Proxmox et avoir un stockage qui possède un partage NFS, par exemple un NAS Synology. Pour rappel, vous trouverez dans l'article suivant la migration que j'ai fait il y a quelques temps d'ESXi vers Proxmox.
Pour faire cette sauvegarde, nous allons ajouter un partage NFS si cela n'est pas déjà fait. Pour cela, dans l'interface de Proxmox, il faut choisir, dans le menu de gauche, Datacenter puis l'onglet Stockage. Ajoutez un montage NFS, à configurer de la sorte :
ID = le nom du montage (Evitez les espaces et caractères spéciaux)
Serveur = l'adresse IP du NAS Synology
Export = le chemin du montage sur le NAS
Contenu = le type de contenu que vous voudrez utiliser (Dans notre cas il faudra au minimum Fichier sauvgarde VZDump)
Je vous est également mis une capture de ma configuration coté Synology.
Configuration des sauvegardes.
Passons maintenant aux choses sérieuses, et pour ça, direction le Datacenter puis l'onglet Sauvegarde ou nous allons cliquer sur Ajouter. Dans la fenêtre qui s'ouvre, nous allons commencer par choisir notre Stockage, la programmation de la tâche, sélectionner ce qui est concerné et pour le reste je vous laisse regarder. Ne cliquez pas tout de suite sur "Créer", il faut d'abord indiquer quelle politique de Rétention vous voulez définir avant. Ici, vous allez pouvoir choisir combien de temps les sauvegardes seront gardées. Dans mon cas, je souhaite conserver chaque sauvegarde pendant 2 mois.
Restaurer une sauvegarde.
Sauvegarder c'est bien, s'assurer que les sauvegardes fonctionnent et qu'on est en mesure de les restaurer, c'est encore mieux !
Dans le menu Sauvegardes, sélectionnez la sauvegarde que vous souhaitez restaurer.
Il est possible d'afficher la configuration de cette dernière, pour contrôler le nom de machine par exemple.
Enfin, cliquez sur Restaurer.
Vous pouvez choisir votre Stockage, ID , et vous pouvez cocher la case pour permettre un démarrage du conteneur / de la machine virtuelle à la suite de la restauration, chose que je ne fais pas car je veux vérifier mes montages USB avant le démarrage de celle-ci.
La restauration est lancée et vous pourrez suivre la log d'avancement.
Conclusion
Maintenant, vous connaissez une solution pour réaliser une sauvegarde de vos machines virtuelles ou conteneurs LXC hébergés sur votre hyperviseur Proxmox vers un stockage NFS. Et il est également bon de savoir restaurer, il sera trop tard de vérifier ça au moment où vous en aurez besoin.
Si vous avez des questions ou simplement souhaitez échanger avec nous, n'hésitez pas à laisser des commentaires ou à venir sur notre groupe Telegram.
Voilà quelque mois maintenant que je suis passé de VMware ESXi à Proxmox V6. Depuis le mois de Juillet 2021, la version 7 est sortie, et c'est donc l'occasion de faire ma première grosse mise à jour et de vous en faire profiter.
Commençons par parcourir les principales nouveautés :
Debian passe de la version 10 "Buster" à la 11 "Bullseye", incluant Ceph Pacific en version 16.2 par défaut (au lieu de la 15.2),
Les moniteurs Ceph avec plusieurs réseaux publics peuvent être créés à l'aide de la CLI (ligne de commande), si les utilisateurs ont plusieurs liens configurés.
Support du Btrfs en tant que technologie de stockage, incluant un contrôle de l'intégrité du système de fichiers, une amélioration des performances, des fonctionnalités d'instantanés.
Le protocole OpenID Connect est intégré pour amener la possibilité d'utiliser une authentification unique (SSO).
Améliorations de l'interface utilisateur Web, avec notamment l'ajout du support du Markdown dans « Notes », ainsi qu'un nouveau panneau de gestion des référentiels APT.
Prise en charge des clés de sécurité (comme YubiKey) en tant que clés SSH, lors de la création de conteneurs ou de la préparation d'images cloud-init.
Conteneur : LXC 4.0 prend entièrement en charge les cgroups2, un mécanisme d'organisation hiérarchique des processus et d'allocation des ressources système.
Gestion des certificats : le plug-in autonome ACME prend désormais mieux en charge les environnements à double pile (IPv4 et IPv6) et ne dépend plus des adresses configurées pour déterminer son interface d'écoute.
Réseau : l'ifupdown2 moderne est l'outil de gestion de réseau par défaut pour les nouvelles installations utilisant l'ISO officiel Proxmox VE.
Vous trouverez ci-dessous le lien vers la documentation officielle de Proxmox pour mettre à jour Proxmox VE depuis la version 6 vers la 7, mais nous allons essayer de vous retranscrire et expliquer dans cet article les étapes indispensables.
Attention ! Avant de procéder à la mise à jour, la chose la plus importante est de réaliser une sauvegarde complète de votre système, incluant les machines virtuelles et conteneurs LXC.
Deux méthodes sont possibles pour faire cette mise à jour :
Réinstaller Proxmox VE en version 7, et restaurer la sauvegarde de la configuration ainsi que les machines virtuelles et conteneurs LXC.
Procéder à une mise à jour étapes par étapes, ce que nous allons faire ici ensemble.
Pré-requis ! Vérifiez que Proxmox est en version 6.4 avant de tenter la mise à jour vers la version 7.
Avant de commencer la mise à jour en elle-même, il faut s'assurer que certains modules sont dans leur dernière version. Commençons avec ceph à l'aide de la commande ceph --version.
Dans mon cas, la version est 12.2.11, une ancienne version. Vérifions maintenant avec les commandes suivantes si ce module est utilisé :
Aucun fichier n'est trouvé, ce qui montre que ceph n'est pas configuré ni utilisé. Si jamais vous obtenez un résultat et devez mettre à jour ce module, voici le lien de la procédure à appliquer.
Maintenant, pour ceux qui l'utilisent, il faut vérifier le paquet "Proxmox Backup Server" avec la commande proxmox-backup-manager versions.
Comme vous pouvez le voir, ce module n'est pas installé non plus chez moi, donc je suis tranquille sur ce point, mais je vous donne également le lien de la documentation officielle.
Nous allons pourvoir attaquer la mise à jour maintenant que nous nous sommes assuré des prérequis. Pour cela, nous allons rajouter les dernières sources dans le fichier sources.list.
nano /etc/apt/sources.list
On va y ajouter ce qui suit à la fin du fichier :
# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve buster pve-no-subscription
Le fichier sources.listdoit donc ressembler à ceci :
Nous pouvons mettre à jour les paquets système, y compris la distribution :
apt update && apt dist-upgrade
A la suite de ces commandes, vous pouvez arrêter l'ensemble de vos machines virtuelles et conteneurs et redémarrer la machine. Une fois le redémarrage effectué nous allons retourner en SSH sur l'hôte Proxmox et taper la commande pve6topve7 --full, qui est un utilitaire permettant de vérifier la compatibilité du système.
Dans mon cas, on peut voir qu'il n'y a aucune erreur, mais 2 warnings apparaissent :
Arrêter les machines virtuelles, ce qui est très simple à résoudre (et que j'ai ajouté avant l'exécution de l'utilitaire de vérification).
Mon LXC qui porte l'ID 100, dans son fichier de configuration, possède des labels lxc.cgroup qu'il faut modifier en lxc.cgroup2. Pour éditer le fichier de configuration d'un LXC il faut utiliser la commande nano /etc/pve/lxc/100.conf.
Nous allons ensuite modifier les sources pour passer à Proxmox V7 :
sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list
Il reste à vérifier s'il y a encore des traces de la V6 dans les sources. Pour cela, retournons voir le fichier sources.listavec la commande nano /etc/apt/sources.list et si une ligne comporte un pve6.X, vous devez insérer un # au début de celle-ci.
Si vous possédez une licence, il faut mettre à jour également la source "entreprise".
Nous allons mettre à jour la distribution et Proxmox pour de bon cette fois, en Debian 11 et Proxmox V7.
apt update && apt dist-upgrade
Il suffira de continuer l'ensemble des étapes, lire le changelogs et autre étapes classique de grosse mise à jour. Vous verrez que de nombreux paquets sont mis à jour, celle-ci peut donc durer plusieurs minutes et plusieurs dizaines de minutes selon votre débit Internet et la puissance de votre machine.
Une fois que cette mise à jour du système sera réalisée, il faudra procéder à un redémarrage du système, à la suite duquel nous allons relancer une mise à jour des paquets qui avaient en prérequis la version du système, avec la commande apt-update && apt upgrade.
Lors des mise à jour de paquets, j'ai eu celle de openssh-server qui m'a demandé une petite réponse. J'ai d'abord comparé les fichiers puis choisi la première option install the package maintainer's version.
En vous connectant à l'interface web de Proxmox, vous devriez maintenant voir en haut la version affichée.
Conclusion
Vous voici sur la dernière version majeure de Proxmox ! Je trouve cela bien plus simple que mettre à jour VMware ESXi, surtout vu que les mises à jour intermédiaires peuvent se faire facilement depuis l'interface graphique.
Si vous avez des questions sur la mise à jour ou même la configuration et l'utilisation de Proxmox, n'hésitez pas à laisser un commentaire ou à venir nous retrouver sur le groupe Telegram de la communauté.
Il s'agit d'un conteneur, Frigate, un NVR (Network Video Recorder) qui possède une IA (Intelligence Artificielle) capable d'identifier les personnes et objets sur des flux vidéos. Cela permet d'améliorer son système de vidéosurveillance et d'éviter de recevoir des alertes intempestives lorsqu'une feuille a bougé ou qu'un nuage passe.
Pour cette analyse, Frigate a besoin de disposer de ressources, ce qu'il est possible de faire avec le CPU, mais ceci est très gourmand. Le développement a donc été réalisé autour du Google Coral, qui a été spécifiquement étudié pour procéder à de l'analyse vidéo. Celui-ci est donné pour être aussi performant que des CPU à 2000€, mais pour seulement 60€ ! Pour ma part, j'ai acheté la version USB d'occasion, celui-ci étant très compliqué à trouver actuellement.
Pour déployer Frigate, nous n'allons pas utiliser Docker directement (je vous entends "quoi un conteneur mais pas de Docker ?") mais un LXC dans Proxmox. Une petite définition de LXC pour essayer de mieux comprendre ce que c'est :
LXC est l'acronyme de l'anglicisme LinuX Containers, il s'agit d'un système de virtualisation, utilisant l'isolation comme méthode de cloisonnement au niveau du système d'exploitation. Il est utilisé pour faire fonctionner des environnements Linux isolés les uns des autres dans des conteneurs partageant le même noyau. Le conteneur apporte une virtualisation de l'environnement d'exécution (processeur, mémoire vive, réseau, système de fichier…) et non pas de la machine. Pour cette raison, on parle de « conteneur » et non de « machine virtuelle ».
Mais alors Docker, machine virtuelle et LXC sont tous trois de la virtualisation, mais quelles sont leurs différences ?
Docker permet de virtualiser des service. Chaque conteneur Docker correspond à un service.
Un conteneur LXC est un environnement virtuel qui ne possède pas de partie physique émulée.
Une machine virtuelle est une émulation d'une machine physique à laquelle des ressource physique sont attribuées.
Je sens que beaucoup viennent de bondir de leur chaise ! Alors oui, j'ai extrêmement vulgarisé cela. Pour moi, je place les LXC entre un conteneur Docker et une machine virtuelle.
Bon nous avons une explication sur les LXC et nous savons que nous voulons utiliser le conteneur Frigate. On va pouvoir se lancer dans le vif du sujet. Alors on se connecte à son interface Proxmox pour prendre la direction du stockage et télécharger le Template de notre conteneur, pour lequel nous allons choisir Debian 11 Standard.
Maintenant on va pouvoir créer notre LXC, à l'aide d'un clic droit sur notre serveur, on peut choisir Create CT. Il vous suffit de donner un nom au conteneur et de choisir le mot de passe pour votre utilisateur root du LXC. Pour le reste, rien de spécial, à vous d'ajuster les valeurs en fonction de vos besoins, envies et surtout du hardware.
Attention ! Ne pas cocher "Démarrer après création" à la fin.
Avant le lancement du LXC, nous allons apporter quelques modifications, on commence par ajouter une particularité pour ne pas avoir de souci de SSH sous Debian 11.
Nous allons ensuite modifier le fichier de configuration pour permettre au LXC d'avoir accès au bus USB (adapter le numéro de bus au besoin) et au IGPU (voici un article pour mieux comprendre le IGPU). Pour cela, utilisez la commande suivante en SSH nano /etc/pve/lxc/ID.conf (en indiquant l'ID du conteneur que vous avez choisi).
Voici le contenu de mon fichier de configuration après ajout des dernières lignes.
Nous allons en profiter pour ajouter un montage de disque, pour permettre d'avoir la configuration stockée sur le NUC et la sauvegarde des médias sur le NAS Synology où j'ai plus d'espace de stockage. Sur le NAS, il faut ajouter configurer le dossier partagé en NFS, je vous ai mis une capture d'écran de ma configuration juste en dessous. Retournons sur Proxmox pour ajouter le stockage NFS dans le datacenter, où il vous faudra renseigner un nom pour le montage, l'adresse IP du serveur, le chemin d'accès au dossier (il est possible de rajouter des sous dossiers) et en contenu choisir Conteneur.
Maintenant, direction le LXC pour rajouter le Point de montage comme Ressources. Il vous faudra sélectionner le Stockage monté précédemment, dans mon cas NVR, et choisir la taille du disque ainsi que le chemin de montage sur le LXC. Vous pourrez vérifier le bon montage une fois le conteneur LXC démarré.
Le moment de démarrer le conteneur LXC est enfin arrivé ! Cela peut être long au premier démarrage, il faut avoir un peu de patience.
Comme sur chaque nouvelle installation, je vous recommande de commencer par mettre à jour le système avec les commandes apt-get update && apt-get upgrade.
Frigate est disponible en tant que conteneur Docker, nous allons donc installer Docker et pour cela je vous renvoie vers l'article qui en parle.
Suite à cela, nous allons installer Docker compose ou Portainer, dans mon cas j'utilise Portainer.
On va pouvoir vraiment attaquer Frigate avec la création de sa stack. Voici le contenu, à adapter selon vos besoins.
Une fois le fichier renseigné, vous pouvez relancer le conteneur Docker et accéder à l'interface depuis votre navigateur sur l'adresse http://<IP.DU.LXC>:5000. Vous arriverez directement sur le Dashboard (sur lequel il n'y a pas de mot de passe). Voilà à quoi il ressemble chez moi après avoir ajouté quelques caméras :
Conclusion
J'espère que cette découverte de la mise en place l'outil Frigate vous a plu, et je pense rédiger un second article pour vous le présenter en détails et voir ensemble comme le configurer et l'utiliser.
Si vous avez des questions sur l'installation de Frigate, ou même sur sa configuration ou son utilisation, n'hésitez pas à laisser un commentaire ou à venir nous retrouver sur le groupe Telegram de la communauté.
Aujourd'hui, nous allons nous concentrer sur un point important, les sauvegardes sous Proxmox, et dans notre cas, vers un partage NFS.
Prérequis
Pour réaliser ce type de sauvegarde, il vous faudra bien entendu utiliser l'hyperviseur Proxmox et avoir un stockage qui possède un partage NFS, par exemple un NAS Synology. Pour rappel, vous trouverez dans l'article suivant la migration que j'ai fait il y a quelques temps d'ESXi vers Proxmox.
Pour faire cette sauvegarde, nous allons ajouter un partage NFS si cela n'est pas déjà fait. Pour cela, dans l'interface de Proxmox, il faut choisir, dans le menu de gauche, Datacenter puis l'onglet Stockage. Ajoutez un montage NFS, à configurer de la sorte :
ID = le nom du montage (Evitez les espaces et caractères spéciaux)
Serveur = l'adresse IP du NAS Synology
Export = le chemin du montage sur le NAS
Contenu = le type de contenu que vous voudrez utiliser (Dans notre cas il faudra au minimum Fichier sauvgarde VZDump)
Je vous est également mis une capture de ma configuration coté Synology.
Configuration des sauvegardes.
Passons maintenant aux choses sérieuses, et pour ça, direction le Datacenter puis l'onglet Sauvegarde ou nous allons cliquer sur Ajouter. Dans la fenêtre qui s'ouvre, nous allons commencer par choisir notre Stockage, la programmation de la tâche, sélectionner ce qui est concerné et pour le reste je vous laisse regarder. Ne cliquez pas tout de suite sur "Créer", il faut d'abord indiquer quelle politique de Rétention vous voulez définir avant. Ici, vous allez pouvoir choisir combien de temps les sauvegardes seront gardées. Dans mon cas, je souhaite conserver chaque sauvegarde pendant 2 mois.
Restaurer une sauvegarde.
Sauvegarder c'est bien, s'assurer que les sauvegardes fonctionnent et qu'on est en mesure de les restaurer, c'est encore mieux !
Dans le menu Sauvegardes, sélectionnez la sauvegarde que vous souhaitez restaurer.
Il est possible d'afficher la configuration de cette dernière, pour contrôler le nom de machine par exemple.
Enfin, cliquez sur Restaurer.
Vous pouvez choisir votre Stockage, ID , et vous pouvez cocher la case pour permettre un démarrage du conteneur / de la machine virtuelle à la suite de la restauration, chose que je ne fais pas car je veux vérifier mes montages USB avant le démarrage de celle-ci.
La restauration est lancée et vous pourrez suivre la log d'avancement.
Conclusion
Maintenant, vous connaissez une solution pour réaliser une sauvegarde de vos machines virtuelles ou conteneurs LXC hébergés sur votre hyperviseur Proxmox vers un stockage NFS. Et il est également bon de savoir restaurer, il sera trop tard de vérifier ça au moment où vous en aurez besoin.
Si vous avez des questions ou simplement souhaitez échanger avec nous, n'hésitez pas à laisser des commentaires ou à venir sur notre groupe Telegram.
Voilà quelque mois maintenant que je suis passé de VMware ESXi à Proxmox V6. Depuis le mois de Juillet 2021, la version 7 est sortie, et c'est donc l'occasion de faire ma première grosse mise à jour et de vous en faire profiter.
Commençons par parcourir les principales nouveautés :
Debian passe de la version 10 "Buster" à la 11 "Bullseye", incluant Ceph Pacific en version 16.2 par défaut (au lieu de la 15.2),
Les moniteurs Ceph avec plusieurs réseaux publics peuvent être créés à l'aide de la CLI (ligne de commande), si les utilisateurs ont plusieurs liens configurés.
Support du Btrfs en tant que technologie de stockage, incluant un contrôle de l'intégrité du système de fichiers, une amélioration des performances, des fonctionnalités d'instantanés.
Le protocole OpenID Connect est intégré pour amener la possibilité d'utiliser une authentification unique (SSO).
Améliorations de l'interface utilisateur Web, avec notamment l'ajout du support du Markdown dans « Notes », ainsi qu'un nouveau panneau de gestion des référentiels APT.
Prise en charge des clés de sécurité (comme YubiKey) en tant que clés SSH, lors de la création de conteneurs ou de la préparation d'images cloud-init.
Conteneur : LXC 4.0 prend entièrement en charge les cgroups2, un mécanisme d'organisation hiérarchique des processus et d'allocation des ressources système.
Gestion des certificats : le plug-in autonome ACME prend désormais mieux en charge les environnements à double pile (IPv4 et IPv6) et ne dépend plus des adresses configurées pour déterminer son interface d'écoute.
Réseau : l'ifupdown2 moderne est l'outil de gestion de réseau par défaut pour les nouvelles installations utilisant l'ISO officiel Proxmox VE.
Vous trouverez ci-dessous le lien vers la documentation officielle de Proxmox pour mettre à jour Proxmox VE depuis la version 6 vers la 7, mais nous allons essayer de vous retranscrire et expliquer dans cet article les étapes indispensables.
Attention ! Avant de procéder à la mise à jour, la chose la plus importante est de réaliser une sauvegarde complète de votre système, incluant les machines virtuelles et conteneurs LXC.
Deux méthodes sont possibles pour faire cette mise à jour :
Réinstaller Proxmox VE en version 7, et restaurer la sauvegarde de la configuration ainsi que les machines virtuelles et conteneurs LXC.
Procéder à une mise à jour étapes par étapes, ce que nous allons faire ici ensemble.
Pré-requis ! Vérifiez que Proxmox est en version 6.4 avant de tenter la mise à jour vers la version 7.
Avant de commencer la mise à jour en elle-même, il faut s'assurer que certains modules sont dans leur dernière version. Commençons avec ceph à l'aide de la commande ceph --version.
Dans mon cas, la version est 12.2.11, une ancienne version. Vérifions maintenant avec les commandes suivantes si ce module est utilisé :
Aucun fichier n'est trouvé, ce qui montre que ceph n'est pas configuré ni utilisé. Si jamais vous obtenez un résultat et devez mettre à jour ce module, voici le lien de la procédure à appliquer.
Maintenant, pour ceux qui l'utilisent, il faut vérifier le paquet "Proxmox Backup Server" avec la commande proxmox-backup-manager versions.
Comme vous pouvez le voir, ce module n'est pas installé non plus chez moi, donc je suis tranquille sur ce point, mais je vous donne également le lien de la documentation officielle.
Nous allons pourvoir attaquer la mise à jour maintenant que nous nous sommes assuré des prérequis. Pour cela, nous allons rajouter les dernières sources dans le fichier sources.list.
nano /etc/apt/sources.list
On va y ajouter ce qui suit à la fin du fichier :
# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve buster pve-no-subscription
Le fichier sources.listdoit donc ressembler à ceci :
Nous pouvons mettre à jour les paquets système, y compris la distribution :
apt update && apt dist-upgrade
A la suite de ces commandes, vous pouvez arrêter l'ensemble de vos machines virtuelles et conteneurs et redémarrer la machine. Une fois le redémarrage effectué nous allons retourner en SSH sur l'hôte Proxmox et taper la commande pve6topve7 --full, qui est un utilitaire permettant de vérifier la compatibilité du système.
Dans mon cas, on peut voir qu'il n'y a aucune erreur, mais 2 warnings apparaissent :
Arrêter les machines virtuelles, ce qui est très simple à résoudre (et que j'ai ajouté avant l'exécution de l'utilitaire de vérification).
Mon LXC qui porte l'ID 100, dans son fichier de configuration, possède des labels lxc.cgroup qu'il faut modifier en lxc.cgroup2. Pour éditer le fichier de configuration d'un LXC il faut utiliser la commande nano /etc/pve/lxc/100.conf.
Nous allons ensuite modifier les sources pour passer à Proxmox V7 :
sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list
Il reste à vérifier s'il y a encore des traces de la V6 dans les sources. Pour cela, retournons voir le fichier sources.listavec la commande nano /etc/apt/sources.list et si une ligne comporte un pve6.X, vous devez insérer un # au début de celle-ci.
Si vous possédez une licence, il faut mettre à jour également la source "entreprise".
Nous allons mettre à jour la distribution et Proxmox pour de bon cette fois, en Debian 11 et Proxmox V7.
apt update && apt dist-upgrade
Il suffira de continuer l'ensemble des étapes, lire le changelogs et autre étapes classique de grosse mise à jour. Vous verrez que de nombreux paquets sont mis à jour, celle-ci peut donc durer plusieurs minutes et plusieurs dizaines de minutes selon votre débit Internet et la puissance de votre machine.
Une fois que cette mise à jour du système sera réalisée, il faudra procéder à un redémarrage du système, à la suite duquel nous allons relancer une mise à jour des paquets qui avaient en prérequis la version du système, avec la commande apt-update && apt upgrade.
Lors des mise à jour de paquets, j'ai eu celle de openssh-server qui m'a demandé une petite réponse. J'ai d'abord comparé les fichiers puis choisi la première option install the package maintainer's version.
En vous connectant à l'interface web de Proxmox, vous devriez maintenant voir en haut la version affichée.
Conclusion
Vous voici sur la dernière version majeure de Proxmox ! Je trouve cela bien plus simple que mettre à jour VMware ESXi, surtout vu que les mises à jour intermédiaires peuvent se faire facilement depuis l'interface graphique.
Si vous avez des questions sur la mise à jour ou même la configuration et l'utilisation de Proxmox, n'hésitez pas à laisser un commentaire ou à venir nous retrouver sur le groupe Telegram de la communauté.
Il s'agit d'un conteneur, Frigate, un NVR (Network Video Recorder) qui possède une IA (Intelligence Artificielle) capable d'identifier les personnes et objets sur des flux vidéos. Cela permet d'améliorer son système de vidéosurveillance et d'éviter de recevoir des alertes intempestives lorsqu'une feuille a bougé ou qu'un nuage passe.
Pour cette analyse, Frigate a besoin de disposer de ressources, ce qu'il est possible de faire avec le CPU, mais ceci est très gourmand. Le développement a donc été réalisé autour du Google Coral, qui a été spécifiquement étudié pour procéder à de l'analyse vidéo. Celui-ci est donné pour être aussi performant que des CPU à 2000€, mais pour seulement 60€ ! Pour ma part, j'ai acheté la version USB d'occasion, celui-ci étant très compliqué à trouver actuellement.
Pour déployer Frigate, nous n'allons pas utiliser Docker directement (je vous entends "quoi un conteneur mais pas de Docker ?") mais un LXC dans Proxmox. Une petite définition de LXC pour essayer de mieux comprendre ce que c'est :
LXC est l'acronyme de l'anglicisme LinuX Containers, il s'agit d'un système de virtualisation, utilisant l'isolation comme méthode de cloisonnement au niveau du système d'exploitation. Il est utilisé pour faire fonctionner des environnements Linux isolés les uns des autres dans des conteneurs partageant le même noyau. Le conteneur apporte une virtualisation de l'environnement d'exécution (processeur, mémoire vive, réseau, système de fichier…) et non pas de la machine. Pour cette raison, on parle de « conteneur » et non de « machine virtuelle ».
Mais alors Docker, machine virtuelle et LXC sont tous trois de la virtualisation, mais quelles sont leurs différences ?
Docker permet de virtualiser des service. Chaque conteneur Docker correspond à un service.
Un conteneur LXC est un environnement virtuel qui ne possède pas de partie physique émulée.
Une machine virtuelle est une émulation d'une machine physique à laquelle des ressource physique sont attribuées.
Je sens que beaucoup viennent de bondir de leur chaise ! Alors oui, j'ai extrêmement vulgarisé cela. Pour moi, je place les LXC entre un conteneur Docker et une machine virtuelle.
Bon nous avons une explication sur les LXC et nous savons que nous voulons utiliser le conteneur Frigate. On va pouvoir se lancer dans le vif du sujet. Alors on se connecte à son interface Proxmox pour prendre la direction du stockage et télécharger le Template de notre conteneur, pour lequel nous allons choisir Debian 11 Standard.
Maintenant on va pouvoir créer notre LXC, à l'aide d'un clic droit sur notre serveur, on peut choisir Create CT. Il vous suffit de donner un nom au conteneur et de choisir le mot de passe pour votre utilisateur root du LXC. Pour le reste, rien de spécial, à vous d'ajuster les valeurs en fonction de vos besoins, envies et surtout du hardware.
Attention ! Ne pas cocher "Démarrer après création" à la fin.
Avant le lancement du LXC, nous allons apporter quelques modifications, on commence par ajouter une particularité pour ne pas avoir de souci de SSH sous Debian 11.
Nous allons ensuite modifier le fichier de configuration pour permettre au LXC d'avoir accès au bus USB (adapter le numéro de bus au besoin) et au IGPU (voici un article pour mieux comprendre le IGPU). Pour cela, utilisez la commande suivante en SSH nano /etc/pve/lxc/ID.conf (en indiquant l'ID du conteneur que vous avez choisi).
Voici le contenu de mon fichier de configuration après ajout des dernières lignes.
Nous allons en profiter pour ajouter un montage de disque, pour permettre d'avoir la configuration stockée sur le NUC et la sauvegarde des médias sur le NAS Synology où j'ai plus d'espace de stockage. Sur le NAS, il faut ajouter configurer le dossier partagé en NFS, je vous ai mis une capture d'écran de ma configuration juste en dessous. Retournons sur Proxmox pour ajouter le stockage NFS dans le datacenter, où il vous faudra renseigner un nom pour le montage, l'adresse IP du serveur, le chemin d'accès au dossier (il est possible de rajouter des sous dossiers) et en contenu choisir Conteneur.
Maintenant, direction le LXC pour rajouter le Point de montage comme Ressources. Il vous faudra sélectionner le Stockage monté précédemment, dans mon cas NVR, et choisir la taille du disque ainsi que le chemin de montage sur le LXC. Vous pourrez vérifier le bon montage une fois le conteneur LXC démarré.
Le moment de démarrer le conteneur LXC est enfin arrivé ! Cela peut être long au premier démarrage, il faut avoir un peu de patience.
Comme sur chaque nouvelle installation, je vous recommande de commencer par mettre à jour le système avec les commandes apt-get update && apt-get upgrade.
Frigate est disponible en tant que conteneur Docker, nous allons donc installer Docker et pour cela je vous renvoie vers l'article qui en parle.
Suite à cela, nous allons installer Docker compose ou Portainer, dans mon cas j'utilise Portainer.
On va pouvoir vraiment attaquer Frigate avec la création de sa stack. Voici le contenu, à adapter selon vos besoins.
Une fois le fichier renseigné, vous pouvez relancer le conteneur Docker et accéder à l'interface depuis votre navigateur sur l'adresse http://<IP.DU.LXC>:5000. Vous arriverez directement sur le Dashboard (sur lequel il n'y a pas de mot de passe). Voilà à quoi il ressemble chez moi après avoir ajouté quelques caméras :
Conclusion
J'espère que cette découverte de la mise en place l'outil Frigate vous a plu, et je pense rédiger un second article pour vous le présenter en détails et voir ensemble comme le configurer et l'utiliser.
Si vous avez des questions sur l'installation de Frigate, ou même sur sa configuration ou son utilisation, n'hésitez pas à laisser un commentaire ou à venir nous retrouver sur le groupe Telegram de la communauté.
Aujourd’hui nous allons voir comment migrer une machine virtuelle Windows Server 2012 R2 depuis un Hyper-V (version 2019) vers un Proxmox en version 6.4.4.
I) Le lab et rapides explications~
Rien de très sorcier ici :
PVE 6.4.4 : 192.168.0.100/24 ;
Hyper-V 2019 : 192.168.0.110/24 ;
VM ActiveDirectorysous WS2012 R2: 192.168.0.150/24 ;
Côté AD, je n’ai créé qu’un ou deux utilisateurs, ainsi que deux OUs. L’important est vraiment de s’assurer qu’après la migration les users soient toujours là, mais en pratique aucun soucis. D’ailleurs, nous verrons une commande pour vérifier si le disque virtuel ne présente pas de corruptions (toujours utile à savoir, surtout qu’en production ce ne sera pas de simples disques de 30Go que vous allez migrer, mais des disques faisant plusieurs Téraoctets…).
II) Copie du disque VM vers le nœud Proxmox
Bien, une fois votre VM installée et votre AD un peu peuplé, on peut stopper la machine virtuelle, puis copier son disque.
Deux OUs, et deux users, classique.
Pour copier le disque il n’y a pas de manipulations particulières, simplement copier le .vhdx, car même si la documentation de Proxmox ne parle que de .vhd, ce dernier supporte tout à fait les .vhdx. Aucun soucis donc.
Sachez cependant qu’une applet Powershell existe pour convertir un .vhdx en .vhd, si vraiment le besoin s’en fait sentir.
Si vous devez copier un disque de gros volume, le plus simple est encore de le copier sur un volume partagé, avec une liaison Gigabit voir 10-Gigabit. Sinon, dans le cadre de ce lab, un simple scp suffit :
Ici je copie directement le disque depuis mon hôte Hyper-V, à destination de mon nœud Proxmox, dans le dossier root.
Si vous vous posez la question « quid si la VM possède plusieurs disques ?« , et bien en théorie pas de soucis, la marche à suivre sera sensiblement la même, mais ne l’ayant pas encore pleinement testé à l’heure où j’écris ces lignes, je ne peux vous le garantir. Sûrement un prochain article !
III) Re-création de la VM côté Proxmox
La première étape est donc de re-créer une VM, en essayant dans la mesure du possible de reprendre les mêmes configurations hardware (si votre VM avait 4Go de ram, ne pas lui en mettre 2, ou même 8, en tout cas au départ, etc.)
On créer donc notre VM, de sorte que :
L’OS Invité choisi soit de type Windows (ou Linux si votre VM était une Linux, cela tombe sous le sens) ;
Pas encore d’image ISO à attacher ;
Au niveau de la carte graphique, j’ai lu que SPICE était assez souvent utilisé, mais ici je garderai le standard sous peine d’avoir un curseur qui n’en fait qu’a sa tête… ;
Concernant le Contrôleur SCSI, bien choisir VirtIO SCSI ;
Concernant le BIOS, opter plutôt pour l’OVMF/UEFI ;
Concernant le disque, ce n’est pas important car une fois notre VM créée celui-ci sera supprimée pour être remplacée par notre .vhdx fraîchement copié ;
Concernant le driver réseau, privilégiez Virtio(paravirtualisé) ;
Terminer, sans démarrer d’ores et déjà la VM ;
Je ne l’ai pas dit plus haut pour ne pas vous embrouiller, mais dans l’état, si l’on démarre notre VM, Windows ne détectera pas le disque ni la carte réseau. La raison est que nativement, les drivers VirtIO ne sont pas inclus dans Windows. Nous avons donc deux choix :
Installer les drivers VirtIO sur la VM avant de copier son disque ;
Démarrer tout de même la VM, puis installer les drivers par la suite ;
Je n’ai pas encore testé la première option, nous partirons donc sur la seconde. Mais avant de vouloir démarrer le tout et installer tel ou tel driver, nous devons rattacher notre ancien disque !
Bien, la première étape est de supprimer le disque de notre VM actuelle :
On le détache, puis on le supprime.
Une fois fait, on se connecte en CLI sur notre nœud Proxmox pour rattacher notre disque « Hyper-V » sur notre nouvelle VM :
qm importdisk 100 /root/srv-ad-01.vhdx local-lvm
On utilise donc l’utilitaire qemu pour importer notre disque sur la VM ayant l’ID 100, à adapter selon votre VM donc. Ensuite, on renseigne le chemin vers ce disque, et en dernier lieu on indique le datastore sur lequel il va être stocké. Ici il s’agit du datastore de base, local-lvm. Mais si vous utilisiez Ceph par exemple, cela aurait pu être rbd-datastore-24, ou que sais-je.
On patiente pendant l’import (qui peut parfois durer très longtemps !), et une fois fait, nous pourrons le rattacher à notre VM.
Au passage, voici la commande pour vérifier l’intégrité d’un disque, toujours pratique à effectuer avant de l’importer sur notre datastore :
qemu-img check srv-ad-01.vhdx
Extrêmement simple à réaliser, mais toujours important !
Bien, retournons donc sur les paramètres de notre machine virtuelle :
On clique donc sur Éditer, puis on choisi bien le contrôleur VirtIO SCSI. On peut éventuellement activer l’émulation SSD, le caching, ou autre.
On touche désormais presque à la fin !
IV) Démarrage de la VM et installation des drivers OpenSource VirtIO
Comme dit précédemment, il vous faudra des drivers à installer, tout dû moins pour le disque, et éventuellement pour la carte réseau si vous avez aussi choisi VirtIO. Rien de compliqué je vous rassure !
On télécharge l’ISO contenant les différents drivers VirtIO ici : https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
*Pour ma part, j’ai choisi la version 215-2, car la dernière en date ne fonctionnait pas.
Une fois l’ISO téléchargé, on l’upload sur notre Proxmox, et on le rattache à notre machine virtuelle. On peut enfin modifier l’ordre de boot, et nous pourrons démarrer !
Ici j’ai désactivé le boot via PXE mais pas via CD, car nous voulons que notre VM boot sur notre disque, mais si on ne sélectionne pas notre lecteur CD, l’ISO ne montera pas au boot…
Au démarrage, votre Windows plantera. Puis encore une fois, et même éventuellement une troisième fois.
C’est normal ! Rappelez-vous, il n’a pas encore les drivers adéquats… cela nous permettra d’afficher le mode Rescue de Windows, et d’accéder à une invite de commandes :
Au passage, il se peut que votre curseur n’en fasse qu’à sa tête… cela peut venir du fameux pilote SPICE choisi pour la carte graphique, si vous n’avez pas choisi le standard.
Bien, on va donc maintenant installer le driver concernant notre disque SCSI VirtIO :
drvload D:\vioscsi\2k12R2\amd64\vioscsi.inf
A noter que la commande sera identique peut importe la version de Windows utilisée :
Et le tour est joué ! Ni plus, ni moins. On peut clôturer ce terminal et poursuivre le boot de manière normale :
Et voilà, votre VM Windows Server 2012 R2 migrée depuis votre Hyper-V s’allume sous vos yeux !
Cependant, comme pour le disque, il n’y a pas encore le driver correspondant à la carte réseau. Mais étant donné que notre ISO VirtIO est toujours rattaché à notre machine, rien de plus simple :
Il nous suffit d’exécuter le binaire virtio-win-gt-x64, et de choisir les drivers souhaités ! Selon plusieurs forums, il vaut mieux éviter d’installer le driver concernant le Ballooning, et de mémoire lorsque j’avais installé Proxmox sur un serveur dédié avec pfSense et autre (il y a de ça presque trois ans), j’avais aussi des soucis avec, donc autant prendre des précautions et ne pas l’installer, beaucoup se plaignant de dégradations de performances.
Comme on peut le voir, la carte réseau est désormais bien reconnue est fonctionnelle :
Et concernant notre AD lui-même, nos OU et users sont toujours bien là :
V) Conclusion
Et bien voilà, vous avez réussi à migrer un DC depuis Hyper-V vers Proxmox. Félicitations ! Comme vous le voyez, il n’y a rien de très sorcier, et plus encore si les drivers VirtIO sont installés avant la copie du disque de la VM (je n’avais pas testé avant de conclure cet article, mais je confirme que cela fonctionne).
Bref, au moins vous aurez les deux façons de faire !
Bien-entendu, c’était une première pour moi, et cela a été fait dans le cadre d’un lab. Impossible de dire si les performances seront équivalentes à Hyper-V, si certaines options peuvent être poussées plus loin en terme d’optimisation… libre à vous de donner votre grain de sel en commentaire ! J’y répondrais avec plaisir comme d’habitude.
Sur ce, je vous souhaite une bonne journée/soirée, et n’arrêtez pas d’expérimenter~