Skip to main content
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.

Proteja aplicativos usando o Trident Protect.

Colaboradores netapp-aruldeepa

Você pode proteger todos os aplicativos gerenciados pelo Trident Protect criando snapshots e backups usando uma política de proteção automatizada ou de forma pontual.

Observação Você pode configurar o Trident Protect para congelar e descongelar sistemas de arquivos durante operações de proteção de dados. "Saiba mais sobre como configurar o congelamento do sistema de arquivos com o Trident Protect.".

Criar um instantâneo sob demanda

Você pode criar um instantâneo sob demanda a qualquer momento.

Observação Os recursos com escopo de cluster são incluídos em um backup, snapshot ou clone se forem explicitamente referenciados na definição do aplicativo ou se tiverem referências a qualquer um dos namespaces do aplicativo.
Criar um instantâneo usando um CR
Passos
  1. Crie o arquivo de recurso personalizado (CR) e dê um nome a ele. trident-protect-snapshot-cr.yaml .

  2. No arquivo que você criou, configure os seguintes atributos:

    • metadata.name: (Obrigatório) O nome deste recurso personalizado; escolha um nome único e adequado ao seu ambiente.

    • spec.applicationRef: O nome do aplicativo no Kubernetes a ser criado a partir do snapshot.

    • spec.appVaultRef: (Obrigatório) O nome do AppVault onde o conteúdo do snapshot (metadados) deve ser armazenado.

    • spec.reclaimPolicy: (Opcional) Define o que acontece com o AppArchive de um snapshot quando o CR do snapshot é excluído. Isso significa que mesmo quando configurado para Retain , o instantâneo será excluído. Opções válidas:

      • Retain(padrão)

      • Delete

        ---
        apiVersion: protect.trident.netapp.io/v1
        kind: Snapshot
        metadata:
          namespace: my-app-namespace
          name: my-cr-name
        spec:
          applicationRef: my-application
          appVaultRef: appvault-name
          reclaimPolicy: Delete
  3. Depois de preencher o trident-protect-snapshot-cr.yaml Arquivo com os valores corretos, aplique o CR:

    kubectl apply -f trident-protect-snapshot-cr.yaml
Crie um instantâneo usando a CLI
Passos
  1. Crie o instantâneo, substituindo os valores entre colchetes pelas informações do seu ambiente. Por exemplo:

    tridentctl-protect create snapshot <my_snapshot_name> --appvault <my_appvault_name> --app <name_of_app_to_snapshot> -n <application_namespace>

Crie um backup sob demanda

Você pode fazer backup de um aplicativo a qualquer momento.

Observação Os recursos com escopo de cluster são incluídos em um backup, snapshot ou clone se forem explicitamente referenciados na definição do aplicativo ou se tiverem referências a qualquer um dos namespaces do aplicativo.
Antes de começar

Certifique-se de que o tempo de expiração do token de sessão da AWS seja suficiente para quaisquer operações de backup do S3 de longa duração. Se o token expirar durante a operação de backup, a operação poderá falhar.

Crie um backup usando um CR
Passos
  1. Crie o arquivo de recurso personalizado (CR) e dê um nome a ele. trident-protect-backup-cr.yaml .

  2. No arquivo que você criou, configure os seguintes atributos:

    • metadata.name: (Obrigatório) O nome deste recurso personalizado; escolha um nome único e adequado ao seu ambiente.

    • spec.applicationRef: (Obrigatório) O nome do aplicativo no Kubernetes para o qual deseja fazer backup.

    • spec.appVaultRef: (Obrigatório) O nome do AppVault onde o conteúdo do backup deve ser armazenado.

    • spec.dataMover: (Opcional) Uma string indicando qual ferramenta de backup usar para a operação de backup. Valores possíveis (diferencia maiúsculas de minúsculas):

      • Restic

      • Kopia(padrão)

    • spec.reclaimPolicy: (Opcional) Define o que acontece com um backup quando ele é liberado de sua reivindicação. Valores possíveis:

      • Delete

      • Retain(padrão)

    • spec.snapshotRef: (Opcional): Nome do snapshot a ser usado como fonte do backup. Caso não seja fornecida, será criada e armazenada uma cópia de segurança temporária.

    • metadata.annotations.protect.trident.netapp.io/full-backup : (Opcional) Esta anotação é usada para especificar se um backup deve ser não incremental. Por padrão, todos os backups são incrementais. No entanto, se esta anotação estiver definida como true , o backup deixa de ser incremental. Caso não seja especificado, o backup seguirá a configuração padrão de backup incremental. A melhor prática é realizar um backup completo periodicamente e, em seguida, realizar backups incrementais entre os backups completos para minimizar o risco associado às restaurações.

      Exemplo de YAML:

    ---
    apiVersion: protect.trident.netapp.io/v1
    kind: Backup
    metadata:
      namespace: my-app-namespace
      name: my-cr-name
      annotations:
        protect.trident.netapp.io/full-backup: "true"
    spec:
      applicationRef: my-application
      appVaultRef: appvault-name
      dataMover: Kopia
  3. Depois de preencher o trident-protect-backup-cr.yaml Arquivo com os valores corretos, aplique o CR:

    kubectl apply -f trident-protect-backup-cr.yaml
Crie um backup usando a CLI
Passos
  1. Crie o backup, substituindo os valores entre colchetes pelas informações do seu ambiente. Por exemplo:

    tridentctl-protect create backup <my_backup_name> --appvault <my-vault-name> --app <name_of_app_to_back_up> --data-mover <Kopia_or_Restic> -n <application_namespace>

    Você pode usar opcionalmente o --full-backup Sinalizador para especificar se um backup deve ser não incremental. Por padrão, todos os backups são incrementais. Quando essa opção é usada, o backup deixa de ser incremental. A melhor prática é realizar um backup completo periodicamente e, em seguida, realizar backups incrementais entre os backups completos para minimizar o risco associado às restaurações.

Crie um cronograma de proteção de dados

Uma política de proteção protege um aplicativo criando instantâneos, backups ou ambos em um cronograma definido. Você pode optar por criar snapshots e backups por hora, dia, semana e mês, e pode especificar o número de cópias a serem mantidas. Você pode agendar um backup completo não incremental usando a anotação full-backup-rule. Por padrão, todos os backups são incrementais. Executar um backup completo periodicamente, juntamente com backups incrementais entre eles, ajuda a reduzir o risco associado às restaurações.

Observação
  • Você pode criar agendamentos para snapshots somente configurando backupRetention para zero e snapshotRetention para um valor maior que zero. Contexto snapshotRetention Definir como zero significa que quaisquer backups agendados ainda criarão snapshots, mas estes serão temporários e excluídos imediatamente após a conclusão do backup.

  • Os recursos com escopo de cluster são incluídos em um backup, snapshot ou clone se forem explicitamente referenciados na definição do aplicativo ou se tiverem referências a qualquer um dos namespaces do aplicativo.

Crie um cronograma usando uma CR (Central de Recursos).
Passos
  1. Crie o arquivo de recurso personalizado (CR) e dê um nome a ele. trident-protect-schedule-cr.yaml .

  2. No arquivo que você criou, configure os seguintes atributos:

    • metadata.name: (Obrigatório) O nome deste recurso personalizado; escolha um nome único e adequado ao seu ambiente.

    • spec.dataMover: (Opcional) Uma string indicando qual ferramenta de backup usar para a operação de backup. Valores possíveis (diferencia maiúsculas de minúsculas):

      • Restic

      • Kopia(padrão)

    • spec.applicationRef: O nome do aplicativo no Kubernetes para o qual será feito o backup.

    • spec.appVaultRef: (Obrigatório) O nome do AppVault onde o conteúdo do backup deve ser armazenado.

    • spec.backupRetention: O número de backups a serem retidos. Zero indica que nenhum backup deve ser criado (somente instantâneos).

    • spec.snapshotRetention: O número de snapshots a serem mantidos. Zero indica que nenhum instantâneo deve ser criado.

    • spec.granularity: A frequência com que a programação deve ser executada. Valores possíveis, juntamente com os campos associados obrigatórios:

      • Hourly(requer que você especifique) spec.minute )

      • Daily(requer que você especifique) spec.minute e spec.hour )

      • Weekly(requer que você especifique) spec.minute, spec.hour , e spec.dayOfWeek )

      • Monthly(requer que você especifique) spec.minute, spec.hour , e spec.dayOfMonth )

      • Custom

    • spec.dayOfMonth: (Opcional) O dia do mês (1 - 31) em que o agendamento deve ser executado. Este campo é obrigatório se a granularidade estiver definida como Monthly . O valor deve ser fornecido como uma string.

    • spec.dayOfWeek: (Opcional) O dia da semana (0 - 7) em que a programação deve ser executada. Valores de 0 ou 7 indicam domingo. Este campo é obrigatório se a granularidade estiver definida como Weekly . O valor deve ser fornecido como uma string.

    • spec.hour: (Opcional) A hora do dia (0 - 23) em que a programação deve ser executada. Este campo é obrigatório se a granularidade estiver definida como Daily , Weekly , ou Monthly . O valor deve ser fornecido como uma string.

    • spec.minute: (Opcional) O minuto da hora (0 - 59) em que a programação deve ser executada. Este campo é obrigatório se a granularidade estiver definida como Hourly , Daily , Weekly , ou Monthly . O valor deve ser fornecido como uma string.

    • metadata.annotations.protect.trident.netapp.io/full-backup-rule: (Opcional) Esta anotação é usada para especificar a regra para agendamento de backup completo. Você pode configurá-lo para always Para backup completo constante ou personalize de acordo com suas necessidades. Por exemplo, se você escolher a granularidade diária, poderá especificar os dias da semana em que o backup completo deverá ocorrer.

      Exemplo de YAML para agendamento de backup e snapshot:

      ---
      apiVersion: protect.trident.netapp.io/v1
      kind: Schedule
      metadata:
        namespace: my-app-namespace
        name: my-cr-name
        annotations:
          protect.trident.netapp.io/full-backup-rule: "Monday,Thursday"
      spec:
        dataMover: Kopia
        applicationRef: my-application
        appVaultRef: appvault-name
        backupRetention: "15"
        snapshotRetention: "15"
        granularity: Daily
        hour: "0"
        minute: "0"

      Exemplo de YAML para programação somente de snapshot:

    ---
    apiVersion: protect.trident.netapp.io/v1
    kind: Schedule
    metadata:
      namespace: my-app-namespace
      name: my-snapshot-schedule
    spec:
      applicationRef: my-application
      appVaultRef: appvault-name
      backupRetention: "0"
      snapshotRetention: "15"
      granularity: Daily
      hour: "2"
      minute: "0"
  3. Depois de preencher o trident-protect-schedule-cr.yaml Arquivo com os valores corretos, aplique o CR:

    kubectl apply -f trident-protect-schedule-cr.yaml
Crie um agendamento usando a CLI (linha de comando)
Passos
  1. Crie o cronograma de proteção, substituindo os valores entre parênteses pelas informações do seu ambiente. Por exemplo:

    Observação Você pode usar tridentctl-protect create schedule --help Para visualizar informações de ajuda detalhadas para este comando.
    tridentctl-protect create schedule <my_schedule_name> --appvault <my_appvault_name> --app <name_of_app_to_snapshot> --backup-retention <how_many_backups_to_retain> --data-mover <Kopia_or_Restic> --day-of-month <day_of_month_to_run_schedule> --day-of-week <day_of_month_to_run_schedule> --granularity <frequency_to_run> --hour <hour_of_day_to_run> --minute <minute_of_hour_to_run> --recurrence-rule <recurrence> --snapshot-retention <how_many_snapshots_to_retain> -n <application_namespace> --full-backup-rule <string>

    Você pode configurar o --full-backup-rule bandeira para always Para backup completo constante ou personalize de acordo com suas necessidades. Por exemplo, se você escolher a granularidade diária, poderá especificar os dias da semana em que o backup completo deverá ocorrer. Por exemplo, use --full-backup-rule "Monday,Thursday" Agendar backup completo às segundas e quintas-feiras.

    Para agendamentos somente de instantâneo, defina --backup-retention 0 e especifique um valor maior que 0 para --snapshot-retention .

Excluir um instantâneo

Exclua os snapshots agendados ou sob demanda que você não precisa mais.

Passos
  1. Remova o CR (Código de Referência) do instantâneo associado ao instantâneo:

    kubectl delete snapshot <snapshot_name> -n my-app-namespace

Excluir um backup

Exclua os backups agendados ou sob demanda que você não precisa mais.

Observação Certifique-se de que a política de reembolso esteja definida como Delete Remover todos os dados de backup do armazenamento de objetos. A configuração padrão da política é Retain Para evitar a perda acidental de dados. Se a política não for alterada para Delete Os dados de backup permanecerão no armazenamento de objetos e precisarão ser excluídos manualmente.
Passos
  1. Remova o CR de backup associado ao backup:

    kubectl delete backup <backup_name> -n my-app-namespace

Verifique o status de uma operação de backup.

Você pode usar a linha de comando para verificar o status de uma operação de backup que está em andamento, foi concluída ou falhou.

Passos
  1. Utilize o seguinte comando para recuperar o status da operação de backup, substituindo os valores entre colchetes pelas informações do seu ambiente:

    kubectl get backup -n <namespace_name> <my_backup_cr_name> -o jsonpath='{.status}'

Habilitar backup e restauração para operações do Azure NetApp Files (ANF)

Se você instalou o Trident Protect, pode habilitar a funcionalidade de backup e restauração com uso eficiente de espaço para back-ends de armazenamento que utilizam a classe de armazenamento azure-netapp-files e foram criados antes do Trident 24.06. Essa funcionalidade opera com volumes NFSv4 e não consome espaço adicional do pool de capacidade.

Antes de começar

Garanta o seguinte:

  • Você instalou o Trident Protect.

  • Você definiu um aplicativo no Trident Protect. Este aplicativo terá funcionalidade de proteção limitada até que você conclua este procedimento.

  • Você tem azure-netapp-files Selecionada como a classe de armazenamento padrão para seu backend de armazenamento.

Expandir para ver as etapas de configuração
  1. Se o volume ANF foi criado antes da atualização para o Trident 24.10, Trident os seguintes passos:

    1. Habilite o diretório de instantâneos para cada PV baseado em azure-netapp-files e associado ao aplicativo:

      tridentctl update volume <pv name> --snapshot-dir=true -n trident
    2. Confirme se o diretório de snapshots foi habilitado para cada PV associado:

      tridentctl get volume <pv name> -n trident -o yaml | grep snapshotDir

      Resposta:

    snapshotDirectory: "true"

    +
    Quando o diretório de snapshots não está habilitado, o Trident Protect escolhe a funcionalidade de backup regular, que consome temporariamente espaço no pool de capacidade durante o processo de backup. Nesse caso, certifique-se de que haja espaço suficiente disponível no pool de capacidade para criar um volume temporário do tamanho do volume que está sendo copiado.

Resultado

O aplicativo está pronto para backup e restauração usando o Trident Protect. Cada PVC também pode ser usado por outros aplicativos para backups e restaurações.