Vantagens, desvantagens e limitações das opções de ingest de ILM no StorageGRID
Compreender as vantagens e desvantagens de cada uma das três opções para proteger os dados na ingestão (Balanced, Strict ou Dual commit) pode ajudar você a decidir qual selecionar para uma regra ILM.
Para uma visão geral das opções de ingestão, consulte "Opções de ingestão".
Vantagens das opções Equilibrada e Rigorosa
Em comparação com o Dual commit, que cria cópias provisórias durante a ingestão, as duas opções de posicionamento síncrono podem oferecer as seguintes vantagens:
-
Maior segurança de dados: Os dados do objeto são protegidos imediatamente, conforme especificado nas instruções de posicionamento da regra ILM, que podem ser configuradas para proteger contra uma ampla variedade de condições de falha, incluindo a falha de mais de um local de storage. O commit duplo só pode proteger contra a perda de uma única cópia local.
-
Operação de grid mais eficiente: Cada objeto é processado apenas uma vez, no momento da ingestão. Como o sistema StorageGRID não precisa rastrear ou excluir cópias intermediárias, há menos carga de processamento e menos espaço de banco de dados consumido.
-
(Balanced) Recomendado: A opção Balanced oferece eficiência ideal do ILM. Recomenda-se o uso da opção Balanced, a menos que seja necessário um comportamento de ingest estrito ou que o grid atenda a todos os critérios para usar o Dual commit.
-
Certeza (estrita) sobre a localização dos objetos: A opção Strict garante que os objetos sejam armazenados imediatamente de acordo com as instruções de posicionamento na regra ILM.
Desvantagens das opções Equilibrada e Rigorosa
Em comparação com o Dual commit, as opções Balanced e Strict apresentam algumas desvantagens:
-
Ingestão mais demorada por parte do cliente: A latência de ingestão por parte do cliente pode ser maior. Ao usar as opções Balanced ou Strict, uma mensagem de "ingestão bem-sucedida" não é retornada ao cliente até que todos os fragmentos de codificação de apagamento ou cópias replicadas sejam criados e armazenados. No entanto, os dados do objeto provavelmente chegarão ao seu destino final muito mais rapidamente.
-
(Estrito) Taxas mais altas de falha na ingestão: Com a opção Estrita, a ingestão falha sempre que StorageGRID não consegue fazer imediatamente todas as cópias especificadas na regra ILM. Você pode observar altas taxas de falha na ingestão se um local de storage necessário estiver temporariamente offline ou se problemas de rede causarem atrasos na cópia de objetos entre sites.
-
(Estrito) Em algumas circunstâncias, o posicionamento dos uploads multipartes no S3 pode não ser o esperado: Com o modo Estrito, você espera que os objetos sejam posicionados conforme descrito pela regra ILM ou que a ingestão falhe. No entanto, em um upload multipartes no S3, o ILM é avaliado para cada parte do objeto à medida que é ingerida e para o objeto como um todo quando o upload multipartes é concluído. Nas seguintes circunstâncias, isso pode resultar em posicionamentos diferentes do que você espera:
-
Se o ILM for alterado durante um upload multipart do S3: Como cada parte é posicionada de acordo com a regra ativa no momento da ingestão, algumas partes do objeto podem não atender aos requisitos atuais do ILM quando o upload multipart for concluído. Nesses casos, a ingestão do objeto não falha. Em vez disso, qualquer parte que não esteja posicionada corretamente é enfileirada para reavaliação do ILM e movida para o local correto posteriormente.
-
Quando as regras do ILM filtram por tamanho: Ao avaliar o ILM para uma parte, StorageGRID filtra pelo tamanho da parte, não pelo tamanho do objeto. Isso significa que partes de um objeto podem ser armazenadas em locais que não atendem aos requisitos do ILM para o objeto como um todo. Por exemplo, se uma regra especificar que todos os objetos com 10 GB ou mais sejam armazenados no DC1, enquanto todos os objetos menores sejam armazenados no DC2, na ingestão cada parte de 1 GB de um upload multipart de 10 partes é armazenada no DC2. Quando o ILM é avaliado para o objeto, todas as partes do objeto são movidas para o DC1.
-
-
(Estrito) A ingestão não falha quando as tags ou metadados são atualizados e os novos posicionamentos necessários não podem ser feitos: Com o modo Estrito, você espera que os objetos sejam posicionados conforme descrito pela regra ILM ou que a ingestão falhe. No entanto, ao atualizar metadados ou tags de um objeto já armazenado na grid, o objeto não é reingerido. Isso significa que quaisquer alterações no posicionamento do objeto acionadas pela atualização não são feitas imediatamente. As alterações de posicionamento são feitas quando o ILM é reavaliado pelos processos normais de ILM em segundo plano. Se as alterações de posicionamento necessárias não puderem ser feitas (por exemplo, porque um novo local necessário não está disponível), o objeto atualizado mantém seu posicionamento atual até que as alterações de posicionamento sejam possíveis.
Limitações no posicionamento de objetos com as opções Balanced e Strict
As opções Equilibrado ou Rigoroso não podem ser usadas para regras ILM que tenham alguma destas instruções de posicionamento:
-
Alocação em um pool de storage em nuvem no dia 0.
-
Posicionamentos em um pool de storage em nuvem quando a regra tem um horário de criação definido pelo usuário como horário de referência.
Essas restrições existem porque StorageGRID não consegue fazer cópias síncronas para um Cloud Storage Pool, e um horário de criação definido pelo usuário pode ser resolvido para o presente.
Como as regras do ILM e a consistência interagem para afetar a proteção de dados
Tanto a sua regra ILM quanto a sua escolha de consistência afetam a forma como os objetos são protegidos. Essas configurações podem interagir.
Por exemplo, o comportamento de ingestão selecionado para uma regra ILM afeta o posicionamento inicial das cópias de objetos, enquanto a consistência usada quando um objeto é armazenado afeta o posicionamento inicial dos metadados do objeto. Como StorageGRID requer acesso tanto aos dados quanto aos metadados de um objeto para atender às solicitações do cliente, selecionar níveis de proteção correspondentes para a consistência e o comportamento de ingestão pode proporcionar melhor proteção inicial dos dados e respostas mais previsíveis do sistema.
Segue um breve resumo dos valores de consistência disponíveis no StorageGRID:
-
Todos: Todos os nós recebem metadados de objeto imediatamente ou a solicitação falhará.
-
Strong-global: Garante a consistência de leitura após gravação para todas as solicitações do cliente em todos os sites. Quando a semântica de Quorum está configurada, os seguintes comportamentos se aplicam:
-
Permite tolerância a falha do local para solicitações de clientes quando as grades têm três ou mais sites. Grades com dois sites não terão tolerância a falha do local.
-
As seguintes operações do S3 não serão bem-sucedidas com um site inativo:
-
DeleteBucketEncryption
-
PutBucketBranch
-
PutBucketEncryption
-
PutBucketVersioning
-
PutObjectLegalHold
-
PutObjectLockConfiguration
-
PutObjectRetention
-
Se necessário, você pode "configurar a semântica de quorum do StorageGRID para consistência global forte".
-
-
Strong-site: os metadados do objeto são distribuídos imediatamente para outros nós no site. Garante a consistência de leitura após gravação para todas as solicitações do cliente dentro de um site.
-
Leitura após nova gravação: Oferece consistência de leitura após gravação para novos objetos e consistência eventual para atualizações de objetos. Oferece alta disponibilidade e garantias de proteção de dados. Recomendado para a maioria dos casos.
-
Disponível: Oferece consistência eventual tanto para novos objetos quanto para atualizações de objetos. Para buckets do S3, use somente quando necessário (por exemplo, para um bucket que contém valores de log que são lidos raramente ou para operações HEAD ou GET em chaves que não existem). Não é compatível com buckets do S3 FabricPool.
|
|
Antes de selecionar um valor de consistência, "Leia a descrição completa de consistência". Você deve entender os benefícios e as limitações antes de alterar o valor padrão. |
Exemplo de como as regras de consistência e ILM podem interagir
Suponha que você tenha uma grade de três sites com a seguinte regra ILM e a seguinte consistência:
-
Regra ILM: Crie três cópias do objeto, uma no local e uma em cada local remoto. Use o comportamento de ingestão estrito.
-
Consistência: Global forte (os metadados do objeto são distribuídos imediatamente para vários sites).
Quando um cliente armazena um objeto na grid, StorageGRID cria as três cópias do objeto e distribui os metadados para vários sites antes de retornar sucesso ao cliente.
O objeto fica totalmente protegido contra perda no momento em que a mensagem de ingestão bem-sucedida é recebida. Por exemplo, se o local remoto for perdido logo após a ingestão, cópias dos dados do objeto e dos metadados do objeto ainda existirão nos locais remotos. O objeto poderá ser recuperado integralmente dos outros locais.
Se, em vez disso, você usasse a mesma regra ILM e a consistência forte do site, o cliente poderia receber uma mensagem de sucesso após os dados do objeto serem replicados para os locais remotos, mas antes que os metadados do objeto fossem distribuídos lá. Nesse caso, o nível de proteção dos metadados do objeto não corresponde ao nível de proteção dos dados do objeto. Se o local remoto for perdido logo após a ingestão, os metadados do objeto serão perdidos. O objeto não pode ser recuperado.
A inter-relação entre as regras de consistência e as regras de ILM pode ser complexa. Entre em contato com a NetApp se você precisar de assistência.
"Exemplo 5: regras e política do ILM para comportamento de ingestão estrito"