Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Importer des volumes

Contributeurs

Vous pouvez importer des volumes de stockage existants sous forme de volume persistant Kubernetes à l’aide de tridentctl import.

Pilotes prenant en charge l’importation de volumes

Ce tableau décrit les pilotes qui prennent en charge l’importation de volumes et la version dans laquelle ils ont été introduits.

Conducteur Relâchez

ontap-nas

19.04

ontap-nas-flexgroup

19.04

solidfire-san

19.04

azure-netapp-files

19.04

gcp-cvs

19.04

ontap-san

19.04

Pourquoi importer des volumes ?

L’importation d’un volume dans Trident est possible dans plusieurs champs d’application :

  • Conaerisation d’une application et réutilisation de son jeu de données existant

  • L’utilisation d’un clone du jeu de données pour une application éphémère

  • Reconstruction d’un cluster Kubernetes défaillant

  • Migration des données applicatives pendant la reprise sur incident

Comment fonctionne l’importation ?

Le fichier de demande de volume persistant est utilisé par le processus d’importation des volumes pour créer la demande de volume persistant. Au minimum, le fichier PVC doit inclure les champs Nom, espace de noms, Access modes et storageClassName, comme indiqué dans l’exemple suivant.

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: my_claim
  namespace: my_namespace
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: my_storage_class

Le tridentctl le client est utilisé pour importer un volume de stockage existant. Trident importe le volume en persistant des métadonnées de volume et en créant la demande de volume persistant et le volume persistant.

$ tridentctl import volume <backendName> <volumeName> -f <path-to-pvc-file>

Pour importer un volume de stockage, spécifiez le nom du back-end Astra Trident contenant le volume, ainsi que le nom qui identifie de manière unique le volume sur le stockage (par exemple : ONTAP FlexVol, Element Volume, chemin du volume CVS). Le volume de stockage doit autoriser l’accès en lecture/écriture et être accessible par le back-end Trident spécifié de l’Astra. Le -f L’argument de chaîne est requis et spécifie le chemin d’accès au fichier PVC YAML ou JSON.

Lorsque Astra Trident reçoit la demande de volume d’importation, la taille du volume existant est déterminée et définie dans le volume persistant. Une fois le volume importé par le pilote de stockage, le volume persistant est créé avec un SécurRef dans la demande de volume persistant. La règle de récupération est initialement définie sur retain Dans la PV. Une fois que Kubernetes a réussi à relier la demande de volume persistant et le volume persistant, la règle de récupération est mise à jour pour correspondre à la règle de récupération de la classe de stockage. Si la règle de récupération de la classe de stockage est delete, Le volume de stockage sera supprimé lorsque le volume persistant est supprimé.

Lorsqu’un volume est importé avec le --no-manage Argument, Trident n’effectue aucune opération supplémentaire sur la demande de volume persistant ou la volume persistant pour le cycle de vie des objets. Trident ignore les événements PV et PVC pour --no-manage Objets, le volume de stockage n’est pas supprimé lors de la suppression du volume persistant. D’autres opérations, telles que le clone de volume et le redimensionnement des volumes, sont également ignorées. Cette option est utile si vous souhaitez utiliser Kubernetes pour des workloads conteneurisés, mais que vous souhaitez gérer le cycle de vie du volume de stockage en dehors de Kubernetes.

Une annotation est ajoutée pour la demande de volume persistant et la volume persistant, qui servent un double objectif : indiquer l’importation du volume et gérer la demande de volume persistant. Cette annotation ne doit pas être modifiée ni supprimée.

Trident 19.07 et les versions ultérieures traitent la pièce jointe des volumes persistants et monte le volume dans le cadre de son importation. Pour les importations utilisant les versions antérieures d’Astra Trident, il n’y aura aucune opération dans le chemin d’accès aux données et l’importation de volume ne vérifiera pas si le volume peut être monté. En cas d’erreur lors de l’importation de volumes (par exemple, la classe de stockage n’est pas correcte), vous pouvez effectuer une restauration en changeant la règle de récupération du volume persistant à retain, Suppression de la demande de volume persistant et nouvelle tentative de la commande d’importation du volume.

ontap-nas et ontap-nas-flexgroup importations

Chaque volume créé avec le ontap-nas Le pilote est un FlexVol sur le cluster ONTAP. Importation de volumes FlexVol avec ontap-nas le pilote fonctionne de la même manière. Une FlexVol qui existe déjà sur un cluster ONTAP peut être importée en tant que ontap-nas PVC. De même, les volumes FlexGroup peuvent être importés en tant que ontap-nas-flexgroup ESV.

Important Pour être importé par Trident, un volume ONTAP doit être de type rw. Si un volume est de type dp, il s’agit d’un volume de destination SnapMirror ; vous devez rompre la relation du miroir avant d’importer le volume dans Trident.
Important Le ontap-nas le pilote ne peut pas importer et gérer les qtrees. Le ontap-nas et ontap-nas-flexgroup les pilotes n’autorisent pas les noms de volumes dupliqués.

Par exemple, pour importer un volume nommé managed_volume sur un système back-end nommé ontap_nas, utilisez la commande suivante :

$ tridentctl import volume ontap_nas managed_volume -f <path-to-pvc-file>

+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
| pvc-bf5ad463-afbb-11e9-8d9f-5254004dfdb7 | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true    |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+

Pour importer un volume nommé unmanaged_volume (sur le ontap_nas backend), que Trident ne gère pas, utilisez la commande suivante :

$ tridentctl import volume nas_blog unmanaged_volume -f <path-to-pvc-file> --no-manage

+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
| pvc-df07d542-afbc-11e9-8d9f-5254004dfdb7 | 1.0 GiB | standard      | file     | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | false   |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+

Lorsque vous utilisez le --no-manage Argument, Trident ne renomme pas le volume ni ne valide si le volume a été monté. L’opération d’importation du volume échoue si le volume n’a pas été monté manuellement.

Remarque Un bogue existant précédemment avec l’importation de volumes avec Unixpermissions personnalisées a été corrigé. Vous pouvez spécifier unixpermissions dans votre définition de PVC ou configuration back-end et demander à Astra Trident d’importer le volume en conséquence.

ontap-san importer

Astra Trident peut également importer des volumes FlexVol SAN de ONTAP contenant un seul LUN. Ceci est cohérent avec le ontap-san Pilote, qui crée un FlexVol pour chaque demande de volume persistant et une LUN au sein de la FlexVol. Vous pouvez utiliser le tridentctl import commande de la même manière que dans les autres cas :

  • Inclure le nom du ontap-san back-end.

  • Indiquez le nom de la FlexVol à importer. N’oubliez pas que cette FlexVol ne contient qu’une seule LUN qui doit être importée.

  • Fournir le chemin de la définition de PVC qui doit être utilisée avec le -f drapeau.

  • Vous avez le choix entre gérer ou non le volume persistant. Par défaut, Trident gère le volume de volume persistant et renomme la FlexVol et la LUN en back-end. Pour importer en tant que volume non géré, passez le --no-manage drapeau.

Astuce Lors de l’importation d’un non géré ontap-san Volume, vérifiez que la LUN de la FlexVol est nommée lun0 et est mappée sur un groupe initiateur avec les initiateurs souhaités. Astra Trident le gère automatiquement pour une importation gérée.

Astra Trident va ensuite importer le FlexVol et l’associer à la définition de la demande de volume persistant. Astra Trident renomme également le FlexVol avec le pvc-<uuid> Formatez et la LUN au sein du FlexVol à lun0.

Astuce Il est recommandé d’importer des volumes qui n’ont pas de connexions actives existantes. Pour importer un volume activement utilisé, commencez par cloner le volume, puis procédez à l’importation.

Exemple

Pour importer ontap-san-managed FlexVol présent sur le ontap_san_default back-end, exécutez le tridentctl import sous forme de commande :

$ tridentctl import volume ontapsan_san_default ontap-san-managed -f pvc-basic-import.yaml -n trident -d

+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE  | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
| pvc-d6ee4f54-4e40-4454-92fd-d00fc228d74a | 20 MiB | basic         | block    | cd394786-ddd5-4470-adc3-10c5ce4ca757 | online | true    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Important Pour être importé par Astra Trident, un volume ONTAP doit être de type rw. Si un volume est de type dp, il s’agit d’un volume de destination SnapMirror. Vous devez rompre la relation du miroir avant d’importer le volume dans Astra Trident.

element importer

Vous pouvez importer le logiciel NetApp Element/les volumes NetApp HCI dans votre cluster Kubernetes avec Trident. Vous avez besoin du nom de votre back-end Astra Trident, ainsi que du nom unique du volume et du fichier PVC comme arguments pour le tridentctl import commande.

$ tridentctl import volume element_default element-managed -f pvc-basic-import.yaml -n trident -d

+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE  | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
| pvc-970ce1ca-2096-4ecd-8545-ac7edc24a8fe | 10 GiB | basic-element | block    | d3ba047a-ea0b-43f9-9c42-e38e58301c49 | online | true    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Remarque Le pilote d’élément prend en charge les noms de volume dupliqués. S’il existe des noms de volume dupliqués, le processus d’importation de volume de Trident renvoie une erreur. Pour contourner ce problème, clonez le volume et fournissez un nom de volume unique. Importez ensuite le volume cloné.

gcp-cvs importer

Astuce Pour importer un volume sauvegardé par NetApp Cloud Volumes Service dans GCP, identifiez le volume par son chemin d’accès au volume et non son nom.

Pour importer un gcp-cvs volume sur le back-end appelé gcpcvs_YEppr avec le chemin de volume de adroit-jolly-swift, utilisez la commande suivante :

$ tridentctl import volume gcpcvs_YEppr adroit-jolly-swift -f <path-to-pvc-file> -n trident

+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE  | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
| pvc-a46ccab7-44aa-4433-94b1-e47fc8c0fa55 | 93 GiB | gcp-storage   | file     | e1a6e65b-299e-4568-ad05-4f0a105c888f | online | true    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Remarque Le chemin du volume correspond à la partie du chemin d’exportation du volume après :/. Par exemple, si le chemin d’exportation est 10.0.0.1:/adroit-jolly-swift, le chemin du volume est adroit-jolly-swift.

azure-netapp-files importer

Pour importer un azure-netapp-files volume sur le back-end appelé azurenetappfiles_40517 avec le chemin de volume importvol1, exécutez la commande suivante :

$ tridentctl import volume azurenetappfiles_40517 importvol1 -f <path-to-pvc-file> -n trident

+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|                   NAME                   |  SIZE   | STORAGE CLASS | PROTOCOL |             BACKEND UUID             | STATE  | MANAGED |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
| pvc-0ee95d60-fd5c-448d-b505-b72901b3a4ab | 100 GiB | anf-storage   | file     | 1c01274f-d94b-44a3-98a3-04c953c9a51e | online | true    |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
Remarque Le chemin de volume du volume ANF est présent dans le chemin de montage après :/. Par exemple, si le chemin de montage est 10.0.0.2:/importvol1, le chemin du volume est importvol1.