Importer des volumes
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 |
---|---|
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
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.
|
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. |
|
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.
|
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.
|
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
.
|
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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|
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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|
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é. |
aws-cvs
importer
|
Pour importer un volume sauvegardé par NetApp Cloud Volumes Service dans AWS, identifiez le volume par son chemin d’accès au volume et non son nom. |
Pour importer un aws-cvs
volume sur le back-end appelé awscvs_YEppr
avec le chemin de volume de adroit-jolly-swift
, utilisez la commande suivante :
$ tridentctl import volume awscvs_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 | aws-storage | file | e1a6e65b-299e-4568-ad05-4f0a105c888f | online | true | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
|
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 .
|
gcp-cvs
importer
Importation d’un gcp-cvs
le volume fonctionne de la même manière que l’importation d’un aws-cvs
volumétrie.
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 | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
|
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 .
|