Importar volúmenes
Es posible importar volúmenes de almacenamiento existentes como un VP de Kubernetes mediante tridentctl import
.
Controladores que admiten la importación de volúmenes
En esta tabla se muestran los controladores que admiten la importación de volúmenes y la versión en la que se introdujeron.
Controlador | Liberar |
---|---|
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
¿Por qué debo importar volúmenes?
Existen varios casos de uso para importar un volumen en Trident:
-
Contenerización de una aplicación y reutilización del conjunto de datos existente
-
Usar un clon de un conjunto de datos para una aplicación efímera
-
Reconstruir un clúster de Kubernetes con fallos
-
Migración de datos de aplicaciones durante la recuperación tras siniestros
¿Cómo funciona la importación?
El proceso de importación de volúmenes utiliza el archivo de solicitud de volumen persistente (PVC) para crear la RVP. Como mínimo, el archivo PVC debe incluir los campos name, Namespace, accessModes y storageClassName como se muestra en el ejemplo siguiente.
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: my_claim namespace: my_namespace spec: accessModes: - ReadWriteOnce storageClassName: my_storage_class
La tridentctl
el cliente se utiliza para importar un volumen de almacenamiento existente. Trident importa el volumen persiste en los metadatos del volumen y crea la RVP y el VP.
$ tridentctl import volume <backendName> <volumeName> -f <path-to-pvc-file>
Para importar un volumen de almacenamiento, especifique el nombre del back-end de Astra Trident que contiene el volumen, y el nombre que identifica de forma única el volumen en el almacenamiento (por ejemplo: ONTAP FlexVol, Element Volume, CVS Volume path). El volumen de almacenamiento debe permitir el acceso de lectura/escritura y debe ser accesible desde el back-end de Astra Trident especificado. La -f
El argumento String es necesario y especifica la ruta al archivo YLMA o PVC JSON.
Cuando Astra Trident recibe la solicitud de importación de volumen, se determina el tamaño de volumen existente y se establece en la RVP. Una vez que el controlador de almacenamiento importa el volumen, se crea el PV con un ClaimRef al PVC. La política de reclamaciones se establece inicialmente en retain
En el PV. Una vez que Kubernetes enlaza correctamente la RVP y el VP, se actualiza la política de reclamaciones para que coincida con la política de reclamaciones de la clase de almacenamiento. Si la política de reclamaciones de la clase de almacenamiento es delete
, El volumen de almacenamiento se eliminará cuando se elimine el PV.
Cuando se importa un volumen con --no-manage
Argumento, Trident no realiza ninguna operación adicional en la RVP o el VP durante el ciclo de vida de los objetos. Dado que Trident ignora los eventos VP y RVP para --no-manage
Los objetos, el volumen de almacenamiento no se elimina cuando se elimina el VP. También se ignoran otras operaciones como el clon de volumen y el cambio de tamaño de volumen. Esta opción es útil si desea usar Kubernetes para cargas de trabajo en contenedores, pero de lo contrario desea gestionar el ciclo de vida del volumen de almacenamiento fuera de Kubernetes.
Se agrega una anotación a la RVP y al VP que tiene el doble propósito de indicar que el volumen se importó y si se administran la PVC y la VP. Esta anotación no debe modificarse ni eliminarse.
Trident 19.07 y versiones posteriores gestionan el adjunto de los VP y monta el volumen como parte de la importación. Para las importaciones con versiones anteriores de Astra Trident, no habrá ninguna operación en la ruta de datos y la importación de volúmenes no verificará si es posible montar el volumen. Si se produce un error con la importación de volumen (por ejemplo, StorageClass es incorrecto), puede recuperar cambiando la política de reclamación en el VP a. retain
, Eliminando el PVC y el VP y volviendo a intentar el comando de importación de volumen.
ontap-nas
y.. ontap-nas-flexgroup
importaciones
Cada volumen creado con ontap-nas
Driver es una FlexVol en el clúster de ONTAP. Importación de FlexVols con ontap-nas
el controlador funciona igual. Una FlexVol que ya existe en un clúster de ONTAP se puede importar como ontap-nas
RVP. Del mismo modo, los volúmenes FlexGroup se pueden importar del mismo modo ontap-nas-flexgroup
EVs.
Un volumen de ONTAP debe ser del tipo rw que haya que importar Trident. Si un volumen es del tipo dp, es un volumen de destino de SnapMirror, se debe interrumpir la relación de mirroring antes de importar el volumen a Trident. |
La ontap-nas el controlador no puede importar y gestionar qtrees. La ontap-nas y.. ontap-nas-flexgroup las controladoras no permiten nombres de volúmenes duplicados.
|
Por ejemplo, para importar un volumen llamado managed_volume
en un backend llamado ontap_nas
, utilice el siguiente comando:
$ 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 | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
Para importar un volumen denominado unmanaged_volume
(en la ontap_nas backend
), que Trident no administrará, utilice el siguiente comando:
$ 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 | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
Cuando utilice la --no-manage
Argumento, Trident no cambia el nombre del volumen ni se valida si se montó el volumen. Se produce un error en la operación de importación de volumen si el volumen no se montó manualmente.
Se ha solucionado un error existente con la importación de volúmenes con UnixPermissions personalizado. Puede especificar unixPermissions en la definición de PVC o en la configuración de back-end, e indicar a Astra Trident que importe el volumen según corresponda. |
ontap-san
importar
Astra Trident también puede importar SAN FlexVols de ONTAP que contienen una única LUN. Esto es consistente con ontap-san
Controlador, que crea una FlexVol para cada RVP y una LUN dentro del FlexVol. Puede utilizar el tridentctl import
comando de la misma forma que en otros casos:
-
Incluya el nombre del
ontap-san
back-end. -
Escriba el nombre de la FlexVol que se debe importar. Recuerde, esta FlexVol solo contiene una LUN que es necesario importar.
-
Proporcione la ruta de la definición de PVC que debe utilizarse con el
-f
bandera. -
Elija entre administrar o no administrar el PVC. De forma predeterminada, Trident gestionará la RVP y cambiará el nombre de los FlexVol y LUN en el back-end. Para importar como volumen no administrado, pase el
--no-manage
bandera.
Al importar un no administrado ontap-san Volumen, debe asegurarse de que el nombre de la LUN de la FlexVol sea lun0 y se asigna a un igroup con los iniciadores deseados. Astra Trident se encarga automáticamente de esto en una importación gestionada.
|
A continuación, Astra Trident importará el FlexVol y lo asociará con la definición de PVC. Astra Trident también cambia el nombre de FlexVol al pvc-<uuid>
Formatear y la LUN dentro de la FlexVol a. lun0
.
Se recomienda importar volúmenes que no tengan conexiones activas existentes. Si desea importar un volumen que está utilizado activamente, Clone el volumen primero y, a continuación, realice la importación. |
Ejemplo
Para importar la ontap-san-managed
FlexVol que está presente en el ontap_san_default
back-end, ejecute el tridentctl import
comando como:
$ 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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Un volumen ONTAP debe ser del tipo rw que importe Astra Trident. Si un volumen es del tipo dp, es un volumen de destino de SnapMirror, se debe interrumpir la relación de mirroring antes de importar el volumen a Astra Trident. |
element
importar
Es posible importar el software NetApp Element/volúmenes de HCI de NetApp en el clúster de Kubernetes con Trident. Necesita el nombre de su entorno de administración Astra Trident, y el nombre único del volumen y el archivo PVC como argumentos para tridentctl import
comando.
$ 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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
El controlador Element admite los nombres de volúmenes duplicados. Si hay nombres de volúmenes duplicados, el proceso de importación de volúmenes de Trident devuelve un error. Como solución alternativa, Clone el volumen y proporcione un nombre de volumen único. A continuación, importe el volumen clonado. |
gcp-cvs
importar
Para importar un volumen respaldado por Cloud Volumes Service de NetApp en GCP, identifique el volumen según su ruta de volumen en lugar de su nombre. |
Para importar una gcp-cvs
volumen en el backend llamado gcpcvs_YEppr
con la ruta del volumen de adroit-jolly-swift
, utilice el siguiente comando:
$ 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 | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
La ruta del volumen es la parte de la ruta de exportación del volumen después de :/. Por ejemplo, si la ruta de exportación es 10.0.0.1:/adroit-jolly-swift , la ruta de volumen es adroit-jolly-swift .
|
azure-netapp-files
importar
Para importar una azure-netapp-files
volumen en el backend llamado azurenetappfiles_40517
con la ruta del volumen importvol1
, ejecute el siguiente comando:
$ 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 | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
La ruta de volumen para el volumen ANF está presente en la ruta de montaje después de :/. Por ejemplo, si la ruta de montaje es 10.0.0.2:/importvol1 , la ruta de volumen es importvol1 .
|