Installer Ceph depuis la GUI PVE, créer OSD, pools, CephFS¶
Objectif : partir d'un cluster PVE 9 de trois nœuds (pve01, pve02, pve03) et obtenir un cluster Ceph Squid 19.2 en HEALTH_OK, avec 3 MON, 3 MGR, un OSD par disque, un pool ceph-vm en réplica 3/2 déclaré comme stockage PVE et, si besoin, un CephFS pour les ISO. Durée : 1 à 2 heures. Sur les architectures livrées par le MSP, cette installation est faite par le MSP ; cette page sert à la comprendre, à la refaire en lab ou à ajouter un nœud.
Avant de toucher la prod
- Cluster PVE formé et sain :
pvecm statusaffiche Quorate: Yes et les 3 nœuds. - Prérequis validés : HBA, SSD entreprise PLP, réseau Ceph dédié (voir Prérequis).
- Réseau Ceph configuré sur chaque nœud, MTU validé par
ping -M do -s 8972entre tous les nœuds (voir Réseaux Ceph). - Disques OSD vides, sans partition ni signature (nœud → Disks : Usage = No). Sinon Wipe Disk.
- Horloges synchronisées :
chronyc trackingsur chaque nœud. - Dépôt choisi : Enterprise (abonnement actif) ou No-Subscription (voir Abonnements et dépôts).
Étapes¶
1. Installer les paquets et initialiser la configuration¶
- Sur
pve01: nœud → Ceph → Install Ceph. - Choisir la version Squid (19.2) et le dépôt (Enterprise ou No-Subscription), puis Start installation. Répondre
Ydans la console. - Onglet Configuration : Public Network =
10.10.10.0/24, Cluster Network =10.10.20.0/24(ou identique au public si un seul réseau), Number of replicas = 3, Minimum replicas = 2, premier moniteur surpve01. - Répéter Install Ceph sur
pve02etpve03: la configuration commune est déjà présente dans/etc/pve/ceph.conf.
# Sur chaque nœud
pveceph install --repository no-subscription --version squid
# (ou --repository enterprise avec un abonnement actif)
# Une seule fois, sur pve01
pveceph init --network 10.10.10.0/24 --cluster-network 10.10.20.0/24
Le dépôt est écrit au format deb822 dans /etc/apt/sources.list.d/ceph.sources. La configuration est créée dans /etc/pve/ceph.conf, avec un lien /etc/ceph/ceph.conf.
2. Créer les moniteurs et managers¶
3. Créer les OSD¶
Sur chaque nœud : nœud → Ceph → OSD → Create: OSD. Choisir le Disk, laisser DB Disk et WAL Disk sur use OSD disk pour un SSD/NVMe, cocher Encrypt OSD si exigé, vérifier la Device Class proposée. Répéter pour chaque disque.
4. Créer le pool de VMs¶
Nœud → Ceph → Pools → Create : Name = ceph-vm, Size = 3, Min. Size = 2, Crush Rule = replicated_rule (ou une règle par classe, voir Règles CRUSH), PG Autoscale Mode = on, cocher Add as Storage.
5. (Optionnel) Créer un CephFS pour ISO et templates¶
Nœud → Ceph → CephFS → Create sous Metadata Servers sur deux nœuds au moins, puis Create CephFS : Name = cephfs, cocher Add as Storage.
Vérifications
ceph -s
# health: HEALTH_OK
# mon: 3 daemons, quorum pve01,pve02,pve03
# mgr: pve01(active), standbys: pve02, pve03
# osd: 18 osds: 18 up, 18 in
# pgs: 100.000% pgs active+clean
ceph osd tree # chaque OSD sous le bon host, classe ssd/nvme
ceph osd pool autoscale-status # ceph-vm : AUTOSCALE on
ceph versions # tous les démons en 19.2.x
pvesm status | grep -E 'ceph-vm|cephfs' # stockages actifs sur les 3 nœuds
Créer une VM de test sur ceph-vm, la migrer à chaud entre deux nœuds, puis la supprimer.
Rollback
Tant qu'aucune VM n'utilise Ceph : supprimer le stockage et le pool (Pools → Destroy, ou pveceph pool destroy ceph-vm --remove_storages 1), puis les OSD (pveceph osd destroy <id> --cleanup), les MDS, MGR et MON (pveceph mon destroy <id>). Le nettoyage complet d'un nœud (pveceph purge) se fait avec le MSP. Une fois des VMs en production sur Ceph, il n'y a plus de rollback simple : migrer d'abord les disques vers un autre stockage.
Pièges vus en support
- Oublier
--version squiden CLI : sur les versions récentes de PVE 9, la version proposée par défaut peut être plus récente que celle validée par le MSP. - Réseau public mal saisi (masque, mauvaise interface) : les MON écoutent sur la mauvaise adresse ; corriger après coup est une opération MSP.
- Disques désignés par
/dev/sdXdans les scripts : les lettres changent au redémarrage. Utiliser/dev/disk/by-id/. - Disque ancien avec partitions LVM ou ZFS : la GUI ne le propose pas. Wipe Disk (nœud → Disks) détruit tout son contenu : vérifier deux fois le numéro de série.
- CephFS utilisé comme stockage de disques de VM : préférer RBD (
ceph-vm), CephFS sert aux ISO, templates et sauvegardes vzdump ponctuelles. - Créer le pool avant que tous les OSD existent sur les trois nœuds : PG
undersizedle temps de finir, ce qui est normal.
Quand ouvrir un ticket iTop
HEALTH_WARN persistant après création des OSD, MON qui ne rejoint pas le quorum, OSD qui ne démarre pas, besoin d'un pool EC ou d'une règle CRUSH spécifique : P3 (P2 si le cluster est déjà en production). Joindre ceph -s, ceph osd tree, cat /etc/pve/ceph.conf, pveversion -v.