Backup vs Raid

Backup vs Raid
Os backups são uma parte crucial da nossa vida digital. Todo computador de bancos de dados gigantes a um único computador pessoal ou dispositivo móvel precisa de um backup. Um lugar onde os dados mais relevantes do usuário podem ser armazenados por um longo tempo e também armazenados de tal maneira que são recuperáveis ​​no momento da necessidade. Podemos fazer uma distinção entre os dados em nosso sistema atualmente em execução, vamos chamá -lo dados ao vivo, e a backup dados. Este último sendo armazenado longe do sistema atual que está usando os dados ao vivo.

RAID, se preocupa com os dados ao vivo, é um mecanismo com o qual um sistema em execução combina vários discos em uma única entidade de armazenamento. Os dados são então espalhados por todos os discos de tal maneira que podem sobreviver ao fracasso de pelo menos um (ou mais) dos discos físicos. O tipo mais simples de matriz de ataque é RAID1, ou espelhamento. É aqui que você copia (ou espelho) os mesmos dados em dois ou mais discos, de modo que, se um dos discos falhar, os dados ainda podem sobreviver e ainda ser usados ​​ativamente. Existem outras configurações de ataque também, e discutiremos isso à medida que avançamos.

Sobre RAID

Raid, ou uma variedade redundante de discos baratos, é um mecanismo para armazenar dados entre discos. Há uma grande “matriz” de configuração de ataque que você pode acompanhar, mas os dois mecanismos básicos em que todos se baseiam são os seguintes:

1. Espelhamento:

O espelhamento implica que seus blocos de dados são copiados, espelhados, em vários discos. Se você refletir seus dados em três discos, poderá sobreviver até dois disco a qualquer momento, os discos falhados podem ser substituídos por novos sem muito aborrecimento. Da mesma forma, se você copiar dados através n+1 discos, você pode suportar n discos falhando. A desvantagem disso é que você só obtém a capacidade de armazenamento igual ao menor disco da sua matriz de ataque.

2. Paridade:

Uma segunda abordagem é dividir seus dados em duas partes, usando os dois blocos de dados do usuário, você pode criar um terceiro bloco de 'paridade'. Os três blocos são todos do mesmo tamanho e são espalhados por diferentes dispositivos. É necessário um mínimo de três dispositivos para que esta configuração funcione. Se algum disco falhar, você poderá recriar os blocos armazenados nesse disco usando os outros dois blocos. Por exemplo, se o segundo bloco de usuário for perdido, o primeiro bloco e o bloco de paridade podem ser usados ​​para calcular o segundo bloco de usuário. Se você está interessado em como isso funciona, confira esta maravilhosa explicação.

Este método pode ser aprimorado para ter 2 ou até 3 blocos de paridade. Mas mais de três blocos de paridade não são vistos na indústria que frequentemente. Se você tiver um bloco de paridade, pode sobreviver a uma falha de disco. Bloco de duas paridade significa que você pode suportar dois discos falhando e assim por diante.

É mais eficiente em termos de utilização de armazenamento do que espelhamento. Se você tiver um bloco de paridade, precisará apenas de 50% mais de armazenamento físico por dados reais do usuário que você está armazenando. Isso significa armazenar 1 GB de dados que você precisará de 1.5 GB de armazenamento (além de uma pequena sobrecarga para os metadados). Isso é muito mais eficiente do que o esquema de espelhamento mais eficiente, onde você precisa de pelo menos 2 GB de armazenamento para refletir 1 GB de dados entre dois discos.

A desvantagem é que as operações aleatórias de gravação serão desaceleradas, graças ao cálculo extra de computação e operação de gravação associada ao bloco de paridade. Além disso, a confiabilidade não é tão boa quanto a de um n+1 Discos espelhados, onde você pode se preparar para qualquer número arbitrário de discos falhando.

As configurações de invasão podem ser tão complexas ou simples quanto você deseja que elas sejam, você pode combinar as estratégias de paridade e espelhamento e modificá -las ao gosto da sua empresa. Existem controladores de invasão dedicados aos quais você conecta seus discos físicos, e o sistema operacional vê um único disco lógico, como mostrado pelo controlador. LSI é um desses fornecedores de controladores de RAID. Você também pode executar ataques no software openzfs é provavelmente a melhor aposta que você tem nesse sentido.

Um último tipo de ataque, que recebe uma menção honrosa é RAID 0. Tecnicamente, não é um esquema de ataque, porque não há redundância envolvida aqui. A idéia por trás do RAID 0 é simplesmente espalhar seus dados em vários dispositivos de armazenamento sem qualquer resiliência contra falhas de disco. A vantagem é que você obtém melhorias de desempenho fazendo isso. Se você está escrevendo 1 GB de dados em um único disco, o processo é lento. O disco só pode fazer um número limitado de operações de gravação por segundo e seu sistema operacional deve esperar que ele termine essa operação antes que novos dados sejam enviados. Se você espalhar os mesmos 1 GB de dados em dois desses discos, poderá escrever (e ler) de ambos simultaneamente e obter bastante melhoria de desempenho.

Backups

O conceito de backups é discutível mais importante que o de RAID. Um backup, no contexto do gerenciamento de armazenamento, é uma boa cópia conhecida dos dados, de um determinado momento, do qual você pode restaurar os arquivos de volta ao seu sistema principal quando necessário. Em termos de implementação, existem muitas soluções hospedadas em nuvem e muitas também offline que podem ser usadas.

Tarsnap e Backblaze são meus serviços de backup gerenciados favoritos para casos de uso privado e comercial. Você também pode incluir Google Drive, iCloud ou Dropbox nesta definição de um cópia de segurança solução, mas eles são direcionados mais para o mercado de consumidores do que a empresa. No entanto, o princípio subjacente ainda é o mesmo. Quando você faz login em um novo iPhone ou iPad todos os dados, seus contatos, fotos, biblioteca de mídia etc., é sincronizada com a sua conta do iCloud sem problemas e, enquanto você continua usando o dispositivo, os dados mais recentes são silenciosos na nuvem e você não Temos que se preocupar com isso.

Sua solução de backup pode ser tão simples quanto copiar dados para um disco rígido externo ou usar o RSYNC (ou o ZFS Envie, se você estiver usando o OpenZFS) para gerar periodicamente uma cópia de todas as informações relevantes. Isso pode incluir sua pasta de documentos, seu banco de dados, seu repositório de origem ou mesmo o sistema de arquivos raiz inteiro dividido em um zíper plano ou um tarball. Os critérios importantes que uma boa solução de backup deve atender são os seguintes:

  1. Os backups devem ocorrer com frequência - se você fazer backup de dados todos os meses, em vez de cada semana, corre o risco de perder até um mês de dados quando o desastre ocorre.
  2. Seus backups devem voltar no tempo - o armazenamento de backup é finito. Às vezes você tem que jogar fora backups mais antigos. Quanto mais armazenamento você tiver, melhor seus backups podem ser. Suponha que você faça backup de seus dados semanalmente, mas jogue fora os backups com mais de 2 semanas. Se um arquivo for excluído acidentalmente, e isso passar despercebido por duas semanas, você não terá uma maneira de trazê -lo de volta.
  3. Seus arquivos devem realmente ser restauráveis ​​- se você nunca tentou recuperar seus dados do backup, você não tem um backup. Você não deve aprender a recuperar dados, no momento crítico em que sofreu uma perda de dados. Planeje com antecedência e saiba como restaurar o sistema do último bom backup conhecido.
  4. Seu backup deve ser segregado do sistema em execução - quando o desastre ocorrer e todos os seus arquivos no servidor de produção são criptografados, excluídos ou corrompidos, você precisa garantir que o mesmo não aconteça com seu backup. Uma boa maneira de garantir que isso é garantir que seu dispositivo de backup não esteja 'conectado' ao seu ambiente de produção, eu.e, desconecte seu disco rígido USB, desmonte o seu sistema de arquivos NFS quando terminar o backup. Pelo menos, não dê ao sistema de produção o privilégio de substituir ou modificar seus dados de backup. Faça-o somente leitura.

Agora que sabemos um pouco sobre ataque e backup, vamos destacar algumas diferenças entre eles.

Arquivos e blocos

O RAID está sempre preocupado com blocos de dados, não como o sistema de arquivos apresenta esses dados ao usuário. Tanto o software quanto o RAID de hardware lida com dados como blocos de informação, o tamanho dos blocos pode variar de 128 kib a 1 mib.

Backups, por outro lado, são muito mais flexíveis. Eles geralmente são realizados no nível do sistema de arquivos, embora não haja regra rígida e rápida para que este seja o caso. Eles também são mais granulares. Você pode restaurar um único arquivo do seu backup, se sua solução for flexível o suficiente. Matrizes RAID não são backups, são apenas uma maneira de espalhar dados em vários discos. Se um arquivo for excluído, todos os seus blocos espelhados e blocos de paridade são libertados. Fim da história.

Casos de uso

Backups são para todos. A abordagem e a extensão podem variar de caso de uso pessoal para empreendimentos, mas todos com uma vida digital precisam de backup. RAID é mais um recurso específico de negócios/empresa. Você vê matrizes de invasão em servidores, dispositivos de armazenamento como NAS e Sans, hipervisores em nuvem, etc. Praticamente qualquer lugar que armazena dados críticos ao vivo use alguma forma de ataque. Até os servidores que executam seus backups hospedados em nuvem provavelmente usam matrizes de invasão. Estas não são tecnologias mutuamente exclusivas.

Isso não significa que você não pode usar o RAID para seu caso de uso pessoal, ele só tem mais utilidade nas empresas. Parte do motivo por trás disso é que, na empresa, os discos são atingidos com operações de IO 24/7. No ambiente de produção, como o armazenamento de um banco de dados ou serviço de streaming de vídeo ou um hipervisor em nuvem, o dispositivo de armazenamento do seu servidor sob carga constante, os dados estão sendo constantemente lidos e gravados para esses dispositivos e, geralmente, por vários aplicativos simultaneamente. Nessas condições, suas unidades têm muito mais probabilidade de falhar. Ter uma configuração de invasão significa se uma unidade falhar, você sofre pouco ou nenhum tempo de inatividade. A maioria dos servidores pode continuar operando mesmo após uma falha de disco para não perder novas informações e solicitações em cada segundo.

Um computador de mesa comum dificilmente pode recriar a mesma condição estressante, mesmo que o disco morra, se você estiver usando uma solução de backup como backblaze, poderá recuperar a maioria dos seus dados perdidos e perder algumas horas no trabalho é provavelmente a pior coisa que pode acontecer. Mesmo isso está se tornando uma raridade graças a soluções hospedadas em nuvem como Adobe Creative Cloud, Office 365, etc.

Raid não é um substituto para o backup

Se houver um único valor que você deseja deste artigo, deve ser isso. Raid não é um substituto para o backup. Sempre backre seus dados! Há muitas pessoas por aí que pensam que, se você tem ataque, significa que os dados são seguros em vários discos e, portanto, não há necessidade de fazer backup. Nada está mais longe da verdade. RAID deve lidar com uma única questão específica - os discos falhando ou devolvendo dados errôneos. Ter o ataque não o protege de um milhão de outras ameaças como as seguintes:

  1. Erros de usuário e deleções acidentais
  2. Aplicação ou bugs do sistema operacional causando corrupção de dados generalizados
  3. Ransomware ou outros criptografos de malware, excluindo ou corrompendo seus dados
  4. Falha dos próprios controladores de invasão

Os dados da sua matriz de ataque estão ao vivo. Se o sistema operacional, um aplicativo (ou um usuário) ficar com desconto e excluir alguns arquivos aqui e ali, o arquivo será excluído em toda a sua matriz RAID. Ter uma cópia separada de seus dados, um backup, é a única maneira de você se proteger contra esse tipo de cenário.

Conclusão

Se você está preocupado com seus dados, sua primeira preocupação deve ser uma solução de backup. A maioria dos usuários de mesa, exceto talvez usuários de energia, deve investir mais em um backup confiável em vez de brincar com RAID1, RAID5 ou RAIDZ. Se você deseja construir seu próprio servidor de backup, precisa pensar em uma política de backup decente e em um back -end de armazenamento confiável. Este artigo talvez seja um bom lugar para começar. Você pode usar o RSYNC ou o ZFS enviar para obter uma cópia de época de seus dados para este back -end.

Se você estiver na empresa e está considerando uma solução RAID para armazenar todos os seus dados ao vivo. Considere usar o OpenZFS, oferece uma solução muito flexível, desde o espelhamento N-Disk até Raidz1 com um bloco de paridade até Raidz2 e Raidz3 com 2 e 3 blocos de paridade. Você precisa considerar muito sobre os requisitos do seu aplicativo antes de tomar uma decisão. Existem trocas entre suas performances de leitura de leitura, resiliência e eficiência de armazenamento. No entanto, eu recomendaria que você só pense em RAID depois de ter uma solução de backup decidida.