L'idée de cette page est de déterminer quel est la meilleure solution pour le stockage des Machines Virtuelles, afin de sortir quel système de stockage local, et quelles options sont les plus judiciables d'un point de vue performance mais aussi en terme de fonctionnalité. J’essaie d’être le plus exhaustif en terme de configuration, même si certaines options ont pues être ignorées/oubliées.
Afin de réaliser ce benchmark, je vais utiliser la machine suivante :
Type | Equipement |
---|---|
CPU | Intel Core i5 7600K |
Carte mère | Asus Z170 PRO GAMING |
Mémoire | 2*8GB Corsair 2133MHz DDR4 |
Disque Dur | KINGSTON SSD A400 480GB |
Samsung SSD 970 EVO Plus NMVe 250GB |
Proxmox1), ainsi que la racine de la VM sont stocké sur le SSD Kingston, et tous les benchmarks seront faits sur le SSD NVMe Samsung qui est dédié uniquement a ceux-ci.
Ce choix permet de limiter l'impact de limitation de bande passante d'IO, ni par d'autres usages.
La VM, elle est configuré comme ceci :
Type | Equipement |
---|---|
Mémoire | 8GB |
CPU | 1 socket, 2 cores (host) |
Bios | Seabios |
Disque principal | 20GB sur du LVM-Thin avec discard en virtio |
OS | Debian 10 Buster sans UI 2) |
Afin d'effectuer ces tests je vais lancer sur le disque (sans système de fichier) avec les commandes suivantes :
# dd if=/dev/zero of=/dev/${DISQUE} count=10 bs=1000M conv=fdatasync
# sync; echo 3 > /proc/sys/vm/drop_caches; dd if=/dev/${DISQUE} of=/dev/null count=10 bs=1000M
# ioping -B -c 10 /dev/${DISQUE} | awk '{print $6}'
J'ajoute quelques précisions pour mieux comprendre les résultats. Les valeurs “Host” présentes sur la totalité des graphs sont les valeurs de référence, en l’occurrence ce que le Proxmox lui-même obtient comme résultat (pas dans un VM donc).
Ah, et les valeurs sont en MB/s
Voici quelques remarques intéressantes :
Pour approfondir le sujet, voici le document contenant tout les résultats aux tests effectué.
Quel système de stockage je recommande ?
Même si il y a beaucoup de d'options possibles, je pense que d'utiliser la combinaison :
Après pour le support, j'en recommande 2, dépendant des besoins/possibilités: