A recolha (recall) do Azure File Sync é uma funcionalidade essencial associada à hierarquização na nuvem no Azure File Sync. Quando a hierarquização na nuvem está ativada, os ficheiros acedidos com pouca frequência (conhecidos como ficheiros «frios») são armazenados na nuvem para poupar espaço de armazenamento local. No entanto, os metadados e a estrutura (espaço de nomes) do ficheiro permanecem no servidor local.
Quando um utilizador ou uma aplicação tenta aceder a um ficheiro hierarquizado, o processo de recolha é acionado. Este processo obtém sem problemas o conteúdo do ficheiro a partir da partilha de ficheiros do Azure na nuvem e disponibiliza-o localmente. A recolha acontece automaticamente, garantindo uma perturbação mínima para os utilizadores.
Descrição do problema
Num ambiente recente do Azure File Sync, foram observadas falhas de recolha devido ao seguinte erro:
RecallToDiskType: No
Este erro indicava que a utilização da cache do sistema de ficheiros tinha atingido o seu limite máximo. Como resultado, os ficheiros hierarquizados não conseguiram transferir todo o seu conteúdo de dados como esperado.
Resolução do problema
Para resolver a falha de recolha, foram tomadas as seguintes medidas:
1. Compreender a causa
Identificou-se que as falhas de recolha se deviam a limites de memória. Por predefinição:
- 10% da memória atribuída são reservados para recolhas.
- Se as recolhas excederem 60% desta memória reservada, são servidas a partir da memória e não são escritas no disco.
Este comportamento causou problemas quando o limite de memória foi excedido.
2. Verificar o processo de recolha de dados
A equipa verificou como os dados estavam a ser recolhidos através de:
- Verificação do tamanho dos dados solicitado para recolha.
- Garantir que os dados recolhidos correspondiam aos dados escritos no disco no ponto final do servidor.
- Revisão dos resultados de recolha do agente do File Sync (ID de evento 1110) para confirmar se as recolhas foram bem-sucedidas ou falharam.
3. Ajustar as definições de memória
Para resolver o problema, a atribuição de memória para recolhas foi aumentada através da modificação das definições do registo. Foram executados os seguintes comandos:
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure\StorageSync" /v BottomlessFilterSharedMemSizePercentage /t REG_DWORD /d 30 /f
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure\StorageSync" /v BottomlessFilterCacheUsagePercentage /t REG_DWORD /d 70 /f
fltmc unload StorageSync
fltmc load StorageSync
net stop filesyncsvc
net start filesyncsvc
Estas alterações permitiram que 30% da memória total do servidor fossem usados para recolhas, melhorando a capacidade de persistir os dados recolhidos no disco.
Resolução
Ao implementar os passos acima, as falhas de recolha causadas por limitações da cache do sistema de ficheiros foram resolvidas com sucesso. Isto garantiu um processo de recolha de dados mais suave e fiável no ambiente do Azure File Sync.
Dicas extra
Eis alguns recursos adicionais para o ajudar a compreender e gerir melhor a hierarquização na nuvem do Azure File Sync:
Conclusão
A recolha do Azure File Sync é essencial para otimizar a utilização do armazenamento local, mantendo ao mesmo tempo um acesso sem problemas aos ficheiros hierarquizados na nuvem. Compreender e resolver problemas como os limites de memória pode ajudar a garantir um processo de recolha fiável e eficiente. Ao seguir os passos descritos acima, pode resolver falhas de recolha e melhorar o desempenho do seu ambiente do Azure File Sync.