O que é o Retention Lock?
O Retention Lock é um recurso usado nos Data Domain Restorers (DDRs) para impedir a modificação ou a exclusão de certos conjuntos de arquivos por um período predeterminado. Ou seja, os arquivos bloqueados com o Retention Lock são somente leitura até que o período de retenção expire.
Quais são as diferentes versões do Retention Lock?
O Retention Lock está disponível para duas funções diferentes:
Quais protocolos de acesso aos dados são compatíveis com o Retention Lock?
O modo Conformidade do Retention Lock atende às normas regulamentares:
A lista de normas regulamentares que o modo Conformidade do Retention Lock cumpre inclui:
Para obter detalhes completos das informações de certificação, entre em contato com seu provedor de suporte contratado.
Como habilitar o modo Governança do Retention Lock?
# mtree retention-lock enable mode governance mtree [mtree]
Como habilitar o modo Conformidade do Retention Lock?
(ADMIN USER) # user add [username] role security
(SECURITY USER): # authorization policy set security-officer enabled
(ADMIN USER) # system retention-lock compliance configure
(ADMIN USER) # system retention-lock compliance enable
(ADMIN USER) # mtree retention-lock enable mode compliance mtree [mtree]
Como é possível determinar quais MTrees têm o Retention Lock habilitado?
Os MTrees com o Retention Lock ativado são indicados na saída de mtree list
por exemplo:
sysadmin@ddxxxx# mtree list Name Pre-Comp (GiB) Status Tenant-Unit --------------------------------- -------------- ------- ----------- ... /data/col1/rich-retention-lock 0.0 RW/RLGE - /data/col1/rl_test 0.0 RW/RLGD - /data/col1/rl_test_comp 0.0 RW/RLCE - /data/col1/test 3.1 RW/RLGE - ... --------------------------------- -------------- ------- ----------- ... RLGE : Retention-Lock Governance Enabled RLGD : Retention-Lock Governance Disabled RLCE : Retention-Lock Compliance Enabled
Um MTree com o modo Governança do Retention Lock habilitado pode ser convertido para a modo Conformidade do Retention Lock?
Conforme declarado no Guia de administração do DDOS, ele não pode ser convertido.
Um MTree com o modo Conformidade do Retention Lock habilitado pode ser convertido para a modo Governança do Retention Lock?
Conforme declarado no Guia de administração do DDOS, ele não pode ser convertido.
Como os períodos de bloqueio ou retenção de arquivos são definidos?
Assim que o Retention Lock estiver habilitado em um MTree, um período de retenção mínimo e um período de retenção máximo devem ser definidos. Esses períodos determinam o tempo mínimo e o tempo máximo em que um arquivo dentro do MTree pode ficar bloqueado. Por exemplo:
# mtree retention-lock set min-retention-period [period] mtree [mtree]
# mtree retention-lock set max-retention-period [period] mtree [mtree]
Os períodos podem ser especificados em várias unidades, da seguinte forma:
Como os períodos de retenção existentes podem ser exibidos?
É possível exibi-los usando os dois comandos a seguir:
# mtree retention-lock show min-retention-period mtree [mtree] # mtree retention-lock show max-retention-period mtree [mtree]
Por exemplo:
sysadmin@dd630# mtree retention-lock show min-retention-period mtree /data/col1/rl_test
Retention-lock min-retention-period of mtree /data/col1/rl_test is: 720 minutes.
sysadmin@dd630# mtree retention-lock show max-retention-period mtree /data/col1/rl_test
Retention-lock max-retention-period of mtree /data/col1/rl_test is: 30 days.
Como os arquivos em um MTree com o Retention Lock habilitado são bloqueados?
O atime de um arquivo pode ser alterado a partir de um client NFS ou CIFS usando o comando "touch":
# touch -a -t [expiry time] [file to be locked]
Por exemplo, para definir um atime de /data/col1/rl_test/testfile como 07:05, em 8 de junho:
# touch -a -t 06080705 /data/col1/rl_test/testfile
O período do tempo atual para o atime futuro deve estar dentro dos períodos mínimo e máximo de retenção do MTree. Caso contrário, um erro será gerado ao modificar o atime dos arquivos:
# touch -a -t 08080705 /data/col1/rl_test/testfile
touch: setting times of `/data/col1/rl_test/testfile': Permission denied
Uma mensagem correspondente também é mostrada nos arquivos de log do Data Domain File System (DDFS):
06/07 13:44:57.197 (tid 0x2b28ee5258c0): Attempt to set atime of /data/col1/rl_test/testfile to larger than maximum retention period of mtree.
Os clients CIFS (Windows) não incluem, por padrão, um comando ou utilitário de toque. No entanto, vários desses utilitários estão disponíveis gratuitamente para download em diversos sites de terceiros.
Quais aplicativos de backup permitem habilitar automaticamente o bloqueio do Retention Lock em arquivos após gravá-los em um DDR?
O Data Domain Retention Lock é compatível com os protocolos Write-Once-Read-Many (WORM) padrão do setor, que são baseados em NAS. A integração é qualificada com aplicativos de arquivamento, como Symantec Enterprise Vault, SourceOne, Cloud Tiering Appliance ou DiskXtender.
O Dell NetWorker é compatível com os modos Governança e Conformidade.
Desde junho de 2024, as versões recentes do Avamar são compatíveis com os modos Conformidade e Governança do Data Domain Retention Lock, como parte do recurso "Backups imutáveis" do Avamar. Consulte o artigo abaixo e a documentação do Avamar para obter detalhes:
Avamar e Data Domain: Habilitando o modo Conformidade do Data Domain Retention Lock e o recurso Backups imutáveis no Avamar
É fundamental que as etapas para ativar o recurso "Backups imutáveis" do Avamar sejam seguidas rigorosamente. Caso contrário, um MTree do Avamar no DD não poderá receber mais gravações ou ele poderá apresentar problemas operacionais, exigindo uma longa recuperação forçada. O Avamar não funciona com o DD Automatic Retention Lock (ARL), Dessa forma, o ARL não pode ser ativado em qualquer MTree do Avamar que esteja em um DD.
Os clientes que usam outros aplicativos de backup que não apresentam compatibilidade nativa com o Data Domain Retention Lock também podem desenvolver scripts personalizados para definir manualmente períodos de retenção de arquivos com o Data Domain Retention Lock. Nesse cenário, certifique-se de que os scripts personalizados definam o atime do arquivo, de modo que ele seja desbloqueado antes de o aplicativo de backup tentar excluí-lo. Se isso não for feito, o aplicativo de backup poderá tentar excluir arquivos bloqueados (e não conseguirá); o arquivo será deixado no DDR por tempo indeterminado, consumindo o espaço em disco. Consulte o Guia de administração do Data Domain.
Automatic Retention Lock
Os clientes que têm aplicativos de backup sem compatibilidade nativa com o Data Domain Retention Lock sempre tiveram dificuldades para usar o recurso. O administrador de backup precisa configurar os scripts para definir o Retention Lock em arquivos inseridos recentemente em um MTree. O bloqueio deve ser definido para que ele expire um pouco antes de o backup ser expirado (e excluído) pelo administrador de backup.
O ARL não define um bloqueio para cada arquivo gravado no MTree após o recurso ter sido ativado, impedindo que o arquivo seja alterado ou removido por determinado tempo, após a expiração do período de tolerância configurado. Isso significa que o ARL não deve ser habilitado em cargas de trabalho ou aplicativos de backup que precisam atualizar alguns arquivos repetidas vezes ao longo do tempo, por exemplo, em pools de VTL (arquivos de fita VTL são gravados repetidamente) ou em aplicativos de backup que mantêm informações de metadados ao lado dos próprios arquivos de backup do cliente (como o NetWorker ou o Avamar). Ao habilitar o ARL nessas instâncias para que arquivos importantes fiquem bloqueados por determinado tempo, quando esses arquivos precisarem ser gravados posteriormente para receberem outros backups, a gravação e todos os backups subsequentes falharão.
Para ajudar o administrador de backup a reduzir a carga de manter o Retention Lock habilitado nos arquivos de backup secundários e ativar o DDOS na paridade de recursos com outros fornecedores, desde o DDOS 6.2.0.20, há um recurso que pode ser habilitado a partir da CLI, em cada MTree com o Retention Lock configurado, para definir um bloqueio em cada arquivo incluído (por um certo período), depois que algum tempo predeterminado tiver passado desde a conclusão da gravação do arquivo no disco. Dessa forma, os administradores não precisam mais se preocupar com a configuração manual (ou por script) do Retention Lock e isso pode ocorrer automaticamente sem a cooperação do aplicativo de backup.
Nas versões do DDOS anteriores à 7.8, o Automatic Retention Lock não pode ser usado em Unidades Lógicas de Armazenamento (LSU) do DD Boost. Ao tentar habilitá-lo, ocorrerá um erro informando a falta de compatibilidade.
A partir da versão 7.8, o ARL pode ser usado em LSUs do DD Boost.
(O ARL usado nos DDs de destino para Replicação Gerenciada de Arquivos (MFR), como clonagem de NW, deve ter um período de "automatic-lock-delay" longo o suficiente para garantir que as operações de clonagem do conjunto de backups sejam concluídas antes de o bloqueio ser definido nos arquivos. Exemplo: Um arquivo pequeno que faz parte de um conjunto de backup conclui a replicação rapidamente, enquanto um arquivo maior leva mais tempo, então o primeiro arquivo é bloqueado para retenção no momento em que o arquivo maior termina de replicar e encontra um erro quando o NW tenta mover todos os arquivos do conjunto de backup para o diretório de arquivamento final.)
O bloqueio de retenção automático não é compatível com a VTL do Data Domain.
Nas versões aplicáveis, há opções adicionais no mtree retention-lock
CLI, conforme mostrado abaixo. Esse recurso também pode ser configurado por meio da IU. Basta selecionar "Automatic", em vez de "Manual", na opção "Use":
# mtree retention-lock set
{min-retention-period | max-retention-period |
automatic-retention-period | automatic-lock-delay} <period>
mtree <mtree-path>
O recurso Automatic Retention Lock bloqueia um arquivo imediatamente após a expiração de um período de tolerância pré-configurado (automatic-lock-delay). Depois que o arquivo for gravado em um MTree com o Retention Lock habilitado e o bloqueio for válido para "automatic-retention-period" a partir do momento em que ele foi definido, se o valor estiver dentro dos valores "min-retention-period" e "max-retention-period" definidos para o MTree, ocorrerá o bloqueio.
Para obter mais detalhes gerais e informações de uso do recurso, consulte o Guia de administração do DDOS correspondente. Esse recurso não é adequado para situações em que o mesmo MTree é usado como destino de backups que devem ter bloqueios definidos para períodos diferentes ou de backups que não devem ter um bloqueio definido para começar.
O que pode ou não ser feito em um arquivo bloqueado?
É possível remover completamente o bloqueio do Retention Lock em um arquivo ou conjunto de arquivos?
É possível "reverter" (remover) o bloqueio do Retention Lock em arquivos de MTrees que usam o modo Governança. Esse processo é feito com o seguinte comando:
# mtree retention-lock revert [path]
Depois que o bloqueio do Retention Lock for removido de um arquivo, o arquivo poderá ser modificado ou excluído normalmente. Se esse comando for executado em um diretório, todos os arquivos dentro desse diretório e todos os subdiretórios terão o bloqueio do Retention Lock removido.
Não é possível reverter um bloqueio do Retention Lock em arquivos de MTrees que usam o modo Conformidade. Em caso de tentativa, um erro correspondente será exibido:
# mtree retention-lock revert /data/col1/rl_test_comp/testfile
This operation is not allowed. Mtree is in retention-lock compliance mode.
O que acontece se houver uma tentativa de modificação ou remoção de um arquivo bloqueado por retenção?
Qualquer tentativa de modificar ou excluir um arquivo bloqueado para retenção causa uma permission denied
erro:
# echo " test2" >> /data/col1/rl_test/testfile
bash: testfile: Permission denied
# rm testfile
rm: remove write-protected regular file `testfile'? y
rm: cannot remove `testfile': Permission denied
Os logs do DDFS indicam que a operação falhou porque o arquivo está bloqueado com o Retention Lock:
06/07 07:06:59.756 (tid 0x2b5a77605d50): Atime of retention-lock file /data/col1/rl_test/testfile is not expired.
06/07 07:07:42.504 (tid 0x2b5a79111390): Atime of retention-lock file /data/col1/rl_test/testfile is not expired.
É possível listar todos os arquivos que estão bloqueados com o Retention Lock?
Sim, isso pode ser realizado usando o mtree retention-lock report generate retention-details
comando:
mtree retention-lock report generate retention-details
mtrees {<mtree-list> | all}
[format {text | tsv | csv}]
[output-file <file-name>]
Report detailed information of
retention-lock files.
Por exemplo, para listar detalhes de todos os arquivos bloqueados no /data/col1/rl_test MTree
O seguinte procedimento seria realizado:
sysadmin@ddxxxx# mtree retention-lock report generate retention-details mtrees /data/col1/jftest
Report generated on: Fri Jul 1 14:19:31 2016
Report for mtree: /data/col1/jftest
File Path Mode Size(Bytes) Expiration Date
/data/col1/jftest/file1 governance 10521456 Sat Jul 2 22:35:48 2016
/data/col1/jftest/testdir/file2 governance 10521680 Sat Jul 2 22:35:42 2016
/data/col1/jftest/file3 governance 10521820 Sun Jul 10 22:36:09 2016
Total files: 3
É possível desativar completamente o Retention Lock para um MTree (depois de habilitado)?
Sim, para MTrees que usam o modo de governança, isso é realizado usando o mtree retention-lock disable
comando:
# mtree retention-lock disable mtree [mtree] For example: sysadmin@xxxx# mtree retention-lock disable mtree /data/col1/rl_test Retention-lock feature is disabled (previously enabled) for mtree /data/col1/rl_test. Once disabled,MTree list
indicates that retention lock was used against the MTree but has since been disabled, that is: sysadmin@ddxxxx#mtree list
Name Pre-Comp (GiB) Status Tenant-Unit --------------------------------- -------------- ------- ----------- ... /data/col1/rl_test 0.0 RW/RLGD - ...
sysadmin@ddxxxx# mtree retention-lock revert /data/col1/rl_test/testfile **** Retention-lock feature is disabled (previously enabled) for mtree which contains the path /data/col1/rl_test/testfile.
sysadmin@ddxxxx# mtree retention-lock disable mtree /data/col1/rl_test_comp **** Operation is not allowed because the system is a retention-lock compliance system
# replication break mtree://[destination system]/data/col1/[mtree]
# replication add source mtree://[source system]/data/col1/[mtree] destination mtree://[destination system/data/col1/[mtree]
# mtree retention-lock enable mode compliance mtree [mtree]
# replication resync mtree://[destination system/data/col1/[mtree]
# user reset
# filesys destroy
# filesys archive unit del [archive unit name]
O suporte técnico não pode inicializar esses sistemas no modo de usuário único para recuperação sem o uso de uma unidade USB e acesso físico ao sistema.
# mtree delete [mtree] # mtree retention-lock reset [min-retention-period period | max-retention-period period] mtree [mtree] # mtree retention-lock disable mtree [mtree] # mtree retention-lock revertNo entanto, no DDOS 7.3 e em versões posteriores, foi feita uma provisão para que os clientes possam excluir os MTrees com o modo Conformidade do Retention Lock habilitado, caso:
# cloud unit del <cloud unit name>
# filesys enable