Promox Virtualisation

Publié le 1 déc. 2019

Contexte

Depuis quelques mois je ne fais plus d’hébergement à la maison, en effet ma connexion FTTH ne me fournit pas une adresse IP statique. De ce fait j’ai cherché à revenir sur un hébergement un peu plus classique : en datacenter. Après avoir passé quelque temps à chercher si c’était intéressant en terme de qualité et prix de prendre un VPS ou bien un dédié, j’ai finalement opté pour un serveur physique dédié chez Hetzner.

J’ai hésité aussi à mettre en place des machines virtuelles puis finalement je me suis dit que c’était une bonne idée. Me voilà donc équipé d’un serveur physique avec Debian 10 Buster et Promox. On se propose dans ce court article de décrire les opérations suivantes :

  • installation de Proxmox ;
  • mise en place du réseau ;
  • restauration de machines virtuelles existantes ;
  • mise en place d’un plan de sauvegarde.

Installation de Promox

Le serveur physique est livré sous Debian et il est donc nécessaire de procéder à l’installation de Promox. Avant toute chose il faut s’assurer que le partitionnement est correctement réalisé. En effet, par défaut les machines virtuelles sont stockées dans /var/lib/vz. Pour ma part j’ai fait une partition racine avec beaucoup d’espace disque histoire d’être à l’aise :

Filesystem      Size  Used Avail Use% Mounted on
udev             16G     0   16G   0% /dev
tmpfs           3.2G  580K  3.2G   1% /run
/dev/md2        2.7T  1.2G  2.6T   1% /
tmpfs            16G     0   16G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/md1        990M   53M  887M   6% /boot
tmpfs           3.2G     0  3.2G   0% /run/user/0

Vérifier aussi que votre fichier /etc/hosts est correctement configuré, à savoir le nom pleinnement qualifié ainsi que son adresse IP publique qui convient.

Nous procédons à la mise en place des dépôts Proxmox :

echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
chmod +r /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
apt update
apt full-upgrade
apt install proxmox-ve postfix open-iscsi
reboot

Après le reboot nous allons paramétrer le réseau en utilisant l’interface d’administration web de Proxmox.

Mise en place du réseau

La mise en place du réseau va se dérouler en plusieurs étapes :

  • création d’un bridge ;
  • mise en place d’un NAT.

Se connecter à l’interface d’administration de Promox via https://adresseIP:8006 (ne pas s’étonner c’est un certificat SSL auto-signé). Saisir le login root et le mot de passe root qui convient.

Suivre les menus suivants :

  • Datacenter ;
  • nom du serveur ;
  • System / Network ;
  • appuyer sur create.

Notre bridge va posséder l’adresse IP : 192.168.42.254 avec un masque réseau de 255.255.255.0.

Proxmox

Nous avons alors une adresse IP fixe publique sur notre serveur ainsi qu’un bridge qui a été défini :

vmbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.42.254  netmask 255.255.255.0  broadcast 192.168.42.255
        inet6 fe80::a0bd:50ff:fe85:89c9  prefixlen 64  scopeid 0x20<link>
        ether 42:5c:86:36:16:64  txqueuelen 1000  (Ethernet)
        RX packets 81817  bytes 24298523 (23.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64259  bytes 80722167 (76.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Ainsi chaque machine virtuelle sera sur le plan d’adressage suivant : 192.168.42.0/24. Et pour sortir sur le grand Ternet on va utiliser l’adresse IP du bridge comme passerelle. Il faut donc configurer des règles iptables pour autoriser ceci. Dans le fichier /etc/network/interfaces au niveau de l’interface réseau vmbr0 nous pouvons ajouter quelques lignes du style :

	    post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up iptables -t nat -A POSTROUTING -s '192.168.42.0/24' -o enp4s0 -j MASQUERADE

Restauration de machines virtuelles

Nous possédons déjà quelques machines virtuelles alors autant les importer. Pour ce faire nous devons d’aborder indiquer à Proxmox un dossier qui contient les sauvegardes. Suivre les menus suivants :

  • Datacenter ;
  • Storage ;
  • cliquer sur Add.

Il faut choisir Directory puis indiquer un chemin /backup et le contenu de ce dossier sera de type Disk image.

Proxmox

Une fois que ce nouveau dossier est mis en place il suffit de recopier les machines virtuelles depuis un ancien serveur vers ce nouveau serveur. Pour ma part j’ai réalisé les oéprations suivantes :

  • sauvegarde de la VM sur l’ancien serveur ;
  • copie via rsync depuis l’ancien serveur vers le nouveau serveur ;
  • import de la VM sur le nouveau serveur ;
  • démarrage de la VM sur le nouveau serveur.

La sauvegarde de la VM sur l’ancien serveur peut être réalisée depuis la console d’administration en suivant le menu :

  • Datacenter ;
  • nom du serveur ;
  • choisir la VM souhaitée ;
  • cliquer sur Backup ;
  • cliquer sur Backup Now ;
  • patienter.

Proxmox

On recopie le fichier via rsync :

rsync --progress -avu *.lzo root@<serveur>:/backup/dump/

Suivant la taille des VM ainsi que la capacité de la bande passante ainsi que de la vitesse des disques cela prendra plus ou moins de temps.

L’import de la VM se passe de la manière suivante :

  • Datacenter ;
  • nom du serveur ;
  • cliquer sur l’icone Backup ;
  • dans la liste qui apparaît choisir la VM souhaitée ;
  • cliquer sur restore.

Proxmox

Bien penser à choisir le bon dossier pour le restauration. Vous pouvez répéter ces opérations pour l’ensemble des VM à importer.

Mise en place d’un plan de sauvegarde

Je vous recommande plus que fortement de mettre en place un plan de sauvegarde. Proxmox dispose d’un outil pour ceci.

Suivre les menus suivants :

  • Datacenter ;
  • Backup ;
  • Cliquer sur Add.

Proxmox