
Introdução
Erros catastróficos acontecem no mundo dos sistemas distribuídos. Imagina apagar acidentalmente um monte de clusters da tua infraestrutura de blockchain. Esses incidentes podem ter consequências devastadoras.
A melhor maneira de evitar tais desastres é manter reservas de dados adequadas. Ao lidar com estruturas de blockchain empresarial em estruturas de orquestração de contentores, ter dados em reserva é absolutamente crítico, especialmente ao implementar uma estratégia de backup de blockchain kubernetes e uma estratégia de backup de orquestração de contentores confiável.
A combinação dessas tecnologias oferece uma plataforma poderosa e super segura para processar transações de blockchain. A estrutura em si é uma solução de código aberto hospedada sob a gestão da comunidade, que oferece uma plataforma para todas as implementações relacionadas a livros-razão distribuídos.
Esta estrutura tem grandes vantagens, como alto desempenho e escalabilidade. Ela oferece um alto nível de confiança entre participantes com identidades conhecidas e consultas avançadas em um livro-razão imutável.
Este guia oferece um guia completo para backup e recuperação de blockchain, protegendo e recuperando dados em redes blockchain que funcionam em ambientes em contentores sem problemas, incluindo cenários de recuperação de desastres do Hyperledger Fabric.
Entender por que as reservas de dados são necessárias é a base desse processo.
Por que as reservas de dados são essenciais
Criar reservas de dados não é opcional, mas obrigatório por várias razões importantes.
Confiabilidade do sistema
Ter reservas de dados permite que as equipas trabalhem com mais confiança. Ao usar armazenamento baseado na nuvem para backups, um nível adicional de segurança evita diferentes formas de perda de dados causadas por:
- •Desastres naturais
- •Erro humano
- •Ataques maliciosos
Por exemplo, se ocorrerem erros na reinicialização do pod ou falhas na configuração correta do caminho de montagem para um aplicativo na especificação de implantação, a perda de dados será inevitável sem backups adequados.
Robustez do sistema
As reservas de dados ajudam a tornar as aplicações mais robustas em caso de falhas e erros inesperados. Os membros da equipa podem apagar volumes acidentalmente durante operações normais. Ter reservas permite que as aplicações sejam restauradas para o estado mais atualizado, reduzindo o tempo de inatividade e a perda de dados.
Proteção e conformidade com normas
Ter reservas ajuda a melhorar a segurança geral das aplicações e garante a conformidade com os padrões da indústria, protegendo contra eventos inesperados de corrupção de dados e ataques maliciosos. Isso é especialmente crítico em indústrias regulamentadas, onde os padrões de integridade de dados são elevados.
Modificações na infraestrutura
As reservas de dados facilitam a navegação pelas modificações da infraestrutura. Ao migrar redes blockchain para diferentes provedores de nuvem, podem ser necessários diferentes mecanismos de armazenamento para reduzir custos. Ter backups abrangentes torna essas transições suaves e sem riscos.
Implementação da rede
Este guia pressupõe uma configuração de rede blockchain pré-existente numa plataforma de orquestração de contentores com namespaces dedicados para cada organização onde todos os seus serviços operam.
A configuração da rede deve ter um namespace para cada organização e, dentro de cada namespace, deve haver certos tipos de implementações.
Cada namespace organizacional normalmente terá:
- •Alguns nós pares
- •Bases de dados Ledger
- •Servidores de autoridade certificadora para organizações que precisam de registar novas identidades
- •Bases de dados do servidor da autoridade certificadora
- •Nós de serviço de encomendas para organizações que contribuem para o serviço de encomendas
Persistência de dados em ambientes de contentores
As aplicações com estado precisam de armazenar e recuperar dados para funcionar corretamente. A aplicação pode gerir essa responsabilidade sozinha ou pode delegá-la total ou parcialmente a outra aplicação com estado, como bases de dados.
No final das contas, tudo é guardado como ficheiros ou pastas. Essas aplicações geralmente são configuradas para usar determinados caminhos de ficheiros nos quais armazenam dados persistentes.
As implementações de contentores são usadas para conseguir a persistência dos dados da blockchain usando combinações de:
- •Montagens de reivindicação de volume persistente com volumes persistentes
- •Mapas de configuração
- •Objetos de armazenamento seguro
Dados confidenciais, como chaves criptográficas e certificados, são montados como objetos de armazenamento seguro. Dados de configuração, como ficheiros de especificação, são montados como mapas de configuração.
Isso significa que os ficheiros e pastas encontrados em todos os caminhos de montagem de reivindicação de volume persistente, objetos de armazenamento seguro e mapas de configuração compõem o conjunto completo de dados para essa implementação.
Proteja a sua infraestrutura de blockchain hoje mesmo
Implemente estratégias de backup abrangentes para proteger os seus dados de blockchain e garantir a continuidade dos negócios.
Organização dos dados do nó par
Os nós pares armazenam alguns dados localmente em locais padrão e delegam o restante dos dados para bases de dados de contabilidade.
A pasta de segurança da camada de transporte tem o certificado e o par de chaves para o nó par.
A pasta de configuração do fabric inclui ficheiros de especificações que contêm a configuração que foi usada quando o par foi iniciado.
A pasta do provedor de serviços de associação guarda as informações de associação dos pares, o certificado e a chave de inscrição, a cadeia de certificados do servidor da autoridade certificadora.
A pasta do provedor de serviços de adesão de administradores guarda as credenciais do administrador.
A pasta de produção contém partes dos dados do livro-razão, que incluem:
- •A própria blockchain
- •Dados instalados do chaincode e do ciclo de vida
- •Armazenamento de dados privados
- •Armazenamentos transitórios incluídos durante o envio da transação
Organização dos dados do serviço de encomendas
Os nós de serviço de encomendas armazenam a maioria dos dados localmente em locais padrão. Várias pastas são semelhantes às dos nós pares, mas estas são usadas para conter:
- •Informações sobre a adesão ao serviço de encomendas
- •Certificado de segurança da camada de transporte e pares de chaves
- •Certificado de inscrição e pares de chaves
A pasta ledger guarda as cadeias das quais este serviço de ordenação faz parte e as operações em espera.
A pasta de produção contém os ficheiros específicos de um determinado algoritmo de consenso e instantâneos.
Organização dos dados do servidor da autoridade certificadora
Os servidores de autoridade certificadora armazenam alguns dados localmente em locais padrão e o restante em bases de dados do servidor de autoridade certificadora.
A pasta Autoridade certificadora do tecido tem:
- •Certificados de servidor
- •Certificados de segurança da camada de transporte
- •Ficheiros de configuração que são usados quando o serviço é iniciado
Ao restaurar, pode ser que queira manter e usar novos certificados de segurança da camada de transporte e o ficheiro de configuração do servidor para a autoridade certificadora, já que isso representa as últimas alterações no perfil, mas substitua o conteúdo restante, como certificados de inscrição, pelo conteúdo do cluster anterior.
Estratégias para a preservação de dados
Primeiro, certifique-se de preservar objetos de armazenamento seguro e mapas de configuração. Existem vários métodos para fazer backup de dados que existem em volumes.
Uma maneira é tirar instantâneos dos volumes que esses serviços usam. Outra maneira é usar serviços ou ferramentas especializadas, projetadas especificamente para essa finalidade, com diferentes recursos e capacidades.
Escolha a estratégia de preservação certa com base nas suas necessidades e contexto. Algumas abordagens podem facilitar a migração de cargas de trabalho entre clusters, enquanto outras podem não facilitar.
Procedimentos de recuperação de dados
A estratégia de recuperação depende da estratégia de preservação implementada. Consulte a documentação de restauração apropriada para o método escolhido.
Comece recriando objetos de armazenamento seguro e mapas de configuração a partir dos dados preservados. Em seguida, coloque os serviços em modo de espera e copie os dados preservados para o pod.
Repita esse processo para todos os serviços em todos os namespaces, tomando cuidado para restaurar os dados montados normalmente.
Inicie primeiro serviços independentes, como bases de dados de livros-razão e bases de dados de servidores de autoridade certificadora, e depois prossiga com os restantes serviços. Esta abordagem por etapas ajuda a garantir que as dependências sejam atendidas antes do início dos serviços dependentes.
Verificar a consistência da preservação
As redes blockchain são sistemas distribuídos, por isso os processos de backup e restauração apresentam desafios de consistência de dados.
A qualquer momento, a altura da blockchain nos nós pares pode variar devido a vários motivos, incluindo:
- •A velocidade da rede
- •Proximidade geográfica
- •O tipo de nó par
Os nós pares líderes são os primeiros a receber blocos do serviço de ordenação, por isso podem confirmar os blocos primeiro. Alguns nós pares podem sofrer falhas internas das quais se recuperam repetindo etapas, o que tem como consequência natural a confirmação dos blocos mais tarde do que os outros.
Isso pode ser mitigado de duas maneiras. Primeiro, crie uma janela sem transações, na qual nenhuma transação seja enviada para a rede. Em seguida, consulte o estado do livro-razão na blockchain usando comandos da interface de linha de comando peer para garantir que todos os nós peer estejam na mesma altura antes de iniciar o processo de preservação.
Após a restauração dos dados, repita o processo de verificação para garantir que a restauração foi feita corretamente. Veja os registos dos serviços de pares e de encomendas para garantir que tudo está a funcionar corretamente.
Esta etapa de verificação é fundamental para garantir que a rede restaurada funcione de forma idêntica à rede original antes do ponto de preservação.
Considerações finais
Este guia aprofundou-se em como e onde as redes blockchain em plataformas de orquestração de contentores armazenam dados, os benefícios de preservar dados e como restaurar ou migrar redes, juntamente com testes de verificação para garantir o sucesso.
Esse processo precisa de um planeamento e execução cuidadosos. Entender a organização dos dados de diferentes tipos de nós é essencial para uma preservação e recuperação bem-sucedidas.
Cada componente armazena dados de uma maneira diferente e as abordagens holísticas para a preservação devem considerar todas essas variações.
A recuperação não é só uma questão de copiar os ficheiros para os seus locais originais. Envolve uma sequência cuidadosa, que começa com serviços independentes e avança para os dependentes.
A natureza distribuída das redes blockchain adiciona alguma complexidade e significa que etapas de verificação adicionais devem ser tomadas para garantir que todos os nós estejam sincronizados após a recuperação.
A natureza distribuída das redes Blockchain significa que há mais complexidade, e precisamos ter procedimentos robustos de preservação e recuperação para garantir a continuidade dos negócios e proteger dados valiosos da blockchain em caso de:
- •Eliminações acidentais
- •Migrações de infraestrutura
- •Cenários de recuperação de desastres
Testar regularmente esses procedimentos é igualmente importante, para garantir que funcionem corretamente quando realmente precisares.


