Table des matières

Ceph

Mais c'est quoi

Ceph est une plateforme libre de stockage distribué. Les objectifs principaux de Ceph sont d'être complètement distribué sans point unique de défaillance, extensible jusqu'à l'exaoctet et librement disponible. Les données sont répliquées, permettant au système d'être tolérant aux pannes.

Ceph fonctionne sur du matériel non spécialisé. Le système est conçu pour s'autoréparer et automatiser au maximum ses tâches administratives afin de réduire les coûts d'exploitation.

On y stock quoi concrètement ?

Ceph met en œuvre le stockage d'objets distribué au moyen de RADOS (Reliable Autonomic Distributed Object Store), un moteur de stockage objet fiable, autonome et distribué.

Côté client, sa bibliothèque logicielle native librados permet aux applications C, C++, Java, Python, Ruby et PHP un accès direct en mode objet.

Différentes bibliothèques additionnelles permettent d'obtenir les abstractions nécessaires pour :

Architecture

Vocabulaires

Procédures

Avant d'éteindre une machine physique pour maintenance courte

Il est nécessaire de marquer le cluster avec le flag noout: ceph osd set noout. Il est également possible de le faire depuis l'interface de Proxmox, sur une machine physique, dans l'onglet Ceph/OSD.

Une fois la machine à nouveau opérationelle, enlevez le flag noout: ceph osd unset noout.

Activation cache-tiering

ceph osd tier add rdb ssd
ceph osd tier cache-mode ssd writeback
ceph osd tier set-overlay rdb ssd

Il faut penser a définir MANUELLEMENT les limites de remplissage du cache, ceph n'arrivant pas à les déterminer seul.

ceph osd pool set ssd hit_set_type bloom
ceph osd pool set ssd target_max_bytes 800000000000
ceph osd pool set ssd cache_target_full_ratio 0.9
ceph osd pool set ssd cache_target_dirty_ratio 0.7
ceph osd pool set ssd cache_target_dirty_high_ratio 0.8

Désactivation cache-tiering

 ceph osd tier cache-mode ssd forward 

S'ASSURER QUE LE CACHE EST VIDE, via la commande:

rados -p ssd ls

Il est possible de le forcer manuellement via la commande:

rados -p ssd cache-flush-evict-all
ceph osd tier remove-overlay rdb 
ceph osd tier remove rdb ssd 

Troubleshooting

Generic Troubleshooting

# Check cluster status
ceph -s|--status|status
# Check cluster health
ceph health {detail}
# Watch live cluster change
ceph -w|--watch

Documentation: http://docs.ceph.com/docs/mimic/rados/operations/pg-states/

Inconsistent pg

ceph health detail
ceph pg repair <id>

Supression de disques RADOS

# Liste des pools
ceph osd lspools

# Liste des disques
rbd {pool-name} ls

# Liste des snapshots d'un disque
rbd snap ls {pool-name}/{image-name}

# Unprotect d'une snapshot d'un disque
rbd snap unprotect {pool-name}/{image-name}@{snapshot-name}

# Purge des snapshots du disque
rbd snap purge {pool-name}/{image-name}

# Supression du disque
rbd remove {pool-name}/{image-name}
rbd: error: image still has watchers
This means the image is still open or the client using it crashed. Try again after closing/unmapping it or waiting 30s for the crashed client to timeout.
rbd status {pool-name}/{image-name}
# /!\ Sur l'hôte retourné par 'rbd status'
# Vérifiez que l'image en question est présente
rbd showmapped

# Unmap l'image en question
rbd unmap <image-name>

Utilisation d'un disque sur une machine différente

https://pve.proxmox.com/wiki/Moving_disk_image_from_one_KVM_machine_to_another