Skip to content

Déploiement et exploitation d'un cluster de stockage distribué haute disponibilité (Ceph & CephFS)

  • Environnement : Debian 12 (Bookworm) / Cluster Ceph / Architecture Multi-nœuds (MDS, OSD, MON)
  • Objectif : Déployer un socle d'infrastructure de stockage distribué tolérant aux pannes, configurer les services fondamentaux, administrer le cluster via son interface web et implémenter un système de fichiers POSIX partagé (CephFS) accessible depuis un client réseau.

1. Contexte & Architecture

Le projet consiste à bâtir une infrastructure de stockage hautement disponible reposant sur un cluster Ceph de trois nœuds virtuels (node01, node02, node03).

Topologie Réseau (Dual-Stack)

L'architecture réseau repose sur deux interfaces distinctes par machine : - Une interface NATée (ens33) : Dédiée à l'accès externe, à l'administration SSH et à l'accès au tableau de bord web. - Un réseau privé Host-Only (ens34 sur le sous-réseau 10.10.10.0/24) : Réservé exclusivement au trafic interne du cluster Ceph (réseau de données et de management des OSD/Moniteurs).

2. Besoins identifiés

  • Déployer et configurer un environnement homogène de 3 machines virtuelles Debian.
  • Mettre en place la communication sécurisée inter-nœuds via clés SSH.
  • Configurer les services de base du cluster : Moniteurs (ceph-mon) et Managers (ceph-mgr).
  • Initialiser le stockage physique brut sur un second disque dédié (/dev/sdb) via ceph-volume.
  • Déployer et sécuriser l'interface d'administration Web (Ceph Dashboard).
  • Déployer et authentifier le service de métadonnées Ceph MDS sur le cluster.
  • Créer et dimensionner les pools RADOS pour les données (cephfs_data) et les métadonnées (cephfs_metadata).
  • Monter et valider le volume CephFS sur un poste client sous Debian.

3. Solution technique

  • La solution intègre les composants clés de l'écosystème Ceph :

    • MON (Monitor) : Maintient la carte d'état du cluster et gère l'authentification.
    • MGR (Manager) : Héberge les modules de suivi et l'interface de tableau de bord.
    • OSD (Object Storage Daemon) : Gère le stockage physique des données sur les disques dédiés (/dev/sdb).
    • MDS (Metadata Server) : Assure la gestion de l'arborescence POSIX pour CephFS.
    • Ceph Dashboard : Interface graphique de supervision et d'administration.
  • Les outils et paquets logiciels mobilisés sont :

    • ceph, ceph-mon, ceph-mgr, ceph-mds, ceph-volume
    • ceph-authtool (Gestion des trousseaux de clés sécurisés)
    • ceph-common (Outils clients et montage)

4. Réalisation

A. Initialisation du socle et du réseau (TP1)

  • Configuration réseau : Affectation des adresses statiques sur les interfaces ens33 et ens34 sur l'ensemble des nœuds.
  • Sécurisation SSH : Génération et distribution des clés publiques root pour automatiser les actions d'administration à travers le cluster.
  • Fichier de configuration global (/ceph.conf) : Définition des paramètres fondamentaux (fsid unique, réseaux public et cluster, IP des moniteurs).

B. Déploiement des services fondamentaux & Stockage OSD

  • Moniteurs & Managers : Génération des clés secrètes d'administration et de monitoring (ceph.mon.keyring, client.admin.keyring) puis initialisation des démons systemd ceph-mon et ceph-mgr.
  • Intégration du stockage brut : Exploitation d'une boucle d'automatisation pour formater et partitionner le second disque (/dev/sdb de 32 Go) sur chaque nœud via ceph-volume lvm, intégrant instantanément les OSD au cluster.
  • Dashboard Web : Installation du module de supervision, génération d'un certificat SSL auto-signé et création du compte administrateur dédié.

C. Implémentation de CephFS

  • Déploiement du MDS : Création du répertoire de travail sur node01, génération d'une clé d'authentification dédiée (mds.node01) avec des droits stricts, et activation du service ceph-mds@node01.
  • Création des pools RADOS : Allocation des pools distincts cephfs_data et cephfs_metadata.
  • Initialisation du FS et montage client : Déclaration du système de fichiers cephfs et montage effectif du volume sur /mnt/cephfs d'une machine cliente Debian.

5. Focus Cybersécurité & Résilience

  • Principe du Moindre Privilège (Least Privilege) : Les services (comme le MDS ou le gestionnaire) s'appuient sur des clés spécifiques dotées de permissions granulaires (allow profile mds, allow rwx sur les OSD ciblés), limitant les risques en cas de compromission d'un nœud.
  • Cloisonnement des flux : La séparation du trafic applicatif (NAT) et du trafic de synchronisation du cluster (réseau privé Host-Only en 10.10.10.0/24) isole les pulsations internes de déploiement des éventuelles écoutes malveillantes externes.
  • Haute Disponibilité : La répartition des données en objets répliqués sur l'ensemble des OSD garantit la continuité de service face à la défaillance matérielle d'un disque ou d'un nœud.

6. Preuves de réalisation

Topologie réseau dual-stack et vérification des interfaces (ip a sur les nœuds).

Configuration réseau des nœuds

Statut global du cluster et santé nominale des OSD (ceph -s).

Statut global du cluster Ceph

Arborescence et statut des OSD déployés sur les disques dédiés (ceph osd tree).

Arborescence OSD Ceph

Supervision globale et interface d'administration via le Ceph Dashboard.

Dashboard Web Ceph

Génération du keyring MDS et attribution des permissions d'accès.

Authentification du service MDS

Statut actif et activé du service ceph-mds via SystemD.

Statut du service ceph-mds

Vérification de l'état du système de fichiers (ceph fs status cephfs).

Statut de CephFS

Capture du montage effectif du volume CephFS dans /mnt/cephfs sur le client Debian (df -h).

Montage CephFS sur le client

Test de création de fichier sur le dossier partagé CephFS

Capture du test de la création d'un fichier sur le dossier partagé.