web-dev-qa-db-fra.com

Comment créer un fichier qcow2 qui est petit mais pratique sur un serveur Linux?

Je crois qu'il existe des fichiers qcow2 qui déplacent une petite quantité de gigaoctets sur un serveur (comme vérifié avec un df -h sur le serveur physique) mais permettent beaucoup d'espace lorsque vous vous connectez au virt-manager VM et émettez un df -h. Comment créez-vous un tel fichier? Comment le serveur physique sait-il qu'il n'y aura pas de problème si/quand les machines virtuelles atteignent leur taille maximale et remplissent potentiellement le serveur physique ?

La commande truncate ne crée pas de petits fichiers qcow2. L'interface graphique de Virtual Machine Manager permet la création de "matériel" via l'interface graphique. Ces deux méthodes de création de fichiers .qcow2 créent des fichiers dont la taille est maximale.

7
Catbird55

Pour créer une image qcow2 pour une taille de disque virtuel de 100 Mo, procédez comme suit:

qemu-img create -f qcow2 foobar.qcow2 100M

Le foobar.qcow2 créé sera d'environ 200 Ko.

Vous pouvez facilement créer un très grand disque virtuel avec celui-ci qui ne prendra que très peu d'espace sur le système de fichiers hôte, par ex. Le disque virtuel de 100 To ne prendrait qu'environ 2 Mo sur l'hôte, mais lorsque le disque est utilisé sur l'invité, le fichier augmentera sur l'hôte. Cela remplira éventuellement le système de fichiers hôte et empêchera l'invité de faire des écritures supplémentaires vers n'importe quel emplacement qui n'est pas déjà alloué. L'allocation de ressources supplémentaires pour les invités réellement disponibles sur l'hôte est appelée provisionnement fin , voir https://en.wikipedia.org/ wiki/Thin_provisioning pour plus d'informations.

Le moyen le plus simple d'éviter les problèmes, lorsque le disque est alloué de manière dynamique, est de surveiller l'utilisation du disque du système hôte (avec des alarmes automatisées envoyées aux administrateurs) et d'ajouter plus d'espace disque avant que le système de fichiers du système hôte ne se remplisse.

18
Tuomas