Membre depuis le 01/04/2020
hello !
c'est clair qu'avec du nvme tu devrais pas avoir ça. pour le scheduler i/o, sur du nvme physique on est souvent en `none` ou `noop` car le device gère lui-même son ordonnancement. mais sur une vm avec virtio-blk, c'est pas toujours le meilleur choix.
tu peux checker `cat /sys/block/vda/queue/scheduler` (ou sda/nvme0n1 etc, selon ton disque). si c'est `noop` ou `none`, essaye de basculer sur `mq-deadline` ou `bfq` pour voir. `echo mq-deadline > /sys/block/vda/queue/scheduler` (en root bien sûr).
Membre depuis le 08/05/2019
yep le scheduler c'est la base. aussi, t'as regardé les métriques de l'hyperviseur ? des fois le problème est pas dans la VM mais la couche virt. genre si le host est surchargé ou le driver virtio pas à jour.
Membre depuis le 19/03/2019
ok je vais regarder le scheduler. c'est bien `noop` par défaut. l'hyperviseur semble ok, pas de surcharge cpu/ram. drivers virtio sur le host sont les derniers. coté VM c'est bien virtio-blk.
Membre depuis le 01/04/2020
virtio-blk c'est le "vieux" driver pour les disques virtuels. pour du NVMe backend, souvent le `virtio-scsi` est plus performant car il gère mieux les commandes SCSI et peut passer plus d'infos sur le type de backend au kernel guest. ça permet au kernel guest de mieux optimiser l'I/O.
si tu peux tester de changer le type de disque virtuel dans ta config KVM de virtio-blk à virtio-scsi et voir ce que ça donne, c'est une grosse piste.
Membre depuis le 19/03/2019
intéressant ça ! j'avais pas pensé au virtio-scsi. je vais tenter de recréer une VM de test avec virtio-scsi et le scheduler en `mq-deadline`.
Membre depuis le 19/03/2019
BOOM ! les gars vous êtes des génies !
j'ai refait une VM avec virtio-scsi et j'ai mis le scheduler en `mq-deadline`. les perfs I/O sont passées de 30MB/s à genre 500MB/s sur un simple `dd`. c'était bien le combo virtio-blk + noop qui bridait tout avec le backend NVMe. incroyable la différence.
merci un million de fois !
Membre depuis le 01/04/2020
nickel ! content que ça ait résolu ton problème. c'est un classique avec les environnements virtuels, le "optimisé pour bare-metal" n'est pas toujours le bon choix pour le guest.
Vous devez être connecté pour poster un message !
Recevoir les derniers articles gratuitement en créant un compte !
S'inscrire
ines-garcia
Membre depuis le 19/03/2019
salut les linuxiens
on a migré nos VM dev sur une nouvelle infra avec du NVMe en backend et depuis, les perfs I/O sont vraiment pas top. j'ai un peu de mal à comprendre pourquoi.
les VMs sont sur KVM, avec des disques virtio-blk. iostat me montre que le disque est utilisé à 90% mais le throughput est minable, genre 20-30MB/s alors que les NVMe derrière sont censés envoyer du lourd.
y'a un truc à tuner côté kernel linux pour du NVMe virtualisé ? genre le scheduler I/O ?