Promox Virtualisation
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.
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.
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.
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.
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.