Dois-je utiliser "Détection de zérule" pour soutenir TRIM / discard Dans les systèmes d'invité QEMU?

Jusqu'à présent, j'ai allumé l'arrêt pour mes invités QEMU Avec l'aide de l'équipe libvirt XML

..
<driver discard="unmap" name="qemu" type="qcow2"></driver>
..

Et il semble normalement travailler.

Maintenant, quand je vais convertir mon stockage avec

virtio-scsi

à

virtio-blk

Depuis lors, il soutient l'annulation, j'ai couru dans l'option

detect_zeroes=off|on|unmap

(ou équivalent QEMUs

detect-zeroes

)

Devrais-je aussi utiliser cette option et pourquoi? Je suppose qu'à côté des zones qui seront marquées comme "Disponible", Ils seront également enregistrés par les zéros, mais quelles valeurs ils ont, en particulier dans le référentiel avec support SSD?

Utilisation d'images qcow2, Je vois le point d'écrire des zéros pour marquer un espace vide raréfié, mais il semble que les fichiers image qcow2 effectivement obtenir moins (Robuste) Sans cette option et utilisez simplement

discard='unmap'

.

Dans la documentation libvirt dit:

Attribut optionnel detect_zeroes Détermine s'il faut détecter des demandes d'enregistrement zéro. La valeur peut être "désactivée", "activée" ou "désactivée". Les deux premières valeurs sont désactivées et comprennent la détection, respectivement. Troisième signification («unmap») Comprend la détection et tente en outre de supprimer ces zones de la valeur basée sur la valeur discard plus haut (ça va agir comme «on», Si pour discard installée «ignore»). Veuillez noter: allumez la détection - Il s'agit d'une opération avec une informatique intensive, mais elle peut enregistrer l'espace de fichier et / ou le temps sur les médias lents. Commençant par 2.0.0

Que, malheureusement, ne m'a pas amené à la décision d'utiliser

detect_zeroes

Ou pas :-/

Stockage de sauvegarde pour mes invités QEMU - Ce sont des images qcow2 sur le disque dur et SSD, ainsi que des dispositifs de blocs LVM, Situé sur SSD.
Invité:

Alice

Confirmation de:

Les systèmes d'exploitation modernes peuvent envoyer des commandes TRIM / UNMAP dans un stockage virtuel pour libérer l'endroit, alors

detect_zeroes

Pas besoin d'un tel système d'exploitation.

La seule raison pour laquelle je peux utiliser

detect_zeroes

réside dans le refus de soutenir un système d'exploitation obsolète qui ne supporte pas TRIM / UNMAP. Dans ce cas, les blocs de zéros ne seront pas affichés lorsque vous installez.

detect_zeroes='unmap'

Au lieu d'écrire sur des blocs de disque des zéros. Dans le système d'exploitation Virtual Guest, vous devez exécuter un utilitaire qui écrit Zeros à tous les espaces libres sur le disque et KVM Les convertit à B. TRIM / UNMAP. Cependant, cela peut nécessiter des ressources de processeur importantes. De plus, je ne peux pas trouver une raison inutile pour cela

on

sans pour autant

unmap

.

P.S. Vous avez dit: "Maintenant, quand je vais convertir mon stockage

virtio-scsi

à

virtio-blk

"... L'avez-vous eu dans l'ordre inverse? Généralement que vous convertissez de

virtio-blk

à

virtio-scsi

.

Pour répondre aux questions, connectez-vous ou registre