
🎯 Objectif
Dans un contexte de souveraineté numérique, de haute disponibilité et d’indépendance vis-à-vis des GAFAM, de plus en plus d’équipes IT cherchent à construire leur propre infrastructure distribuée.
Ce guide te montre comment déployer une infrastructure de virtualisation complète, multi-opérateur, résiliente, et scalable, répartie sur différents hébergeurs ou sites physiques.
Cette architecture permet d’héberger :
- des VMs isolées (pour différents clients ou projets),
- des conteneurs légers (LXC ou Docker),
- des services critiques (sites web, bases de données, services internes),
- avec sauvegardes, réplication, orchestration, monitoring, et sécurité.
🧱 1. Le socle : Proxmox VE
Au cœur du système, on utilise Proxmox VE, une solution open source de virtualisation basée sur Debian.
Proxmox combine une interface web complète, une gestion fine des VM (via KVM) et des conteneurs (via LXC), le tout avec des fonctionnalités avancées comme :
- le clustering,
- la haute disponibilité (HA),
- le stockage ZFS avec snapshots et réplication,
- la gestion centralisée,
- la compatibilité Ceph pour le stockage distribué.
C’est une solution mature, puissante, stable, qui s’administre entièrement via une interface web intuitive ou en ligne de commande.
🌍 2. Concevoir une architecture multi-hébergeur
L’idée ici est de répartir tes nœuds Proxmox sur plusieurs sites physiques ou fournisseurs cloud, comme :
- OVH pour sa bande passante généreuse et ses IPv4 publiques,
- Hetzner pour son excellent rapport qualité/prix,
- Scaleway ou Online.net, pour une approche plus “souveraine”,
- ou encore un serveur auto-hébergé chez toi ou en datacenter privé.
Cela permet d’éviter le SPOF (Single Point of Failure) et de distribuer les risques géographiques ou techniques.
Chaque nœud est indépendant mais interconnecté via un réseau privé VPN (cf. point suivant). L’objectif est de former un cluster distribué, ou au minimum un système coordonné à distance.
🔐 3. Mise en réseau inter-sites : VPN mesh
Pour relier les différents nœuds de ton infrastructure, il est impératif d’établir un réseau privé sécurisé entre eux.
Deux approches simples :
- Tailscale : très simple à mettre en place, multi-plateforme, parfait pour des tests ou petits clusters.
- WireGuard : plus brut, mais très rapide et natif Linux. Idéal pour une intégration fine dans un réseau d’entreprise.
Chaque nœud dispose ainsi :
- d’une IP publique (utile pour la gestion directe, les API, ou SSH),
- et d’une IP privée VPN utilisée pour la gestion interne, les sauvegardes, la réplication, ou la migration de VM.
Ce réseau mesh est le backbone sécurisé de ton cloud distribué.
🧰 4. Déploiement du cluster Proxmox
Une fois les nœuds connectés en VPN, tu peux :
- Créer un nœud principal (cluster master).
- Y connecter les autres nœuds avec
pvecm add IP_VPN
.
Attention : le clustering Proxmox nécessite une latence faible et stable entre les nœuds (idéalement <10 ms). En cas de latence trop élevée (entre deux pays ou datacenters différents), il est préférable de ne pas activer le cluster Proxmox, mais de gérer les serveurs à distance via des outils comme Ansible, avec un tunnel VPN.
💾 5. Stockage et réplication
📍 Local avec ZFS
ZFS est un excellent choix de stockage local :
- Il permet de créer des snapshots rapides,
- offre de la compression/dédoublonnage,
- et surtout une réplication incrémentale très efficace (
zfs send/recv
).
Chaque nœud peut ainsi conserver des sauvegardes d’autres nœuds, ou assurer un plan de reprise.
🌍 Réplication entre sites
Tu peux répliquer :
- Des volumes ZFS via
zfs send | ssh | zfs recv
, - Des images disques via
rsync
,rclone
, ouBorg
.
🛡️ Sauvegardes distantes
Utilise Proxmox Backup Server (PBS) sur un site distant :
- Sauvegardes chiffrées,
- Dédupliquées,
- Différentielles,
- Très efficaces même sur CPU modestes.
⚙️ 6. Orchestration & provisionnement
Une fois la base en place, tu peux automatiser la gestion de ton infrastructure :
- Ansible : pour créer des VM, configurer les DNS, réseaux, pare-feux…
- cloud-init : pour déployer des VMs préconfigurées.
- Terraform (optionnel) : pour des déploiements plus complexes, notamment multi-cloud.
Tu peux aller plus loin avec l’automatisation du routage DNS, la génération d’adresses IP, la gestion du firewall et des ACLs internes.
📈 7. Supervision
Aucune infrastructure viable sans supervision sérieuse. Tu peux intégrer :
- Zabbix : pour une supervision réseau/VMs très détaillée,
- Netdata : pour une vue en temps réel simple par nœud,
- Prometheus + Grafana : stack moderne avec visualisation complète,
- Uptime Kuma : pour la disponibilité de services publics (sites, API…),
- Graylog, Loki, ou ELK : pour la centralisation des logs.
🔒 8. Sécurité à tous les étages
Composant | Sécurisation recommandée |
---|---|
Accès SSH | Clé privée, IP restreinte, fail2ban |
Interface web Proxmox | Protection par reverse proxy HTTPS + MFA |
Données sensibles | Disques chiffrés (LUKS), backups chiffrés |
Accès client | VLAN séparés, firewalls, gestion des ACLs |
En plus de ça, pense à mettre à jour tes paquets et monitorer les accès.
La souveraineté passe aussi par la discipline opérationnelle.
🌀 9. Cas d’usage possibles
Ce type d’architecture permet :
- D’héberger des clients multiples (agence web, infogérant),
- De construire un cloud privé distribué,
- D’avoir des environnements de test & production séparés,
- De remplacer les clouds publics par une solution auto-gérée et open source,
- De construire une infrastructure de secours répartie.
✅ Résultat : une infrastructure souveraine, performante et pérenne
À l’arrivée, tu obtiens :
- Une infrastructure distribuée entre plusieurs hébergeurs ou sites,
- Résiliente, modulaire, sécurisée, et maîtrisée de bout en bout,
- Capable de faire tourner des VMs, conteneurs, services critiques, etc.
- Avec des sauvegardes chiffrées, une surveillance intelligente, et une orchestration automatisée.
C’est un cloud perso, décentralisé, hors GAFAM, sans compromis sur la performance.