Je suppose que cela devrait être assez élémentaire, mais j'ai essayé de le rechercher sur Google et j'ai lu la documentation de docker . Cependant, je n'arrive toujours pas à comprendre ce que signifie exactement " Thin Pool " et le rôle qu'il joue dans le monde des dockers.
Réponse
Trop de publicités?Histoire courte:
Un mince piscine est une source de stockage qui fournit à la demande d'allocation d'espace de stockage. Il est plus ou moins similaire à la mémoire virtuelle, qui fournit de l'espace d'adressage de chaque processus.
C'est une longue histoire:
La Graisse De Provisionnement
Les systèmes de stockage traditionnels de la méthode de répartition est appelé "fat" ou "épais" approvisionnement.
Par exemple, un utilisateur des droits d'utiliser 10G d'espace de stockage. La graisse de provisionnement puis se réserve 10G physique de l'espace de stockage pour un utilisateur, même si il/elle utilise seulement 1% de celui-ci. Personne d'autre ne peut utiliser cet espace réservé.
Thin Provisioning
Thin provisioning fournit un mécanisme de sur-demande d'allocation de stockage, ce qui permet à un utilisateur de réclamer plus d'espace de stockage que ce qui a été physiquement réservé pour cet utilisateur.
En d'autres termes, il permet l'allocation de l'espace de stockage. Pensez-RAM-dessus de validation de fonction.
Mince Piscine
Mince piscine est un conceptionnelle terme qui se tient pour la sauvegarde de stockage de la source utilisée par le thin provisioning. Thin provisioning alloue virtuel morceaux de stockage à partir de minces de la piscine, alors que la graisse de provisionnement alloue des blocs physiques de stockage de la traditionnelle pool de stockage.
Mince Piscine dans le Panneau
Le Docker Moteur peut être configuré pour utiliser le Device Mapper comme son pilote de stockage. C'est là que vous faites affaire avec thin provisioning. Selon le Panneau de la documentation:
Hôtes de Production à l'aide de la devicemapper pilote de stockage doit utiliser direct-lvm mode. Ce mode utilise le bloc de dispositifs pour créer le pool léger.
Deux espaces différents de couches minces de piscine doivent être pris en charge de: les Métadonnées de l'espace (qui stocke des pointeurs) et l'espace des Données (qui stocke les données réelles). Au début, tous les pointeurs dans les Métadonnées de l'espace point pas de véritable morceaux dans la piscine. Aucun morceau dans l'espace de données est vraiment alloué jusqu'à ce qu'une demande d'écriture arrive. Ce n'est rien de nouveau, si vous êtes familier avec le mécanisme de mémoire virtuelle.
Jetons un coup d'oeil à la sortie de l' docker info
:
Data Space Used: 11.8 MB
Data Space Total: 107.4 GB
Data Space Available: 7.44 GB
Metadata Space Used: 581.6 kB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.147 GB
Thin Pool Minimum Free Space: 10.74 GB
Ici, la seule source de confusion est l' Thin Pool Minimum Free Space
. Que faut-il faire?
Il spécifie le min de l'espace libre dans GO dans une mince couche de piscine à un nouveau dispositif de création de réussir. Cette vérification s'applique à la fois libre l'espace de données ainsi que la gratuité des métadonnées de l'espace.
Création des conteneurs (cours docker pull
ou docker run
) échoue si l'espace libre dans mince de la piscine est inférieure à la valeur en Thin Pool Minimum Free Space
. Pas de suffisamment d'espace nécessite l'ajout de plus d'espace de stockage en fines piscine ou de l'effacement des images inutilisées.
Liens: