Rechercher

3.2. Cycle de vie d'un volume et d'une revendication

download PDF

Les PV sont des ressources dans le cluster. Les PVC sont des demandes pour ces ressources et agissent également comme des contrôles de réclamation pour la ressource. L'interaction entre les PV et les PVC a le cycle de vie suivant.

3.2.1. Mise à disposition d'un espace de stockage

En réponse aux demandes d'un développeur défini dans un PVC, un administrateur de cluster configure un ou plusieurs provisionneurs dynamiques qui fournissent du stockage et un PV correspondant.

Un administrateur de cluster peut également créer à l'avance un certain nombre de PV qui contiennent les détails du stockage réel disponible pour l'utilisation. Les PV existent dans l'API et peuvent être utilisés.

3.2.2. Lier les créances

Lorsque vous créez un PVC, vous demandez une quantité spécifique de stockage, vous spécifiez le mode d'accès requis et vous créez une classe de stockage pour décrire et classer le stockage. La boucle de contrôle du maître surveille les nouveaux PVC et lie le nouveau PVC à un PV approprié. S'il n'existe pas de PV approprié, un provisionneur de la classe de stockage en crée un.

La taille de tous les PV peut dépasser la taille de votre PVC. Cela est particulièrement vrai pour les PV provisionnés manuellement. Pour minimiser l'excès, OpenShift Container Platform se lie au plus petit PV qui correspond à tous les autres critères.

Les demandes restent indéfiniment non liées si un volume correspondant n'existe pas ou ne peut pas être créé avec un provisionneur disponible desservant une classe de stockage. Les demandes sont liées au fur et à mesure que des volumes correspondants sont disponibles. Par exemple, un cluster avec de nombreux volumes de 50Gi provisionnés manuellement ne correspondrait pas à un PVC demandant 100Gi. Le PVC peut être lié lorsqu'un PV de 100Gi est ajouté au cluster.

3.2.3. Utiliser des cosses et des PV revendiquées

Les modules utilisent les revendications comme des volumes. Le cluster inspecte la revendication pour trouver le volume lié et monte ce volume pour un pod. Pour les volumes qui prennent en charge plusieurs modes d'accès, vous devez spécifier le mode qui s'applique lorsque vous utilisez la revendication comme volume dans un module.

Une fois que vous avez une revendication et que cette revendication est liée, le PV lié vous appartient aussi longtemps que vous en avez besoin. Vous pouvez planifier des pods et accéder aux PV revendiqués en incluant persistentVolumeClaim dans le bloc de volumes du pod.

Note

Si vous attachez des volumes persistants qui ont un nombre élevé de fichiers à des pods, ces pods peuvent échouer ou prendre beaucoup de temps à démarrer. Pour plus d'informations, voir Lors de l'utilisation de volumes persistants avec un nombre élevé de fichiers dans OpenShift, pourquoi les pods ne démarrent-ils pas ou prennent-ils un temps excessif pour atteindre l'état "Ready" ?

3.2.4. Protection des objets de stockage en cours d'utilisation

La fonction de protection des objets de stockage en cours d'utilisation garantit que les PVC utilisés activement par un pod et les PV liés aux PVC ne sont pas supprimés du système, ce qui pourrait entraîner une perte de données.

La protection des objets de stockage en cours d'utilisation est activée par défaut.

Note

Un PVC est utilisé activement par un pod lorsqu'il existe un objet Pod qui utilise le PVC.

Si un utilisateur supprime un PVC qui est utilisé activement par un pod, le PVC n'est pas supprimé immédiatement. La suppression du PVC est reportée jusqu'à ce que le PVC ne soit plus utilisé activement par aucun pod. De même, si un administrateur de cluster supprime un PV lié à un PVC, le PV n'est pas supprimé immédiatement. La suppression de la PV est reportée jusqu'à ce que la PV ne soit plus liée à un PVC.

3.2.5. Libération d'un volume persistant

Lorsque vous avez terminé avec un volume, vous pouvez supprimer l'objet PVC de l'API, ce qui permet la récupération de la ressource. Le volume est considéré comme libéré lorsque la demande est supprimée, mais il n'est pas encore disponible pour une autre demande. Les données du demandeur précédent restent sur le volume et doivent être traitées conformément à la politique.

3.2.6. Politique de récupération des volumes persistants

La politique de récupération d'un volume persistant indique au cluster ce qu'il doit faire du volume après sa libération. La politique de récupération d'un volume peut être Retain, Recycle, ou Delete.

  • Retain permet la récupération manuelle de la ressource pour les plugins de volume qui la prennent en charge.
  • Recycle recycle le volume dans le pool de volumes persistants non liés une fois qu'il est libéré de sa réclamation.
Important

La politique de récupération de Recycle est obsolète dans OpenShift Container Platform 4. Le provisionnement dynamique est recommandé pour une fonctionnalité équivalente et meilleure.

  • Delete reclaim policy supprime à la fois l'objet PersistentVolume d'OpenShift Container Platform et la ressource de stockage associée dans l'infrastructure externe, comme AWS EBS ou VMware vSphere.
Note

Les volumes approvisionnés dynamiquement sont toujours supprimés.

3.2.7. Récupération manuelle d'un volume persistant

Lorsqu'une demande de volume persistant (PVC) est supprimée, le volume persistant (PV) existe toujours et est considéré comme "libéré". Cependant, le PV n'est pas encore disponible pour une autre demande, car les données du demandeur précédent restent sur le volume.

Procédure

Pour récupérer manuellement le PV en tant qu'administrateur de cluster :

  1. Supprimer le PV.

    oc delete pv <pv-name> $ oc delete pv <pv-name>

    La ressource de stockage associée dans l'infrastructure externe, telle qu'un volume AWS EBS, GCE PD, Azure Disk ou Cinder, existe toujours après la suppression du PV.

  2. Nettoyer les données sur le support de stockage associé.
  3. Supprimer le bien de stockage associé. Pour réutiliser le même bien de stockage, il est possible de créer un nouveau PV avec la définition du bien de stockage.

Le PV récupéré est maintenant disponible pour être utilisé par un autre PVC.

3.2.8. Modification de la politique de récupération d'un volume persistant

Pour modifier la politique de récupération d'un volume persistant :

  1. Dressez la liste des volumes persistants de votre cluster :

    $ oc get pv

    Exemple de sortie

    NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM             STORAGECLASS     REASON    AGE
     pvc-b6efd8da-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim1    manual                     10s
     pvc-b95650f8-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim2    manual                     6s
     pvc-bb3ca71d-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim3    manual                     3s

  2. Choisissez l'un de vos volumes persistants et modifiez sa politique de récupération :

    $ oc patch pv <nom-de-votre-pv> -p '{"spec":{"persistentVolumeReclaimPolicy":\N-"Retain"}''
  3. Vérifiez que le volume persistant que vous avez choisi a la bonne politique :

    $ oc get pv

    Exemple de sortie

    NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM             STORAGECLASS     REASON    AGE
     pvc-b6efd8da-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim1    manual                     10s
     pvc-b95650f8-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Delete          Bound     default/claim2    manual                     6s
     pvc-bb3ca71d-b7b5-11e6-9d58-0ed433a7dd94   4Gi        RWO           Retain          Bound     default/claim3    manual                     3s

    Dans la sortie précédente, le volume lié à la revendication default/claim3 a maintenant une politique de récupération Retain. Le volume ne sera pas automatiquement supprimé lorsqu'un utilisateur supprimera la revendication default/claim3.

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.