|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Reconstrução de Réplica
Quando SUSE Storage detecta uma réplica com falha ou excluída, inicia automaticamente um processo de reconstrução. Este documento descreve o fluxo de trabalho de reconstrução de réplica para o motor de dados v1, incluindo completo, delta e rápido métodos de reconstrução. Ele também explica as limitações associadas a cada método.
A reconstrução não começará nos seguintes cenários:
-
O volume está migrando para outro nó.
-
O volume é um volume de restauração/DR antigo.
-
O volume está aumentando de tamanho.
Fluxo de Trabalho de Reconstrução de Réplica
A reconstrução de réplica pode ocorrer nos seguintes cenários para o motor de dados v1:
-
Um nó é reiniciado, drenado ou expulso.
-
Uma réplica se torna não saudável ou é excluída.
-
Marque a réplica alvo com o modo
WO(somente gravação). -
Crie um novo instantâneo para servir como ponto de referência do cabeçalho do volume para verificações de integridade de dados.
-
Gere a lista de arquivos de sincronização para o cabeçalho do volume e para os arquivos de instantâneos.
Para o Motor de Dados V1
-
Inicie um servidor receptor na réplica alvo para cada snapshot.
-
Instrua a réplica de origem a iniciar a sincronização de dados.
-
Para cada instantâneo:
-
Verifique se o arquivo do instantâneo existe no diretório de dados da réplica de destino.
-
Se não, transfira todos os dados do instantâneo da réplica de origem para a réplica de destino. Consulte o [_full_replica_rebuilding].
-
Se sim, verifique se os arquivos de checksum do instantâneo existem e se o horário de modificação e os checksums são idênticos entre as réplicas de destino e origem.
-
Se sim, SUSE Storage pula a transferência dos dados do instantâneo. Essa otimização reduz o uso da CPU, E/S de disco, E/S de rede e o tempo total de reconstrução. Consulte o [_fast_replica_rebuilding].
-
Se não, SUSE Storage calcula e compara checksums em nível de bloco usando o algoritmo SHA-512. Se forem encontradas divergências, apenas os blocos diferentes são sincronizados. Consulte o [_delta_replica_rebuilding].
-
-
-
-
Para o V2 Data Engine
-
Exponha as réplicas de origem e destino e prepare uma cópia superficial usando o mecanismo SPDK.
-
Para cada instantâneo:
-
Verifique se o timestamp do instantâneo, o tamanho real e o checksum correspondem entre a origem e o destino.
-
Se sim, SUSE Storage pula a transferência dos dados desse instantâneo.
-
Se não, verifique se ambos os instantâneos de origem e destino contêm checksums em intervalo.
-
Se sim, busque e compare os checksums de intervalo. Se existirem divergências, apenas os intervalos divergentes são copiados. Consulte o [_fast_replica_rebuilding].
-
Se não, exclua o instantâneo de destino existente. Então, copie todo o instantâneo da réplica de origem para a réplica de destino. Consulte o [_full_replica_rebuilding].
-
-
-
Reconstrução Completa da Réplica
Se a réplica for irrecuperável ou não tiver dados existentes, SUSE Storage sincroniza todos os dados de uma réplica saudável. Ela reconstrói a réplica transferindo toda a cadeia de instantâneos.
A reconstrução completa de réplicas consome uma largura de banda de rede significativa e resulta em pesadas operações de gravação em disco no nó de destino. No entanto, é necessário quando a réplica de destino não possui dados utilizáveis.
Reconstrução de Réplica Delta
A reconstrução de réplica delta é apenas para o mecanismo de dados v1. Começa com uma réplica com falha reutilizável e verifica, bloco a bloco, a integridade dos dados de todos os instantâneos.
-
Isso está disponível apenas para reutilização de réplicas com falha, e há um arquivo de instantâneo existente (com o mesmo nome) no diretório de dados da réplica com falha.
-
Quando um instantâneo não tem checksum, SUSE Storage realiza a reconstrução de réplica delta para este instantâneo em vez disso.
-
Vantagens:
-
Reduz o consumo de largura de banda da rede.
-
-
Desvantagens:
-
Aumento da sobrecarga da CPU porque SUSE Storage calculará o checksum dos dados do instantâneo, bloco a bloco, para verificação da integridade dos dados.
-
O tempo de reconstrução é influenciado pelo desempenho da CPU.
-
Reconstrução Rápida de Réplica
A reconstrução rápida de réplicas é ativada quando as seguintes condições são atendidas:
-
A configuração de reconstrução rápida de réplicas está ativada:
fast-replica-rebuild-enabled: true -
Os arquivos de checksum do instantâneo são criados (os checksums são pré-calculados) usando um dos seguintes métodos:
-
snapshot-data-integrityestá definido comoenabled: Um trabalho agendado calcula os checksums para todos os instantâneos em um intervalo configurado (padrão: 7 dias). -
snapshot-data-integrity-immediate-check-after-snapshot-creationestá definido comotrue: O checksum do instantâneo é calculado imediatamente após a criação do instantâneo.
-
|
Esses cálculos de checksum consomem recursos de armazenamento e computação. O tempo de cálculo é imprevisível e pode impactar negativamente o desempenho do armazenamento. Para mais informações, veja Integridade dos Dados do Instantâneo. |
-
Vantagens:
-
Minimiza o consumo de largura de banda da rede.
-
Minimiza a entrada/saída do disco.
-
-
Desvantagens:
-
Calcular os checksums do instantâneo pode ser demorado.
-
O tempo de cálculo do checksum é imprevisível. Isso pode ser acionado mesmo sob alta carga de E/S.
-
Para mais informações, veja Reconstrução Rápida de Réplicas.
Fatores que Afetam o Desempenho da Reconstrução
-
Cabeçalho do volume grande
-
Por que isso é importante: O cabeçalho do volume é um arquivo especial que nunca possui um checksum pré-computado. Se uma réplica falhar, SUSE Storage deve sempre sincronizar todo o cabeçalho do volume. Um cabeçalho de volume maior aumenta o tempo de reconstrução.
-
Como prevenir: Tire instantâneos regularmente para reduzir o tamanho do cabeçalho do volume. Agende instantâneos antes da manutenção planejada para minimizar o tempo de reconstrução.
-
-
Nenhum instantâneo existe
-
Por que isso é importante: Sem instantâneos, SUSE Storage não pode pular a transferência de dados ou reutilizar dados existentes. Se um instantâneo do cabeçalho do volume for criado, mas seu checksum não estiver pronto, SUSE Storage deve realizar a reconstrução delta. Isso aumenta o uso da CPU devido às comparações de soma de verificação bloco a bloco.
-
Como prevenir:
-
Ative
snapshot-data-integrity-immediate-check-after-snapshot-creationousnapshot-data-integritypara pré-computar somas de verificação. Compensação: Aumenta o uso da CPU, E/S de disco e armazenamento durante a computação. -
Use um trabalho recorrente para criar instantâneos regularmente.
-
-
-
Instantâneo excluído
-
Por que isso é importante: Quando a exclusão de instantâneos começa, os instantâneos gerados pelo sistema são coalescidos no próximo instantâneo. Isso invalida a soma de verificação do próximo instantâneo.
-
Como prevenir:
-
Ative
snapshot-data-integrity-immediate-check-after-snapshot-creationpara garantir que as somas de verificação sejam computadas após a exclusão. -
Crie proativamente um instantâneo e permita tempo para a geração do checksum antes de fazer upgrade ou reconstruções.
-
-
-
Reconstruções simultâneas
-
Por que isso é importante: Executar várias reconstruções no mesmo nó pode sobrecarregar a CPU, a entrada/saída do disco e a entrada/saída da rede, impactando o desempenho.
-
Como prevenir: Ajuste o número de reconstruções simultâneas usando a configuração
concurrent-replica-rebuild-per-node-limit.
-
-
Falhas múltiplas de réplicas
-
Por que isso é importante: Aumenta o tempo e a complexidade da reconstrução. Se
auto-cleanup-system-generated-snapshotfortruee não existirem instantâneos criados pelo usuário, duas réplicas com falha podem acionar pelo menos uma transferência completa de dados.Para mais detalhes, veja Evite "transferência completa de dados" ao reconstruir duas réplicas com falha.
-
Como prevenir:
-
Desative
auto-cleanup-system-generated-snapshotantes de realizar a manutenção. -
Crie instantâneos de usuário de todos os volumes antes de iniciar a manutenção.
-
Use um trabalho recorrente para tirar instantâneos regularmente.
-
-
-
Reconstrução de Réplicas em Escala
-
Por que isso é importante:
A reconstrução de réplicas em escala permite que uma réplica em reconstrução busque instantâneos de várias réplicas saudáveis simultaneamente, melhorando significativamente o desempenho da reconstrução para determinados padrões de carga de trabalho.
-
Como habilitar:
Defina
replica-rebuild-concurrent-sync-limit> 1 para permitir que várias réplicas saudáveis iniciem servidores de sincronização. A réplica em reconstrução, então, busca diferentes instantâneos de diferentes réplicas de origem simultaneamente. Esse recurso é particularmente benéfico para volumes com pequenos pedaços de dados espalhados e lacunas em seus instantâneos.Para mais detalhes, veja Reconstrução de Réplicas em Escala.
-
Casos de Uso
Reinicialização de Nó Durante a Atualização
Quando um nó de trabalho com réplicas é reinicializado como parte de uma atualização planejada:
-
A réplica nesse nó se torna temporariamente indisponível e falha, mas as operações de leitura e gravação continuam.
-
Se o nó se recuperar dentro do
replica-replenishment-wait-interval, SUSE Storage inicia uma reconstrução usando a réplica falha reutilizável.
Durante o processo de reconstrução:
-
SUSE Storage seleciona a réplica falha reutilizável mais recente se várias réplicas falhas reutilizáveis estiverem disponíveis.
-
Com base no cenário de reconstrução:
-
Se a reconstrução rápida de réplicas estiver habilitada e todos os checksums de instantâneos existirem: SUSE Storage aciona [_fast_replica_rebuilding]. Somente os blocos alterados no cabeçalho do volume são sincronizados, evitando tanto a reconstrução completa quanto a delta.
-
Se a reconstrução rápida de réplicas estiver habilitada, mas alguns checksums de instantâneos estiverem ausentes: SUSE Storage aciona [_delta_replica_rebuilding]. Blocos alterados de instantâneos sem checksums são sincronizados, evitando a reconstrução completa.
-
Se a reconstrução rápida de réplicas estiver desativada: SUSE Storage realiza a reconstrução delta sincronizando os blocos alterados de todos os instantâneos, evitando a reconstrução completa.
-
Drenagem de Nó de Curto Prazo
Se um nó trabalhador for drenado para manutenção de curto prazo e depois rapidamente restaurado:
-
A réplica no nó drenado é marcada como falha imediatamente.
-
Se o nó for liberado antes que o
replica-replenishment-wait-intervalexpire, SUSE Storage tenta reutilizar a réplica falha. -
O comportamento de reconstrução segue a mesma lógica descrita no caso de uso anterior.
Configurações Relevantes
| Configuração | Default | Descrição |
|---|---|---|
|
|
Habilita a reconstrução rápida de réplicas. Baseia-se em checksums de instantâneos pré-computados. |
|
Calcula hashes dos arquivos de disco do instantâneo apenas se eles não tiverem hash ou se o tempo de modificação tiver mudado. |
|
|
|
Cronograma para calcular checksums para todos os instantâneos. Padrão: a cada 7 dias. |
|
|
Se habilitado, calcula checksums imediatamente após a criação do instantâneo. |
|
|
Tempo em segundos para esperar antes de criar uma nova réplica. Permite a reutilização de réplicas falhas. |
|
|
Limita o número de reconstruções de réplicas concorrentes por nó. |
|
|
Número máximo de réplicas saudáveis que podem sincronizar com uma réplica em reconstrução simultaneamente. Faixa: 1-5. Definir como 1 desabilita a reconstrução em escala. |
|
|
Determina se réplicas degradadas são reconstruídas enquanto o volume está desconectado. |
Análise de Compromissos de Configuração
-
reconstrução-rápida-de-réplica-habilitada
-
enabled: Ignora a transferência de dados do instantâneo se os checksums estiverem atuais. Fornece reconstruções rápidas, mas não revalida os dados. -
disabled: Realiza reconstrução delta usando comparações de bloco. Mais lento, mas garante a integridade dos dados do instantâneo.
-
-
-
enabled: Por padrão, calcula os checksums dos instantâneos a cada 7 dias. Aumenta o uso de CPU, E/S de disco e recursos.
-
-
snapshot-data-integrity-cronjob
-
Padrão:
0 0 */7 * *Se
snapshot-data-integrityestiver habilitado, isso define quando os checksums dos instantâneos são recalculados. Instantâneos criados entre execuções do cron podem não ter checksums.
-
-
snapshot-data-integrity-immediate-check-after-snapshot-creation
-
true: Calcula imediatamente os checksums do instantâneo após a criação. Aumenta o uso de CPU e E/S de disco. O tempo de conclusão é imprevisível. -
false: Instantâneos podem não ter checksums até a próxima execução do cron. A reconstrução delta será necessária se os checksums estiverem ausentes.
-
-
intervalo-de-espera-de-reabastecimento-de-réplica
-
Padrão:
600segundos-
Intervalo curto: Pode pular a reutilização de réplicas com falha e acionar reconstruções completas.
-
Intervalo longo: Espera mais para reutilizar réplicas com falha, mas pode atrasar a recuperação.
-
-
-
concurrent-replica-rebuild-per-node-limit
-
Padrão:
5-
Limite alto: Pode sobrecarregar os recursos do nó, desacelerando as reconstruções e as cargas de trabalho ativas.
-
Limite baixo: Reduz a contenção de recursos, mas aumenta o tempo de reconstrução devido ao enfileiramento.
-
-
-
limite-de-sincronização-concorrente-de-reconstrução-de-réplica
-
Padrão:
1-
Quando definido como
1, a reconstrução em escala é desativada e apenas a reconstrução tradicional de fonte única é utilizada com consumo mínimo de recursos. Quando definido para valores de 2 a 5, habilita a reconstrução em escala com múltiplas réplicas de origem, proporcionando uma melhoria significativa de desempenho para volumes. No entanto, valores mais altos aumentam o consumo de CPU nas réplicas de origem e destino. -
Essa configuração pode ser substituída por
volume.spec.RebuildConcurrentSyncLimitpara cada volume.
-
-