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-mwallis netapp-shwetav netapp-aruldeepa

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

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

Crie um snapshot sob demanda

Você pode criar um snapshot 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.
Crie um instantâneo usando um CR
Passos
  1. Crie o arquivo de recurso personalizado (CR) e nomeie-o trident-protect-snapshot-cr.yaml.

  2. No arquivo criado, configure os seguintes atributos:

    • metadata.name: (required) o nome deste recurso personalizado; escolha um nome único e sensível para o seu ambiente.

    • Spec.applicationRef: O nome do Kubernetes da aplicação para snapshot.

    • Spec.appVaultRef: (required) o nome do AppVault onde o conteúdo instantâneo (metadados) deve ser armazenado.

    • Spec.reclaimPolicy: (Optional) define o que acontece com o AppArchive de um snapshot quando o snapshot CR é excluído. Isso significa que, mesmo quando definido como Retain, o instantâneo será excluído. Opções válidas:

      • Retain (predefiniçã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 ficheiro 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 snapshot, substituindo valores entre parênteses por 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 a expiração do token de sessão da AWS seja suficiente para quaisquer operações de backup S3 de longa execução. Se o token expirar durante a operação de backup, a operação pode falhar.

Crie uma cópia de segurança utilizando um CR
Passos
  1. Crie o arquivo de recurso personalizado (CR) e nomeie-o trident-protect-backup-cr.yaml.

  2. No arquivo criado, configure os seguintes atributos:

    • metadata.name: (required) o nome deste recurso personalizado; escolha um nome único e sensível para o seu ambiente.

    • Spec.applicationRef: (required) o nome do Kubernetes do aplicativo para fazer backup.

    • Spec.appVaultRef: (required) o nome do AppVault onde o conteúdo de backup deve ser armazenado.

    • Spec.dataMover: (Optional) Uma cadeia de carateres indicando qual ferramenta de backup usar para a operação de backup. Valores possíveis (sensíveis a maiúsculas e minúsculas):

      • Restic

      • Kopia (predefinição)

    • Spec.reclaimPolicy: (Optional) define o que acontece com um backup quando liberado de sua reivindicação. Valores possíveis:

      • Delete

      • Retain (predefinição)

    • spec.snapshotRef: (Opcional): Nome do snapshot a ser usado como origem do backup. Se não for fornecido, um instantâneo temporário será criado e feito backup.

      Exemplo YAML:

    ---
    apiVersion: protect.trident.netapp.io/v1
    kind: Backup
    metadata:
      namespace: my-app-namespace
      name: my-cr-name
    spec:
      applicationRef: my-application
      appVaultRef: appvault-name
      dataMover: Kopia
  3. Depois de preencher o trident-protect-backup-cr.yaml ficheiro 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 valores entre parênteses por 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>

    Opcionalmente, você pode usar o --full-backup sinalizador para especificar se um backup deve ser não incremental. Por padrão, todos os backups são incrementais. Quando esse sinalizador é usado, o backup se torna não incremental. É prática recomendada executar um backup completo periodicamente e, em seguida, executar backups incrementais entre backups completos para minimizar o risco associado às restaurações.

Anotações de backup suportadas

A tabela a seguir descreve as anotações que você pode usar ao criar um CR de backup:

Anotação Tipo Descrição Valor padrão

protect.trident.netapp.io/backup completo

cadeia de carateres

Especifica se um backup deve ser não incremental. Definir para true Para criar um backup não 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.

"falso"

protect.trident.netapp.io/snapshot-completion-timeout

cadeia de carateres

Tempo máximo permitido para a conclusão da operação de captura instantânea.

"60m"

protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout

cadeia de carateres

Tempo máximo permitido para que os snapshots de volume atinjam o estado pronto para uso.

"30m"

protect.trident.netapp.io/volume-snapshots-created-timeout

cadeia de carateres

Tempo máximo permitido para a criação de snapshots de volume.

"5m"

protect.trident.netapp.io/pvc-bind-timeout-sec

cadeia de carateres

Tempo máximo (em segundos) de espera para que quaisquer PersistentVolumeClaims (PVCs) recém-criados cheguem ao Bound fase anterior à falha das operações.

"1200" (20 minutos)

Criar 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 apenas para instantâneos definindo backupRetention para zero e snapshotRetention para um valor maior que zero. Contexto snapshotRetention para zero significa que todos os backups agendados ainda criarão instantâneos, mas eles são temporários e serão 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 uma agenda usando um CR
Passos
  1. Crie o arquivo de recurso personalizado (CR) e nomeie-o trident-protect-schedule-cr.yaml.

  2. No arquivo criado, configure os seguintes atributos:

    • metadata.name: (required) o nome deste recurso personalizado; escolha um nome único e sensível para o seu ambiente.

    • Spec.dataMover: (Optional) Uma cadeia de carateres indicando qual ferramenta de backup usar para a operação de backup. Valores possíveis (sensíveis a maiúsculas e minúsculas):

      • Restic

      • Kopia (predefinição)

    • Spec.applicationRef: O nome do Kubernetes do aplicativo para fazer backup.

    • Spec.appVaultRef: (required) o nome do AppVault onde o conteúdo de 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 instantâneos a reter. Zero indica que nenhum instantâneo deve ser criado.

    • spec.granularity: a frequência em que o horário deve ser executado. Valores possíveis, juntamente com 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.

      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
      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 ficheiro com os valores corretos, aplique o CR:

    kubectl apply -f trident-protect-schedule-cr.yaml
Crie uma agenda usando a CLI
Passos
  1. Crie o cronograma de proteção, substituindo valores entre parênteses por informações do seu ambiente. Por exemplo:

    Observação Você pode usar tridentctl-protect create schedule --help para exibir informações detalhadas de ajuda 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 definir o --full-backup-rule sinalizador para always backup completo constante ou personalizá-lo com base em suas necessidades. Por exemplo, se você escolher a granularidade diária, poderá especificar os dias da semana em que o backup completo deve ocorrer. Por exemplo, use --full-backup-rule "Monday,Thursday" para agendar o backup completo às segundas e quintas-feiras.

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

Anotações de agendamento suportadas

A tabela a seguir descreve as anotações que você pode usar ao criar uma solicitação de alteração (CR) de agendamento:

Anotação Tipo Descrição Valor padrão

protect.trident.netapp.io/regra-de-backup-completo

cadeia de carateres

Especifica a regra para agendamento de backups completos. 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 deve ocorrer (por exemplo, "Monday,Thursday" ).

Não configurado (todos os backups são incrementais)

protect.trident.netapp.io/snapshot-completion-timeout

cadeia de carateres

Tempo máximo permitido para a conclusão da operação de captura instantânea.

"60m"

protect.trident.netapp.io/volume-snapshots-ready-to-use-timeout

cadeia de carateres

Tempo máximo permitido para que os snapshots de volume atinjam o estado pronto para uso.

"30m"

protect.trident.netapp.io/volume-snapshots-created-timeout

cadeia de carateres

Tempo máximo permitido para a criação de snapshots de volume.

"5m"

protect.trident.netapp.io/pvc-bind-timeout-sec

cadeia de carateres

Tempo máximo (em segundos) de espera para que quaisquer PersistentVolumeClaims (PVCs) recém-criados cheguem ao Bound fase anterior à falha das operações.

"1200" (20 minutos)

Eliminar um instantâneo

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

Passos
  1. Remover o instantâneo CR associado ao instantâneo:

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

Eliminar uma cópia de segurança

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

Observação Certifique-se de que a política de recuperação esteja definida como Delete para remover todos os dados de backup do armazenamento de objetos. A configuração padrão da política é Retain para evitar 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 exigirão exclusão manual.
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 em andamento, concluída ou falhou.

Passos
  1. Use o seguinte comando para recuperar o status da operação de backup, substituindo valores em brackes por informações do seu ambiente:

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

Habilite o backup e a restauração de operações do Azure-NetApp-Files (ANF)

Se você tiver instalado o Trident Protect, poderá habilitar a funcionalidade de backup e restauração com uso eficiente de espaço para back-ends de armazenamento que usam a classe de armazenamento azure-NetApp-Files e foram criados antes do Trident 24,06. Esta funcionalidade funciona com NFSv4 volumes e não consome espaço adicional do pool de capacidade.

Antes de começar

Certifique-se de que:

  • Você instalou o Trident Protect.

  • Você definiu um aplicativo no Trident Protect. Esta aplicação terá uma funcionalidade de proteçãoão limitada até concluir este procedimento.

  • Você azure-netapp-files selecionou como a classe de armazenamento padrão para o back-end de armazenamento.

Expanda para obter as etapas de configuração
  1. No Trident, se o volume do ANF tiver sido criado antes da atualização para o Trident 24,10:

    1. Ative o diretório instantâneo para cada PV que é 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 instantâneo foi ativado para cada PV associado:

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

      Resposta:

    snapshotDirectory: "true"

    +
    Quando o diretório instantâneo não está ativado, 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 há espaço suficiente disponível no pool de capacidade para criar um volume temporário do tamanho do volume que está sendo feito backup.

Resultado

O aplicativo está pronto para backup e restauração usando o Trident Protect. Cada PVC também está disponível para ser usado por outras aplicações para backups e restaurações.