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