Importer des volumes
Vous pouvez importer des volumes de stockage existants en tant que volume persistant Kubernetes à l'aide de tridentctl import
.
Présentation et considérations
Vous pouvez importer un volume dans Astra Trident et :
-
Conteneurisation d'une application et réutilisation de son jeu de données existant
-
Utilisez un clone d'un jeu de données pour une application éphémère
-
Reconstruction d'un cluster Kubernetes en panne
-
Migration des données applicatives pendant la reprise après incident
Avant d'importer un volume, consultez les considérations suivantes.
-
ASTRA Trident peut importer des volumes ONTAP de type RW (lecture-écriture) uniquement. Les volumes de type DP (protection des données) sont des volumes de destination SnapMirror. Vous devez rompre la relation de miroir avant d'importer le volume dans Astra Trident.
-
Nous vous suggérons d'importer des volumes sans connexions actives. Pour importer un volume activement utilisé, clonez-le, puis effectuez l'importation.
C'est particulièrement important pour les volumes en mode bloc, car Kubernetes ignorerait la connexion précédente et pourrait facilement relier un volume actif à un pod. Cela peut entraîner une corruption des données. -
Bien qu' `StorageClass`il doive être spécifié sur une demande de volume persistant, Astra Trident n'utilise pas ce paramètre lors de l'importation. Les classes de stockage sont utilisées lors de la création du volume pour sélectionner un pool disponible en fonction des caractéristiques de stockage. Comme le volume existe déjà, aucune sélection de pool n'est requise pendant l'importation. Par conséquent, l'importation n'échouera pas même si le volume existe sur un back-end ou un pool qui ne correspond pas à la classe de stockage spécifiée dans le PVC.
-
La taille du volume existant est déterminée et définie dans la PVC. 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 le volume persistant. 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é lors de la suppression du volume persistant.
-
-
Par défaut, Astra Trident gère la demande de volume persistant et renomme le FlexVol et le LUN sur le back-end. Vous pouvez passer
--no-manage
l'indicateur pour importer un volume non géré. Si vous utilisez--no-manage
, Astra Trident n'exécute aucune opération supplémentaire sur la demande de volume persistant ou le volume persistant pour le cycle de vie des objets. Le volume de stockage n'est pas supprimé lorsque le volume persistant est supprimé et d'autres opérations telles que le clone de volume et le redimensionnement de volume 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.
Importer un volume
Vous pouvez utiliser tridentctl import
pour importer un volume.
-
Créez le fichier de demande de volume persistant (PVC) (par exemple ) qui sera utilisé pour créer la demande de volume persistant
pvc.yaml
. Le fichier PVC doit inclurename
,namespace
,accessModes
etstorageClassName
. Vous pouvez également spécifierunixPermissions
dans votre définition de PVC.Voici un exemple de spécification minimale :
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: my_claim namespace: my_namespace spec: accessModes: - ReadWriteOnce storageClassName: my_storage_class
N'incluez pas de paramètres supplémentaires tels que le nom du volume persistant ou la taille du volume. Cela peut entraîner l'échec de la commande d'importation. -
Utilisez
tridentctl import
la commande pour spécifier le nom du back-end Astra Trident contenant le volume et le nom qui identifie de manière unique le volume sur le stockage (par exemple : ONTAP FlexVol, Element Volume, chemin Cloud Volumes Service). L' `-f`argument est requis pour spécifier le chemin d'accès au fichier PVC.tridentctl import volume <backendName> <volumeName> -f <path-to-pvc-file>
Exemples
Consultez les exemples d'importation de volume suivants pour les pilotes pris en charge.
NAS ONTAP et FlexGroup NAS ONTAP
ASTRA Trident prend en charge l'importation de volumes à l'aide des ontap-nas
pilotes et ontap-nas-flexgroup
.
|
Chaque volume créé avec le ontap-nas
pilote est un FlexVol sur le cluster ONTAP. L'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
demande de volume persistant. De même, les volumes FlexGroup peuvent être importés en tant que ontap-nas-flexgroup
ESV.
Voici un exemple d'importation de volume géré et de volume non géré.
L'exemple suivant importe un volume nommé managed_volume
sur un back-end nommé ontap_nas
:
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 | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
Lors de l'utilisation de l' `--no-manage`argument, Astra Trident ne renomme pas le volume.
L'exemple suivant importe unmanaged_volume
sur le ontap_nas
back-end :
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 | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
SAN ONTAP
ASTRA Trident prend en charge l'importation de volume à l'aide du ontap-san
pilote. L'importation de volume n'est pas prise en charge à l'aide du ontap-san-economy
pilote.
ASTRA Trident peut importer des volumes ONTAP SAN FlexVols qui contiennent un LUN unique. Cela est cohérent avec le ontap-san
pilote, qui crée une FlexVol pour chaque demande de volume persistant et une LUN au sein de la FlexVol. ASTRA Trident importe le FlexVol et l'associe à la définition de l'ESV.
Voici un exemple d'importation de volume géré et de volume non géré.
Pour les volumes gérés, Astra Trident renomme le FlexVol au pvc-<uuid>
format et le LUN dans le FlexVol à lun0
.
L'exemple suivant importe le ontap-san-managed
FlexVol présent sur le ontap_san_default
back-end :
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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
L'exemple suivant importe unmanaged_example_volume
sur le ontap_san
back-end :
tridentctl import volume -n trident san_blog unmanaged_example_volume -f pvc-import.yaml --no-manage +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | pvc-1fc999c9-ce8c-459c-82e4-ed4380a4b228 | 1.0 GiB | san-blog | block | e3275890-7d80-4af6-90cc-c7a0759f555a | online | false | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
Si des LUN sont mappées à des igroups qui partagent un IQN avec un IQN de nœud Kubernetes, comme illustré dans l'exemple suivant, vous recevrez l'erreur : LUN already mapped to initiator(s) in this group
. Vous devez supprimer l'initiateur ou annuler le mappage de la LUN pour importer le volume.
Elément
ASTRA Trident prend en charge le logiciel NetApp Element et l'importation de volumes NetApp HCI à l'aide du solidfire-san
pilote.
Le pilote d'élément prend en charge les noms de volume dupliqués. Toutefois, Astra Trident renvoie une erreur si des noms de volumes sont dupliqués. Pour contourner ce problème, clonez le volume, indiquez un nom de volume unique et importez le volume cloné. |
L'exemple suivant importe un element-managed
volume sur le back-end element_default
.
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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Google Cloud Platform
ASTRA Trident prend en charge l'importation de volume à l'aide du gcp-cvs
pilote.
Pour importer un volume soutenu par NetApp Cloud Volumes Service dans Google Cloud Platform, identifiez le volume par son chemin d'accès au volume. Le chemin du volume est 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 .
|
L'exemple suivant importe un gcp-cvs
volume sur le back-end gcpcvs_YEppr
avec le chemin du volume de adroit-jolly-swift
.
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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Azure NetApp Files
ASTRA Trident prend en charge l'importation de volume à l'aide du azure-netapp-files
pilote.
Pour importer un volume Azure NetApp Files, identifiez-le par son chemin d'accès au volume. Le chemin du volume est la partie du chemin d'exportation du volume après :/ . Par exemple, si le chemin de montage est 10.0.0.2:/importvol1 , le chemin du volume est importvol1 .
|
L'exemple suivant importe un azure-netapp-files
volume sur le back-end azurenetappfiles_40517
avec le chemin du volume importvol1
.
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 | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+