ajoute une démo Ceph mono-serveur (bloc C, premier chantier)
Cluster cephadm minimal (1 mon, 1 mgr, 1 OSD sur fichier épars), vérifié par une vraie écriture/lecture d'objet. Pas branché à OpenStack (Cinder désactivé sur ce déploiement) : démo de compréhension avant le vrai cluster au 2e serveur. SSH via adam, pas root, pour ne pas affaiblir le durcissement SSH de la semaine 1. Découverte en vérifiant l'état réel avant d'agir : le serveur a 31 Go de RAM et 230 Go RAID 1, pas 64 Go / 2x500 Go comme écrit dans le CLAUDE.md — noté en dette, démo faite quand même sous surveillance de la RAM après accord d'Adam. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
6ea7a1cc16
commit
cdf79d2823
5 changed files with 212 additions and 0 deletions
82
docs/runbooks/ceph.md
Normal file
82
docs/runbooks/ceph.md
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# Runbook — Ceph (démo mono-serveur)
|
||||
|
||||
Démo du bloc C du CLAUDE.md : comprendre et savoir opérer Ceph, avant le
|
||||
« vrai cluster » prévu au 2ᵉ serveur. **Pas branché à OpenStack** (Cinder est
|
||||
désactivé sur ce déploiement — `enable_cinder: "no"`), pas de réplication (1
|
||||
seul OSD), pas de stockage réel de l'application. Voir
|
||||
[ADR 0007](../adr/0007-ceph-demo-mono-serveur.md) pour le détail des choix et
|
||||
des contournements de bugs.
|
||||
|
||||
## État attendu
|
||||
|
||||
| Composant | Attendu |
|
||||
|---|---|
|
||||
| mon | 1, `sd-124443` |
|
||||
| mgr | 1 actif + 1 standby |
|
||||
| osd | 1, up et in, mode `raw` sur `/dev/loop0` |
|
||||
| Pools | 0 en temps normal (démo seulement, rien de permanent stocké) |
|
||||
|
||||
```
|
||||
sudo /usr/sbin/cephadm shell -- ceph -s
|
||||
```
|
||||
|
||||
`HEALTH_WARN` est normal et attendu (1 seul OSD < taille de réplication par
|
||||
défaut) — pas une alerte à traiter.
|
||||
|
||||
## Où sont les choses
|
||||
|
||||
- Config et clés : `/etc/ceph/ceph.conf`, `/etc/ceph/ceph.client.admin.keyring`.
|
||||
- Fichier épars de l'OSD (20 Go, alloué à l'usage réel) : `/var/lib/ceph-osd-demo/osd0.img`.
|
||||
- Service qui réattache ce fichier en `/dev/loop0` au démarrage : `/etc/systemd/system/ceph-osd-demo-loop.service` (copie suivie dans le dépôt : `infra/ceph/ceph-osd-demo-loop.service`, pas encore déployé par Ansible).
|
||||
- cephadm gère les daemons comme des conteneurs podman (`sudo podman ps`), pas docker (utilisé par Kolla et le portail) — deux runtimes de conteneurs coexistent sur ce serveur, sans conflit.
|
||||
|
||||
## Commandes utiles
|
||||
|
||||
```
|
||||
# Santé du cluster
|
||||
sudo /usr/sbin/cephadm shell -- ceph -s
|
||||
|
||||
# Lister les daemons
|
||||
sudo /usr/sbin/cephadm ls
|
||||
|
||||
# RAM : à surveiller avant/après toute action Ceph (colonne "available",
|
||||
# pas "free" — c'est elle qui compte vraiment)
|
||||
free -h
|
||||
```
|
||||
|
||||
## Pourquoi RAM et disque sont serrés
|
||||
|
||||
Le serveur a réellement **31 Go de RAM** et **230 Go en RAID 1** (pas 64 Go /
|
||||
2×500 Go comme décrit dans le CLAUDE.md — à corriger si une vraie mise à
|
||||
jour matérielle est faite). OpenStack (Kolla, MariaDB Galera, Nova/qemu) et
|
||||
le portail Laravel tournent déjà sur cette même machine. Avant d'ajouter
|
||||
quoi que ce soit à ce cluster (dashboard, supervision, un 2ᵉ OSD), vérifier
|
||||
`free -h` : viser au moins 2 Go « disponibles » de marge.
|
||||
|
||||
## Nettoyer entièrement la démo (si besoin de récupérer la RAM/le disque)
|
||||
|
||||
```
|
||||
ssh paillasse
|
||||
sudo /usr/sbin/cephadm ls # récupérer le fsid
|
||||
sudo /usr/sbin/cephadm rm-cluster --fsid <fsid> --force
|
||||
sudo losetup -d /dev/loop0
|
||||
sudo systemctl disable --now ceph-osd-demo-loop.service
|
||||
sudo rm /etc/systemd/system/ceph-osd-demo-loop.service
|
||||
sudo rm -rf /var/lib/ceph-osd-demo
|
||||
sudo rm /etc/apt/sources.list.d/ceph.list /usr/share/keyrings/ceph.gpg
|
||||
sudo apt-get update
|
||||
```
|
||||
|
||||
## Écueils rencontrés (pour ne pas les redécouvrir)
|
||||
|
||||
- **`ceph orch daemon add osd <hôte>:<périphérique>` plante** sur un
|
||||
périphérique loop (`IndexError`, bug de classification de `ceph-volume`,
|
||||
reproduit sur Pacific et Reef). Contournement : ajouter `raw` en second
|
||||
argument séparé : `ceph orch daemon add osd <hôte>:<périphérique> raw`
|
||||
(la syntaxe `périphérique,method=raw` est refusée par la CLI).
|
||||
- **cephadm veut du SSH root** même pour gérer l'hôte local — incompatible
|
||||
avec `PermitRootLogin no`. Toujours bootstrapper avec `--ssh-user adam`.
|
||||
- **Mélanger une image Ceph et un `cephadm` de version différente échoue**
|
||||
(`Container release reef != cephadm release pacific`) : installer le
|
||||
`cephadm` du dépôt officiel de la même version que l'image voulue, pas
|
||||
forcer avec `--allow-mismatched-release`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue