Proteja aplicativos usando o Trident Protect
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.
|
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.
|
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 nomeie-o
trident-protect-snapshot-cr.yaml
. -
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
-
-
-
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 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.
|
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 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.
-
Consulte a "Documentação da API da AWS" 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 nomeie-o
trident-protect-backup-cr.yaml
. -
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.
-
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
, a cópia de segurança torna-se não incremental. Se não for especificado, o backup segue a configuração padrão de backup 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.Exemplo 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.yaml
ficheiro com os valores corretos, aplique o CR:kubectl apply -f trident-protect-backup-cr.yaml
-
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.
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.
|
|
-
Crie o arquivo de recurso personalizado (CR) e nomeie-o
trident-protect-schedule-cr.yaml
. -
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ê especifiquespec.minute
) -
Daily
(requer que você especifiquespec.minute
espec.hour
) -
Weekly
(requer que você especifiquespec.minute, spec.hour
, espec.dayOfWeek
) -
Monthly
(requer que você especifiquespec.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: (Optional) esta anotação é usada para especificar a regra para agendar o backup completo. Você pode configurá-lo 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.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.yaml
ficheiro com os valores corretos, aplique o CR:kubectl apply -f trident-protect-schedule-cr.yaml
-
Crie o cronograma de proteção, substituindo valores entre parênteses por informações do seu ambiente. Por exemplo:
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 paraalways
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
.
Eliminar um instantâneo
Exclua os snapshots programados ou sob demanda que você não precisa mais.
-
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.
|
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.
|
-
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.
-
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.
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
-
No Trident, se o volume do ANF tiver sido criado antes da atualização para o Trident 24,10:
-
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
-
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. -
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.