Actualités | Audio/Vidéo | Evènements | DIY | Domotique | Informatique | Maison | Mobile | Sécurité

Virtualisation domestique – Tutoriel Proxmox VE 5.3 - Edition 2019

Envoyer Imprimer PDF
Note des utilisateurs: / 233
MauvaisTrès bien 

J'ai regroupé dans cet article, l'essentiel à retenir sur le paramétrage de Proxmox. J'en profite pour actualiser ou compléter quelques points déjà abordés dans les précédents articles pour tenir compte des nouveautés des versions 5.2 et 5.3 de Proxmox VE.

 

MISE A JOUR DE PROXMOX – Changer les dépôts :

 

Juste après l'installation de Proxmox, si vous n'avez pas souscrit un abonnement Entreprise, vous devez modifier la liste des dépôts pour permettre les mises à jour. Une fois connecté en ligne de commande (Shell Proxmox ou Putty), éditez sources.list en tapant :

nano /etc/apt/sources.list

Ajoutez ensuite ces lignes (celles commençant par # ne sont pas indispensables) :

# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve stretch pve-no-subscription


Pour enregistrer les modifications, tapez simultanément sur les touches CTRL et O de votre clavier puis sur Entrée et sur CTRL et X pour quitter.

Puis supprimez la référence à l'ancien dépôt "Entreprise" en tapant :

rm /etc/apt/sources.list.d/pve-enterprise.list

Lancez ensuite une mise à jour de Debian 9 et de Proxmox en tapant :

apt update && apt dist-upgrade -y

 

SECURITE

Vous trouverez dans la partie 4.3 du tutoriel Proxmox, publiée le 23/05/2018, les indications pour gérer les droits des utilisateurs, interdire l'accès SSH au compte Root et filtrer les connexions avec Fail2ban. Depuis la version 5.2, Proxmox intègre directement dans l'interface graphique, la gestion des certificats Lets Encrypt et la création de nouveaux Rôles pour les droits utilisateurs.

 

ESPACE DE STOCKAGE – Ajouter un partage NFS depuis un NAS Synology

Dans Disk Station Manager, vérifiez dans le panneau de configuration, rubrique Services de fichiers, que le service de fichiers NFS version 4 est activé. Puis créez un nouveau dossier partagé dédié à Proxmox et, après avoir renseigné les permissions, allez dans l'onglet Autorisations NFS :

Tapez l'adresse IP de Proxmox et cochez la case Permettre l'accès aux sous-dossiers montés. Validez et notez le chemin du dossier partagé qui s'affiche en bas à gauche.

Dans l'interface graphique de Proxmox, allez sur Datacenter puis Stockage et cliquez sur Ajouter et NFS. Donnez un nom à ce nouvel espace de stockage, renseignez l'adresse IP de votre NAS et le chemin du dossier partagé puis sélectionnez le type de contenu autorisé et enfin le nombre maximum de versions de sauvegardes qui seront stockées pour chaque VM.

 

Modifier ou supprimer un espace de stockage

Il n'est pas si facile de modifier un espace de stockage. Je vais prendre pour exemple un cas particulier que vous rencontrerez surement un jour (si ce n'est pas déjà fait).

Sur mon NAS Synology, j'ai déplacé le dossier de Proxmox d'un volume vers un autre. Evidemment, le chemin d'accès ayant changé, Proxmox marque cet espace de stockage comme hors ligne. Premier problème : il n'est pas possible de modifier directement le chemin d'accès au dossier partagé dans l'interface graphique. Je décide donc de supprimer l'espace de stockage et de le recréer.

Deuxième problème : ayant redonné à l'espace de stockage modifié le même identifiant (NFS1512) que précédemment, Proxmox me retourne un message d'erreur (ou mouline, mouline, jusqu'à envoyer un message Timeout) et refuse de valider le nouvel espace de stockage. Je vous explique ci-dessous comment régler le problème.

Lors de la création d'un espace de stockage, Proxmox va monter le périphérique (disque interne, support USB, dossier partagé local ou distant) dans un dossier qu'il crée dans /mnt/pve. Une fois connecté en root via Putty (ou le shell Proxmox), tapez la commande :

ls /mnt/pve

pour voir la liste des points de montage que Proxmox utilise ou a utilisé. Car c'est bien là le problème : Proxmox n'efface pas toujours les anciens points de montage et parfois ne les démonte pas. Dans cette liste vous devez retrouver au minimum les noms des espaces de stockage présents dans l'interface graphique et celui que vous n'arrivez pas à recréer.

La commande mount vous permettra de voir les dossiers montés.

Si comme moi vous avez placé le disque d'une VM sur le NAS, faute de place sur local-lvm, Proxmox ne pourra pas démonter l'espace de stockage. Dans ce cas éteignez la VM et éditez son fichier de configuration pour placer un # devant la ligne du disque (mise en commentaire). Vous le retirerez après avoir recréé correctement votre espace de stockage.

Ensuite vous pouvez démonter le dossier avec la commande :

umount /mnt/pve/NFS1512 (remplacez NFS1512 par le nom de votre espace de stockage récalcitrant)

Si vous obtenez un message d'erreur avec cette commande ou que vous ne récupérez pas la main dans les 5 secondes (normalement c'est instantané), vous pouvez forcer le démontage avec la commande suivante :

fusermount -uz /mnt/pve/NFS1512

Il ne reste plus ensuite qu'à supprimer le dossier dans /mnt/pve :

rm -r /mnt/pve/NFS1512

Vous pouvez maintenant retourner dans l'interface graphique pour recréer l'espace de stockage. Pour d'anciens points de montage et histoire de gagner du temps, vous pouvez tenter de supprimer directement le dossier de montage sans passer par les étapes de démontage. Si le dossier est encore monté, la suppression sera refusée.

Une autre possibilité, plus simple mais aussi plus risquée et qui ne vous exemptera pas du nettoyage des anciens dossiers de montage, serait de modifier le fichier /etc/pve/storage.cfg qui contient la configuration des différents espaces de stockage (voir https://pve.proxmox.com/wiki/Storage). Mais attention aux erreurs de frappe et de syntaxe !

 

ESPACE DE STOCKAGE – Ajouter un partage Samba/CIFS : (nouveauté v5.2)

Depuis la version 5.2 de Proxmox, il est possible d'utiliser Samba/CIFS depuis l'interface graphique pour ajouter un espace de stockage. Avec CIFS, n'importe quel dossier partagé pourra être utilisé avec Proxmox, même une clé USB branchée sur votre box Internet. Je vais vous montrer comment configurer un espace de stockage Proxmox sur un PC Windows 8.1. Pour commencer vous devez créer un dossier sur votre ordinateur, le partager et autoriser son accès à tout le monde (ou au minimum au serveur Proxmox).

Dans l'explorateur de fichiers Windows, faites un clic droit sur le dossier créé puis cliquez sur Propriétés. Placez-vous sur l'onglet Partage et cliquez sur Partage avancé. Cochez la case Partager ce dossier et donnez un nom à ce partage. Cliquez ensuite sur Autorisations et cochez Contrôle total. Validez ensuite toutes les fenêtres ouvertes.

Dans Proxmox, rendez-vous dans Datacenter puis Stockage et ajoutez un nouvel espace de stockage. Choisissez CIFS et renseignez l'adresse IP de votre PC, le nom de l'utilisateur et son mot de passe, le dossier précédemment partagé et le type de contenu autorisé.

 

ESPACE DE STOCKAGE – Utiliser un support local

Pour ajouter un espace de stockage local à Proxmox, vous pouvez soit utiliser un support USB (clé ou disque externe), soit ajouter un disque à votre serveur (voir article 4.2), soit utiliser une partition dédiée sur le disque principal de votre serveur. Quelque soit la méthode choisie, le principe reste le même : il faut créer une partition, la formater, la monter sous Debian et l'assigner en tant que répertoire dans Proxmox.

Comme exemple, je vais vous montrer comment utiliser le lecteur de carte micro SD du mini-PC Beelink X45. Contrairement aux disques durs ou SSD, ce support de stockage n'apparait pas dans l'interface graphique de Proxmox. Après avoir inséré une carte micro SD, il faut passer en ligne de commande et taper la commande suivante pour identifier le lecteur :

fdisk -l

J'utilise pour le moment une carte Kingston de 32 Go (29 Go réels).

Tapez ensuite cfdisk suivi du nom de votre support de stockage (/dev/mmcblk1 chez moi). Si votre support est vierge, une seule ligne intitulée Free space apparaitra dans l'interface.

Sinon vous verrez en plus, une ligne pour chaque partition existante. Dans ce cas supprimez-les avec le bouton Delete en bas de l'interface et appliquez les modifications avec le bouton Write (tapez yes pour confirmer).

Créez ensuite une nouvelle partition primaire (bouton New puis Primary) qui occupera la totalité du support. Validez l'espace proposé par défaut (la capacité libre totale) et appliquez les changements avec Write. Chez moi, ça donne ceci :

Quittez cfdisk après avoir éventuellement noté le nom de la partition si vous en avez créé plusieurs. Il faut ensuite formater cette nouvelle partition en lui appliquant un système de fichier Linux comme ext4. C'est le plus répandu et le support de stockage sera facile à relire sur n'importe quelle distribution Linux.

Pour formater, tapez mkfs.ext4 suivi du nom de votre partition (/dev/mmcblk1 chez moi) :

Une fois la partition formatée, il faut la rendre accessible, c'est-à-dire la monter. Pour cela on crée un nouveau répertoire dans /mnt/pve :

mkdir /mnt/pve/SDcard (mkdir nom_du_répertoire)

Puis on monte la partition dans le nouveau répertoire :

mount /dev/mmcblk1 /mnt/pve/SDcard (mount nom_de_la_partition nom_du_répertoire)

 

Pour maintenir ce point de montage après le redémarrage du serveur, vous devez l'ajouter dans le fichier /etc/fstab.

Vous avez pour cela 2 possibilités : soit vous utilisez le nom linux de la partition (/dev/mmcblk1 pour mon serveur), soit vous utilisez l'UUID qui est le numéro identifiant unique de la partition.

La première solution est simple et rapide mais peut poser problème si le disque change d'interface SATA et donc d'identifiant (vous ne devriez pas avoir ce problème avec un lecteur de carte SD). Editez le fichier /etc/fstab en tapant la commande nano /etc/fstab et ajoutez juste la ligne suivante :

/dev/mmcblk1 /mnt/pve/SDcard ext4 defaults 0 2 (noms de la partition et du montage à adapter)

La deuxième solution est plus pérenne mais un peu plus fastidieuse. Le numéro UUID de la partition s'obtient en tapant la commande :

blkid /dev/mmcblk1 (nom de la partition à adapter)

 

Notez-le ou, avec Putty, sélectionnez le numéro UUID avec la souris pour le copier automatiquement. Les experts peuvent aussi utiliser cette commande pour copier le résultat de blkid directement à la fin du fichier /etc/fstab (ATTENTION les 2 chevrons sont très importants : 1 seul écraserait le fichier fstab) : blkid /dev/mmcblk1 >> /etc/fstab

 

Editez ensuite le fichier /etc/fstab en tapant nano /etc/fstab et ajoutez la ligne suivante :

UUID=0...9 /mnt/pve/SDcard ext4 defaults 0 2 (n° UUID et nom du point de montage à adapter)

 

Si vous comptez partager ce dossier avec samba pour y accéder depuis Windows, remplacez le chiffre 2 à la fin de la ligne par 0 (zéro). Pour plus d’infos sur le fonctionnement de fstab, suivez ce lien : https://debian-facile.org/doc:systeme:fstab

 

Ensuite retournez dans l'interface de Proxmox et ouvrez l'onglet Stockage du Datacenter pour ajouter un nouveau … répertoire.

 

Donnez un nom à votre nouvel espace de stockage, puis indiquez le répertoire de montage et renseignez le contenu autorisé. Cochez ensuite la case Partagé et définissez un nombre de sauvegardes maximum pour chaque machine virtuelle.

 

PERIPHERIQUES – Rattacher une clé ou un disque USB à une VM

Pour rattacher une clé USB (comme une clé Z-Wave+ Aeotec Z-Stick Gen5 dans l'exemple ci-dessous), allez dans la partie Matériel de la VM et cliquez sur le menu Ajouter puis USB Device.

Choisissez de préférence Use USB Vendor/Device ID qui permet de rattacher le périphérique en fonction de son n° d'identification interne et non de son port. Vous pourrez ainsi le raccorder à une autre prise USB du serveur sans devoir recommencer le rattachement.

Pour utiliser le mode USB 3.0, cochez la case en bas de la fenêtre (ne concerne que les périphériques de stockage).

Pour utiliser une clé Bluetooth dans une machine virtuelle, vous devez bien sûr rattacher la clé, mais vous devez aussi installer le gestionnaire Bluetooth dans la VM :

apt-get update && apt-get install bluetooth -y

Si la clé Bluetooth n'est pas reconnue dans l'application, tapez les commandes suivantes pour activer la clé :

bluetoothctl
power on
exit

 

PERIPHERIQUES – Rattacher un disque physique à une VM :

Sachez tout d'abord que Proxmox peut gérer les disques externes USB 3 comme des disques internes SATA. C'est très pratique quand vous n'avez pas assez de ports SATA sur votre carte mère. Bien sûr les débits du disque seront bridés par l'interface USB 3.0 mais pour du stockage ce n'est pas un problème. Par contre si vous affectez le disque USB à une VM en tant que périphérique USB, il ne sera plus possible de le rattacher comme un disque SATA. Il existe 2 méthodes pour rattacher un disque dur à une machine virtuelle :

Méthode 1 : Rattachement par le nom de périphérique :

C'est la méthode la plus simple et la plus rapide mais pas forcément la plus fiable à long terme, le nom pouvant changer après un redémarrage du serveur ou tout simplement si vous déplacer le disque (dans un rack multi-baies par exemple). Dans le menu Disques de l'hôte, repérez le nom du disque que vous voulez ajouter à la VM (par exemple /dev/sdb).

En ligne de commande (Shell Proxmox par exemple), tapez :

qm set 173 --sata0 /dev/sdb

où 173 est le numéro ID de votre VM, sata0 la première interface SATA libre et /dev/sdb le nom du disque à rattacher. Dans l'onglet Matériel de la VM, vous pouvez maintenant voir votre disque et ses caractéristiques.

Editez ensuite la ligne du nouveau disque dur (double clic gauche), cochez la case Advanced en bas à droite, et cochez ensuite la case Aucune sauvegarde. Si vous ne cochez pas cette case, le contenu du disque sera sauvegardé avec la machine virtuelle lors d'un Backup. Je vous laisse imaginer le temps et l'espace disque utilisés !

Méthode 2 : Rattachement par le numéro de série du disque :

Cette méthode est à privilégier. Elle est certes un peu plus fastidieuse à mettre en oeuvre mais elle évite les mauvaises surprises en cas de changement de port SATA d'un disque et donc de nom de périphérique. Si vous utilisez un disque USB 3 comme disque SATA, utilisez impérativement cette méthode car le port d'affectation change très fréquemment au redémarrage du serveur.

Avec cette méthode, appelée ByID, c'est le nom du fabriquant, le nom du modèle et le numéro de série du disque qui servent d'identifiant unique pour le rattachement. Ces informations sont visibles dans le menu Disques de Proxmox (voir capture d'écran méthode 1). Pour exemple, le numéro de série de mon disque Samsung 1To (/dev/sdb) est S1PVJ1NQ901341.

Connectez-vous au serveur Proxmox avec Putty et le compte Root. Putty, contrairement au shell Proxmox, permet de faire du copier-coller (sélection et copie automatique avec le bouton droit de la souris enfoncé, clic droit sur l'emplacement désiré pour coller).

L'identifiant unique qui nous intéresse est visible avec la commande suivante :

ls -l /dev/disk/by-id

Vous pouvez filtrer l'affichage avec | grep suivi du numéro de série affiché dans l'interface de Proxmox (la barre verticale s'obtient avec les touches AltGr et 6).

ls -l /dev/disk/by-id | grep S1PVJ1NQ901341

Vérifiez que les informations constructeur, modèle et port sont correctes et sélectionnez l'identifiant pour le copier.

Pour rattacher le disque à la VM, il ne reste plus qu'à taper :

qm set 173 --sata0 /dev/disk/by-id/$

suivi d'un clic droit de la souris pour coller l'identifiant précédemment copié.
(173 correspond au numéro ID de ma VM et sata0 la première interface SATA disponible).

Dans l'interface de Proxmox, menu Matériel de la VM, vous pouvez voir le disque rattaché avec son identifiant complet. Il ne vous reste plus qu'à éditer la ligne pour activer l'option Aucune Sauvegarde.

Sachez qu'il est possible de récupérer le numéro de série du disque dans Putty avec la commande lshw qu'il faudra installer avec apt-get install lshw.

 

PERIPHERIQUES – PCI Passthrough : (nouveauté v5.3)

Si votre processeur ET votre carte mère (et son Bios) supportent la technologie de virtualisation Intel VT-d ou AMD-IOMMU, en plus bien sûr du VT-x ou AMD-Vi, vous pourrez assigner directement à une machine virtuelle, un composant de la carte mère comme par exemple une carte graphique connectée à un bus PCI ou un contrôleur réseau Wifi.

Attention cependant, il y a une limitation. Le périphérique PCI qui sera passé à une VM ne sera plus disponible pour l'hôte. Il n'est donc à priori (je n'ai pas testé) pas possible de passer le GPU (processeur graphique) de l'hôte s'il n'y a pas une autre carte graphique installée dans le serveur.

Depuis la version 5.3 de Proxmox, le PCI Passthrough est accessible directement dans l'interface graphique ce qui simplifie énormément sa mise en oeuvre.

Mais pour pouvoir l'utiliser, vous devez d'abord modifier un paramètre de démarrage de Proxmox sinon vous aurez le message d'alerte No IOMMU detected et vous ne pourrez pas passer un périphérique PCI à la VM.

Editez le fichier par défaut de Grub avec la commande suivante :

nano /etc/default/grub

puis remplacez la ligne GRUB_CMDLINE_LINUX_DEFAULT="quiet" par la ligne :

Pour les processeurs Intel :

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1"

Pour les processeurs AMD :

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on vfio_iommu_type1.allow_unsafe_interrupts=1"

Mettez ensuite Grub à jour avec cette commande :

update-grub

Editez le fichier modules avec la commande :

nano /etc/modules

et ajoutez les lignes suivantes :

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

Sauvegardez le fichier (CTRL X puis Y) et redémarrez votre serveur Proxmox en tapant reboot.

Une fois redémarré, il ne vous reste plus qu'à affecter le périphérique de votre choix dans l'onglet Matériel de la VM et d'installer éventuellement les drivers nécessaires dans la machine virtuelle. Vous pouvez voir la liste détaillée des périphériques PCI de l'hôte avec la commande :

lspci –v

 

AGENT QEMU sur VM Linux :

L'installation de l'agent QEMU sur une machine virtuelle Linux est possible depuis un bon moment en activant l'agent dans le menu Options de la VM et en tapant cette ligne de commande dans le shell de la VM :

apt-get update && apt-get install qemu-guest-agent

La nouveauté depuis Proxmox 5.2 est que l'agent QEMU va afficher directement sur l'interface graphique la configuration réseau de la VM. C'est bien pratique pour connaitre l'adresse IP quand le réseau est configuré en DHCP.

Sommaire de tous les articles sur la Virtualisation Domestique avec Proxmox :
http://www.touteladomotique.com/forum/viewtopic.php?f=18&t=19434&sid=530e4197ea2772be17f49f4ed42e9f59

 

NOUVEAU : Retrouvez nos articles en Vidéos sur YouTube

Mise à jour le Mercredi, 01 Mai 2019 21:58  

Recherche

Newsletter ?

Instagram

Publicité



Connexion