J'ai un cluster k8s sur 4 VM. 1 maître et 3 travailleurs. Sur chacun des travailleurs, j'utilise rook pour déployer un OSD ceph. Les OSD utilisent le même disque que le système d'exploitation de la VM.
Les disques VM sont distants (l'infrastructure sous-jacente est encore un cluster Ceph).
Voici les performances du disque VM (similaires pour les 3) :
$ dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
1+0 enregistrements lus
1+0 enregistrements écrits
1073741824 bytes (1.1 GB) copiés, 4.82804 s, 222 MB/s
Et la latence (attendre) lorsqu'il est inactif est d'environ 8 ms.
Si je monte un volume RBD à l'intérieur d'un POD K8S, les performances sont très faibles :
$ dd if=/dev/zero of=testfile bs=1G count=1 oflag=direct
1+0 enregistrements lus
1+0 enregistrements écrits
1073741824 bytes (1.1 GB, 1.0 GiB) copiés, 128.619 s, 8.3 MB/s
En cas de charge élevée (100% d'utilisation pour le volume rbd), la latence du volume RBD est supérieure à 30 secondes.
Je sais que ma configuration n'est pas celle que Ceph recommande et que dd n'est pas le meilleur outil pour profiler les performances de disque, mais la pénalité d'avoir ceph sur les disques VM est encore énorme.
Le système d'exploitation de la VM est
CentOS 7.7.1908.
Noyau 3.10.0-1062.12.1.el7.x86_64
Bande passante réseau entre les nœuds travailleurs :
[ ID] Interval Transfert Bande passante
[ 5] 0.00-10.00 sec 2.35 GBytes 2.02 Gbits/sec
La latence réseau est inférieure à 1 ms.
Je cherche des pistes pour résoudre le problème et améliorer les performances.