Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Importar volumes

Colaboradores

Você pode importar volumes de armazenamento existentes como um PV do Kubernetes usando `tridentctl import`o .

Drivers que suportam importação de volume

Esta tabela mostra os drivers que suportam a importação de volumes e a versão em que foram introduzidos.

Condutor Solte

ontap-nas

19,04

ontap-nas-flexgroup

19,04

solidfire-san

19,04

aws-cvs

19,04

azure-netapp-files

19,04

gcp-cvs

19,04

ontap-san

19,04

Por que devo importar volumes?

Existem vários casos de uso para importar um volume para o Trident:

  • Conteinerizar um aplicativo e reutilizar seu conjunto de dados existente

  • Usando um clone de um conjunto de dados para uma aplicação efêmera

  • Reconstruindo um cluster do Kubernetes com falha

  • Migração de dados de aplicativos durante a recuperação de desastres

Como funciona a importação?

O arquivo PVC (Persistent volume Claim) é usado pelo processo de importação de volume para criar o PVC. No mínimo, o arquivo PVC deve incluir os campos nome, namespace, accessModes e storageClassName como mostrado no exemplo a seguir.

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

O tridentctl cliente é usado para importar um volume de armazenamento existente. O Trident importa o volume persistindo metadados de volume e criando o PVC e o PV.

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

Para importar um volume de storage, especifique o nome do back-end do Astra Trident que contém o volume, bem como o nome que identifica exclusivamente o volume no storage (por exemplo: ONTAP FlexVol, Element volume, caminho de volume CVS). O volume de storage deve permitir acesso de leitura/gravação e ser acessível pelo back-end especificado do Astra Trident. O -f argumento string é necessário e especifica o caminho para o arquivo PVC YAML ou JSON.

Quando o Astra Trident recebe a solicitação de volume de importação, o tamanho do volume existente é determinado e definido no PVC. Depois que o volume é importado pelo driver de armazenamento, o PV é criado com uma ClaimRef para o PVC. A política de recuperação é inicialmente definida como retain no PV. Depois que o Kubernetes vincula com êxito o PVC e o PV, a política de recuperação é atualizada para corresponder à política de recuperação da Classe de armazenamento. Se a política de recuperação da Classe de armazenamento for delete, o volume de armazenamento será excluído quando o PV for excluído.

Quando um volume é importado com o --no-manage argumento, o Trident não executa nenhuma operação adicional no PVC ou PV para o ciclo de vida dos objetos. Como o Trident ignora eventos PV e PVC para --no-manage objetos, o volume de armazenamento não é excluído quando o PV é excluído. Outras operações, como clone de volume e redimensionamento de volume, também são ignoradas. Essa opção é útil se você quiser usar o Kubernetes para workloads em contêineres, mas de outra forma quiser gerenciar o ciclo de vida do volume de storage fora do Kubernetes.

Uma anotação é adicionada ao PVC e ao PV que serve para um duplo propósito de indicar que o volume foi importado e se o PVC e o PV são gerenciados. Esta anotação não deve ser modificada ou removida.

O Trident 19,07 e posterior lidam com a fixação de PVS e monta o volume como parte da importação. Para importações usando versões anteriores do Astra Trident, não haverá nenhuma operação no caminho de dados e a importação de volume não verificará se o volume pode ser montado. Se um erro for cometido com a importação de volume (por exemplo, o StorageClass está incorreto), você poderá recuperar alterando a política de recuperação no PV para retain, excluindo o PVC e o PV e tentando novamente o comando de importação de volume.

ontap-nas e ontap-nas-flexgroup importações

Cada volume criado com o ontap-nas driver é um FlexVol no cluster do ONTAP. A importação do FlexVols com o ontap-nas driver funciona da mesma forma. Um FlexVol que já existe em um cluster ONTAP pode ser importado como ontap-nas PVC. Da mesma forma, os vols FlexGroup podem ser importados como ontap-nas-flexgroup PVCs.

Importante Um volume ONTAP deve ser do tipo rw a ser importado pelo Trident. Se um volume for do tipo dp, é um volume de destino SnapMirror; você deve quebrar a relação de espelhamento antes de importar o volume para o Trident.
Importante O ontap-nas driver não pode importar e gerenciar qtrees. Os ontap-nas drivers e ontap-nas-flexgroup não permitem nomes de volume duplicados.

Por exemplo, para importar um volume nomeado managed_volume em um backend ontap_nas chamado , use o seguinte 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 um volume chamado unmanaged_volume (no ontap_nas backend), que o Trident não gerenciará, use o seguinte 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   |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+

Ao usar o --no-manage argumento, o Trident não renomeará o volume nem validará se o volume foi montado. A operação de importação de volume falha se o volume não tiver sido montado manualmente.

Observação Um bug existente anteriormente com a importação de volumes com UnixPermissions personalizados foi corrigido. Você pode especificar unixPermissions em sua definição de PVC ou configuração de back-end e instruir o Astra Trident a importar o volume de acordo.

ontap-san importar

O Astra Trident também pode importar ONTAP SAN FlexVols que contenham um único LUN. Isso é consistente com o ontap-san driver, que cria um FlexVol para cada PVC e um LUN dentro do FlexVol. Você pode usar o tridentctl import comando da mesma forma que em outros casos:

  • Inclua o nome ontap-san do backend.

  • Forneça o nome do FlexVol que precisa ser importado. Lembre-se, este FlexVol contém apenas um LUN que deve ser importado.

  • Fornecer o caminho da definição de PVC que deve ser usado com a -f bandeira.

  • Escolha entre ter o PVC gerenciado ou não gerenciado. Por padrão, o Trident gerenciará o PVC e renomeará o FlexVol e o LUN no back-end. Para importar como um volume não gerenciado, passe o --no-manage sinalizador.

Dica Ao importar um volume não gerenciado ontap-san, você deve certificar-se de que o LUN no FlexVol é nomeado lun0 e é mapeado para um grupo com os iniciadores desejados. O Astra Trident trata isso automaticamente para uma importação gerenciada.

O Astra Trident irá então importar o FlexVol e associá-lo à definição de PVC. O Astra Trident também renomeia o FlexVol para pvc-<uuid> o formato e o LUN dentro do FlexVol para lun0.

Dica Recomenda-se importar volumes que não tenham conexões ativas existentes. Se você deseja importar um volume usado ativamente, clonar primeiro o volume e, em seguida, fazer a importação.

Exemplo

Para importar o ontap-san-managed FlexVol que está presente no ontap_san_default back-end, execute o 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 Um volume ONTAP deve ser do tipo rw para ser importado pelo Astra Trident. Se um volume for do tipo dp, é um volume de destino do SnapMirror; você deve quebrar a relação de espelhamento antes de importar o volume para o Astra Trident.

element importar

É possível importar o software NetApp Element/NetApp HCI volumes para o cluster do Kubernetes com o Trident. Você precisa do nome do seu back-end Astra Trident e do nome exclusivo do volume e do arquivo PVC como argumentos para o 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    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Observação O driver Element suporta nomes de volume duplicados. Se houver nomes de volume duplicados, o processo de importação de volume do Trident retornará um erro. Como solução alternativa, clone o volume e forneça um nome de volume exclusivo. Em seguida, importe o volume clonado.

aws-cvs importar

Dica Para importar um volume suportado pelo NetApp Cloud Volumes Service na AWS, identifique o volume pelo caminho do volume em vez de seu nome.

Para importar um aws-cvs volume no back-end chamado awscvs_YEppr com o caminho de volume adroit-jolly-swift do , use o seguinte comando:

$ 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    |
+------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Observação O caminho do volume é a parte do caminho de exportação do volume após :/. Por exemplo, se o caminho de exportação for 10.0.0.1:/adroit-jolly-swift, o caminho do volume será adroit-jolly-swift.

gcp-cvs importar

Importar um gcp-cvs volume funciona da mesma forma que importar um aws-cvs volume.

azure-netapp-files importar

Para importar um azure-netapp-files volume no back-end chamado azurenetappfiles_40517 com o caminho do volume importvol1 , execute o seguinte 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    |
+------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
Observação O caminho de volume para o volume do ANF está presente no caminho de montagem após :/. Por exemplo, se o caminho de montagem for 10.0.0.2:/importvol1, o caminho do volume será importvol1.