====== Benchmark CEPH ======
===== Benchmark de rados =====
===== Benchmark du stockage block device distant =====
Cette section décrit comment lancer un benchmark des block devices de ceph.
L'idée est d'obtenir des informations sur la latence et la bande passante en lecture/écriture sur les serveurs de stockage.
** Sur le serveur de calcul (ex: atlantis) :**
Ne pas créer une image dont le nom existe déjà.
-Créer une image block device depuis le cluster de prod sur le noeud de stockage ceph distant:
rbd create image02 --size 1024 --pool replicated_2_pool -m 192.168.142.130 --keyring /etc/pve/priv/ceph/replicated_two_times.keyring --id proxmox_replicated_2
** Sur le serveur de stockage (ex: phobos) :**
-Vérifier que l'image a bien été créée:
rados lspools #Lister les pools disponibles
rbd ls -l replicated_2_pool
-Retirer les features non supportés de l'image (garder juste layering)
rbd info image02 --pool replicated_2_pool #lister les features
rbd feature disable image02 exclusive-lock, object-map, fast-diff, deep-flatten --pool replicated_2_pool
** Sur le serveur de calcul (ex: atlantis) :**
-Mapper le block device sur le serveur de calcul:
rbd map image02 --pool replicated_2_pool -m 192.168.142.130 --keyring /etc/pve/priv/ceph/replicated_two_times.keyring --id proxmox_replicated_2
-Formatter la partition en ext4 et la monter:
mkfs.ext4 -m0 /dev/rbdXXX
mkdir /mnt/bench-ceph
-Lancer le test avec **rbd bench-write**:
rbd bench-write image02 --pool=replicated_2_pool -m 192.168.142.130 --keyring /etc/pve/priv/ceph/replicated_two_times.keyring --id proxmox_replicated_2
TODO : déterminer si les IOs se font depuis le serv de calcul ou depuis le serv de stockage.
Résultats bench-write
From Atlantis:
elapsed: 48 ops: 262144 ops/sec: 5458.14 bytes/sec: 22356554.75
From phobos:
elapsed: 18 ops: 262144 ops/sec: 14393.89 bytes/sec: 58957385.80
elapsed: 16 ops: 262144 ops/sec: 15723.71 bytes/sec: 64404325.99
elapsed: 17 ops: 262144 ops/sec: 14618.23 bytes/sec: 59876281.84
** À la fin (sur serv de calcul) **
-Unmap l'image
rbd unmap image02 --pool replicated_2_pool -m 192.168.142.130 --keyring /etc/pve/priv/ceph/replicated_two_times.keyring --id proxmox_replicated_2
** À la fin (sur serv de stockage) **
-Retirer l'image quand vous avez terminé:
rbd snap purge replicated_2_pool/testimage01 #remove snapshots
rbd rm replicated_2_pool/testimage01 #remove image
====== Sources ======
https://tracker.ceph.com/projects/ceph/wiki/Benchmark_Ceph_Cluster_Performance#Benchmark-a-Ceph-Block-Device