Migrar
A solução usada aqui é separar logicamente o grande compartilhamento NFS em duas áreas:
- Uma área chamada compartilhamento NFS operacional contendo apenas dados em fluxo, ainda a serem processados, e para pós-processamento e reprocessamento.
- Uma área de preparação temporária que pode ser limpa regularmente.
Para a área temporária do armazenamento NFS, um bucket do OCI Object Storage é criado, com a intenção de espelhar a estrutura de diretório grande dentro do arquivo compactado NFS usando a nomeação de objeto/caminho padrão.
Observe que nenhuma alteração é feita na estrutura NFS além da expectativa de que o diretório de arquivamento (20TB+) será copiado para o Object Storage eventualmente. Os dados na área operacional são processados, verificados e mantidos na área de preparação temporária como antes. Depois de finalizados, os dados são movidos para o arquivo compactado baseado em Objeto e a área de preparação temporária é limpa. O mecanismo para copiar objetos do compartilhamento NFS operacional local para o bucket de arquivamento pode ser RCLONE ou OCIFS.
cd archive rclone copy . <the_rclone_config>:BucketName/
Observe que, dependendo de como o aplicativo é desenvolvido, os processos existentes podem continuar gravando nos locais existentes até que ocorra uma transferência. Nesse ponto, todo o arquivo foi copiado, o código do aplicativo está lendo do armazenamento de objetos e novos arquivos são gerados para o novo arquivo location.While, a ordem exata dos eventos de transferência dependerá de cada caso, no final da migração, o arquivo principal dos arquivos baseados em NFS pode ser excluído. Nesse ponto, o faturamento refletirá a economia. O processamento em batch pode ocorrer e, por meio de scripts shell padrão, grandes hierarquias de arquivos podem ser copiadas para o Object Storage via RCLONE.
Embora os detalhes exatos da ordem das operações sejam específicos da implementação, no final do processo, a área de arquivamento do compartilhamento NFS é limpa quando os arquivos compactados estão com segurança no Object Storage. Cada execução em batch causa a criação de novos arquivos compactados, que são copiados para o Object Storage via RCLONE antes da exclusão.