Retour

Paramètres du contrôleur de disque et du cache

Contrôleur de disque et cache de Proxmox

Cette page fournit des informations sur les paramètres liés au disque lors de la configuration des machines virtuelles, y compris les considérations clés et les précautions.

À propos des contrôleurs SCSI

Lors de la création d’une nouvelle VM et de la sélection d’un contrôleur SCSI, l’option par défaut est « VirtIO Single ». Cela signifie que si plusieurs disques virtuels sont créés (comme décrit dans la section suivante), ils sembleront tous connectés à ce seul contrôleur. Cette configuration optimise l’utilisation de la mémoire et des périphériques au sein de la machine virtuelle.

Choisir « VirtIO SCSI » permet d’attribuer chaque disque virtuel à un bus SCSI distinct, ce qui nécessite un espace supplémentaire pour les pilotes et la mémoire. Cependant, répartir les opérations d’E/S peut améliorer les performances sous certaines charges de travail.

Les autres émulations de cartes SCSI physiques ne sont généralement pas recommandées.

À propos des contrôleurs de disque

L’IDE (également connu sous le nom d’ATA) a été établi en 1988, garantissant une compatibilité avec presque tous les systèmes d’exploitation. Pour les versions de systèmes d’exploitation publiées avant 2003, utiliser l’IDE peut être le meilleur choix. Bien que l’IDE physique ait une vitesse maximale de 133 Mo/s, l’IDE virtualisé n’a pas cette limitation sauf si le système d’exploitation l’impose. Cependant, l’IDE ne prend pas en charge le remplacement à chaud, ce qui signifie que les périphériques ne peuvent pas être retirés pendant que la VM est en marche.

Le SATA convient aux versions de systèmes d’exploitation publiées après 2003 et est l’option la plus compatible pour les systèmes d’exploitation modernes. Physiquement, il s’agit d’une évolution de l’IDE avec une transmission série, offrant des vitesses allant jusqu’à 6 Gbps (environ 600 Mo/s). Cependant, dans un environnement virtualisé, il n’y a pas de restrictions de vitesse inhérentes sauf si elles sont imposées par le système d’exploitation invité.

VirtIO SCSI et VirtIO SCSI Single offrent l’accès au disque le plus rapide. Cependant, ils nécessitent que le système d’exploitation invité dispose de pilotes para-virtualisés. Si le système ne possède aucun disque IDE/SATA, le processus d’installation du système d’exploitation échouera à moins que le pilote VirtIO SCSI ne soit installé. Les distributions Linux incluent ce pilote depuis environ 2012, FreeBSD depuis 2014, et pour les systèmes d’exploitation Windows, un fichier ISO supplémentaire contenant les pilotes VirtIO doit être fourni pendant l’installation.

À propos du cache disque

Les paramètres de cache disque impliquent un compromis entre l’intégrité des données et les performances.

Fonctionnalité writethrough directsync none writeback unsafe
Utilisation du cache Utilise le cache de pages (bénéfique pour les opérations de lecture) N’utilise pas de cache N’utilise pas de cache Utilise le cache de pages Utilise le cache de pages
Émission de fsync Émis à chaque écriture Émis à chaque écriture Non émis Émis avec retard Non émis
Processus d’écriture Écrit dans le cache, puis vide immédiatement sur le disque Écrit directement sur le disque et vide immédiatement Écrit directement sur le disque sans vider Écrit dans le cache et vide avec retard Écrit dans le cache sans vider
Performance de lecture Élevée (utilisation du cache) Faible (dépendante du disque) Faible (dépendante du disque) Élevée (utilisation du cache) Élevée (utilisation du cache)
Performance d’écriture Moyenne (assistée par le cache) Faible (pas de cache) Moyenne (pas de cache) Élevée (vidage du cache retardé) Très élevée (vidage du cache retardé)
Intégrité des données Élevée Très élevée Moyenne (dépendante du disque) Faible (écritures retardées) Très faible (risque élevé de perte de données)
Cas d’utilisation Systèmes privilégiant les performances de lecture et l’intégrité Systèmes nécessitant une intégrité maximale des données Systèmes axés sur les performances avec des besoins d’intégrité modérés Systèmes intensifs en écriture équilibrant performance et intégrité Systèmes axés sur les performances où la perte de données est acceptable

TRIM (Discard)

La commande Discard informe le système de stockage que certains blocs ne sont plus nécessaires.

Initialement introduite pour l’équilibrage de l’usure des SSD, certains systèmes d’exploitation peuvent nécessiter une émulation SSD pour prendre en charge TRIM. Au-delà des SSD, TRIM peut également aider à la suppression sécurisée en supprimant les clés de chiffrement au lieu de réécrire les données.

Dans les environnements de cloud privé, TRIM permet au stockage provisionné dynamiquement de récupérer de l’espace. Normalement, une fois que le stockage est utilisé par une VM, même les données supprimées restent allouées au niveau du stockage.

fstrim -v /point-de-montage

Pour des opérations TRIM en temps réel, montez avec l’option discard :

mount -o discard,remount /

Thread d’E/S (IO Thread)

Activer les threads d’E/S dans VirtIO SCSI décharge les opérations d’écriture sur disque vers un thread séparé du thread principal du système d’exploitation.

Cette configuration nécessite des ressources CPU supplémentaires mais réduit la latence, en particulier dans les VM avec plusieurs disques virtuels gérant des opérations de lecture/écriture simultanées.