Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Importar volúmenes

Colaboradores

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

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

¿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.

Importante 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.
Importante 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.

Nota 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.

Consejo 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.

Consejo 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    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Importante 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    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Nota 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

Consejo 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    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Nota 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    |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
Nota 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.