Proteja aplicativos usando o Trident Protect.
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.
|
|
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.
|
|
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 o arquivo de recurso personalizado (CR) e dê um nome a ele.
trident-protect-snapshot-cr.yaml. -
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
-
-
-
Depois de preencher o
trident-protect-snapshot-cr.yamlArquivo com os valores corretos, aplique o CR:kubectl apply -f trident-protect-snapshot-cr.yaml
-
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.
|
|
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. |
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.
-
Consulte o "Documentação do AWS API" Para obter mais informações sobre como verificar a expiração do token de sessão atual.
-
Consulte o "Documentação do AWS IAM" Para obter mais informações sobre credenciais com recursos da AWS.
-
Crie o arquivo de recurso personalizado (CR) e dê um nome a ele.
trident-protect-backup-cr.yaml. -
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 -
-
Depois de preencher o
trident-protect-backup-cr.yamlArquivo com os valores corretos, aplique o CR:kubectl apply -f trident-protect-backup-cr.yaml
-
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-backupSinalizador 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.
|
|
|
-
Crie o arquivo de recurso personalizado (CR) e dê um nome a ele.
trident-protect-schedule-cr.yaml. -
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.minuteespec.hour) -
Weekly(requer que você especifique)spec.minute, spec.hour, espec.dayOfWeek) -
Monthly(requer que você especifique)spec.minute, spec.hour, espec.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, ouMonthly. 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, ouMonthly. 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
alwaysPara 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" -
-
Depois de preencher o
trident-protect-schedule-cr.yamlArquivo com os valores corretos, aplique o CR:kubectl apply -f trident-protect-schedule-cr.yaml
-
Crie o cronograma de proteção, substituindo os valores entre parênteses pelas informações do seu ambiente. Por exemplo:
Você pode usar tridentctl-protect create schedule --helpPara 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-rulebandeira paraalwaysPara 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 0e 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.
-
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.
|
|
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.
|
-
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.
-
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.
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-filesSelecionada como a classe de armazenamento padrão para seu backend de armazenamento.
Expandir para ver as etapas de configuração
-
Se o volume ANF foi criado antes da atualização para o Trident 24.10, Trident os seguintes passos:
-
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 -
Confirme se o diretório de snapshots foi habilitado para cada PV associado:
tridentctl get volume <pv name> -n trident -o yaml | grep snapshotDirResposta:
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. -
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.