Remplacer ses SBC par Proxmox

Comme indirectement évoqué sur ce site j’utilisais divers SBC pour héberger les applications « serveur » de mon homelab, en multipliant les SBC pour les séparer (et ainsi éviter que tout tombe en cas de problème sur une carte SD par exemple)

Et cela marche plutôt bien (même si il faut multiplier les switch pour donner du réseau à tout le monde). Mais cela pose parfois des problèmes à l’usage. Surtout quand on utilise des SBC avec un support logiciel non garanti (comme les orange pi) et qu’on arrive vite à tout casser lors d’un upgrade d’armbian par exemple.

En effet comment sauvegarder et restaurer périodiquement des images fonctionnelles alors que cela implique de cloner la carte SD et donc une intervention manuelle ?

Suite à un achat d’un mini PC à base d’Intel N100 pour remplacer mon serveur plex je me suis penché sur Proxmox qui offre plein d’avantages pour remplacer sa collection de SBC par une seule machine avec plus de souplesse.

La souplesse conservée

Besoin d’une nouvelle machine ? Pas de soucis on crée en quelques minutes une nouvelle VM et ce directement depuis son navigateur Web. Même sans être chez soi.

Pas besoin de mettre tous les œufs dans le même panier. On peut garder une approche avec « une machine » par service (avec chacun son IP, sa version d’OS ou autre, …) et sans les limites de docker (il n’y a pas toujours d’image compatible ARM voire pas d’image officielle du tout comme par exemple pour sonarr/radarr/…)

Les fonctionnalités décuplées

Snapshots/Backups

Proxmox reposant sur des VM il est aisé de faire des snapshots avant une opération à risque : migration d’OS, …

Proxmox permet également de faire des backups des VMs, y compris sur un support externe (un NAS par exemple) permettant en cas de besoin de restaurer facilement la machine. Et ce mécanisme de sauvegarde peut être automatisé (on définit une périodicité de sauvegarde puis on l’oublie). Tout ça avec un downtime très faible (proxmox fige la VM quelques instants pour faire un snapshot puis le backup peut prendre plusieurs minutes sans impacter le fonctionnement des VMs).

Réseau

Autre avantage : la possibilité de virtualiser le réseau. De base les VMs sont directement sur le LAN, en mode pont. Mais on peut créer un réseau interne aux VMs. Avec des VM qui sont séparées du LAN mais accessible par ex. via un reverse proxy qui fait le lien entre LAN et réseau interne.

Et combiné à une VM sous openWRT on peut créer d’autre réseaux internes. Par exemple un réseau redirigé vers un tunnel VPN pour accéder à des ressources distantes. Ou pour ne pas passer par l’IP publique de sa connexion fixe.

Containeurs

Proxmox gère également des conteneurs LXC plus léger que des VMs permettant de faire tourner des applicatifs isolés.

Idéal par exemple pour héberger un pihole à destination des VMs ou de son LAN.

Administration via le navigateur Web

Proxmox permet de gérer son parc de machine directement depuis une IHM Web. Besoin d’ajouter de la RAM ? En quelques clics c’est fait. Une machine est plantée et demande un hard reboot ? Possible à distance.

Le serveur SSH est tombé ? Pas de problème on peut se connecter en direct à la VM depuis l’IHM Web. Ça gère même les distributions avec bureau si vous avez besoin d’un firefox ou autre (pratique pour configurer openWRT par exemple).

Avec tous les outils pour surveiller quelle VM est trop gourmande en ressource (stockage, CPU, réseau).

interface d'administration proxmox

Just the tip of the iceberg

Proxmox peut même aller plus loin : gestion de plusieurs nodes et bascule en cas de problème pour de la haute disponibilité, etc…

Mais ça sera (peut-être ?) pour une autre fois…