{{tag>virtualisation KVM VM machine_virtuelle performance tuning scheduler}}
====== Tuning performance I/O disque avec KVM ======
Il va sans dire que cela ne dispense pas d'héberger ses VMs sur un support de stockage rapide comme des disques bien rapides en RAID matériel (du SAS 15k en raid10 ou encore raid50 pourront faire l'affaire)
Vous voulez utiliser **noatime,nodiratime** dans le fstab non seulement de vos hôtes mais aussi de vos VMs dès que possible
====== Sur l'hote ======
* Utiliser le scheduler "deadline", voir [[sysadmin:tips:io_scheduler]] pour les détails
* **Utiliser des LV LVM dédiés par VM dès que possible**, sinon par ordre de préférence :
- fichier image RAW (overhead non négligeable)
- fichier image qcow2 (overhead monstrueux)
- fichier qcow2 dérivé d'un autre qcow (overhead démoniaque)
* Penser à utiliser noatime,nodiratime des que possible
Vous ne devez même pas penser vouloir utiliser des fichiers qcow type copy-on-write basés sur un aure qcow, sinon vous vous êtes trompés de page ;-) : c'est peut être éventuellement pratique sur de la virtualisation sur votre desktop/laptop mais ne cherchez pas à avoir des vraies I/O avec ça. Si cela vous tente résistez à cette envie : si le fichier "base" de toutes vos VMs est altéré toutes vos VMs sont foutues (problème sur le stockage, "oups j'ai viré cette ancienne VM", ou encore "oups j'ai démarré la VM originale"). De plus cette base ne permet de gagner de l'espace que si vous n'effectuez aucune mise a jour système de vos VMs, sinon le delta de ces mises à jour sera stocké N fois
====== Pour les VMs ======
**Utiliser virtio et uniquement virtio**
====== Dans les VMs ======
* Utiliser le scheduler "noop" (voir [[sysadmin:tips:io_scheduler]] pour les details) : le scheduling n'a pas à être effectué dans la VM puisque c'est l’hôte physique qui s'en chargera
* Penser à utiliser noatime,nodiratime des que possible
* Penser à vérifier que les drivers virtio sont utilisés (il faudra éventuellement les installer, sur les VM windows par exemple)