O que é armazenamento em bloco?
Eu sei que você bloqueou seus calendários para verificar aqui e ler nosso blog semanal sobre formatos de armazenamento, certo? Bem, só para o caso de você não ter feito isso, não deixe de conferir o artigo introdutório da semana passada que cobre todas as bases do armazenamento de arquivos. O blog desta semana é sobre armazenamento em bloco, um formato um pouco mais sutil do que arquivo e objeto, mas não menos atraente.
Parte 2. O que é Armazenamento em Bloco?
O armazenamento em bloco é um formato de armazenamento que trata cada volume como um disco rígido separado. Sua configuração é de responsabilidade do administrador de armazenamento. É por isso que é chamado de “bloco”: ele organiza e estrutura os dados como blocos de tamanho fixo. Cada bloco é atribuído com metadados que servem como seu endereço único. O que é interessante sobre o armazenamento em bloco é que ele não está limitado a um único ambiente: você pode armazenar vários blocos em um ambiente e o restante em outro.
O armazenamento em bloco é operado e gerenciado por meio de software único, separado da mídia de armazenamento. Este programa controla a forma como os blocos são alocados e organizados no espaço em disco. A opção de recuperação também faz parte de sua funcionalidade, pois este software usa identificadores únicos para localizar os blocos necessários e organizá-los em arquivos conforme a necessidade do usuário. A maneira mais tradicional de operar e controlar tais programas de gerenciamento é usando um sistema operacional de servidor para formatar dispositivos de bloco com um sistema de arquivos. Os usuários podem acessar volumes de armazenamento em bloco através de protocolos como NVMe-oF, NVMe sobre TCP, Fiber Channel sobre Ethernet (FCoE) ou iSCSI. Além disso, armazenamento diretamente conectado, drives e RAID de servidor também são dispositivos de armazenamento em bloco.
Prós & Contras do Armazenamento em Bloco
Hoje, o armazenamento em bloco é uma solução bastante popular para muitos ambientes. Isso não é surpreendente, considerando algumas de suas vantagens. Naturalmente, ele também tem desvantagens.
Prós:
- Alto desempenho: O acesso ao armazenamento em bloco usando protocolos de alto desempenho é uma combinação perfeita para aplicativos críticos de missão. Praticamente, garante alto desempenho de I/O com baixa latência como a cereja do bolo. Seu uso mais popular é uma alternativa de alto desempenho ao armazenamento de arquivos, usado predominantemente em ambientes SAN.
- Confiabilidade: O armazenamento em bloco geralmente tem uma baixa taxa de falhas, uma vez que blocos de dados são armazenados em unidades autônomas. Uma organização pode restaurar dados de mídias de backup rapidamente em caso de falha.
- Modificações Incrementais: Uma das coisas mais valiosas sobre o armazenamento em bloco em termos práticos é que é fácil de modificar. Dentro de um ambiente de armazenamento em bloco, arquivos podem ser alterados sem a necessidade de remover dados existentes, como teria acontecido no caso de um sistema de armazenamento de arquivos. Assim, os blocos podem ser submetidos a qualquer operação, incluindo substituição, exclusão ou inserção. Em outras palavras, se você quiser mudar um bloco, não há necessidade de criar um novo. Basta criar outra versão.
Contras:
- Vinculado ao Servidor: O sistema de armazenamento em bloco geralmente está vinculado ao servidor, tornando impossível acessá-lo de outros servidores simultaneamente. Você pode colocar algum software que resolva isso em cima, é claro. Infelizmente, isso não remove os inconvenientes, pois é uma pressão adicional sobre o sistema como um todo, afetando o desempenho.
- Metadados Limitados: Ao contrário de arquivos ou armazenamento de objetos, volumes de armazenamento em bloco têm quase nenhum metadado. Não é difícil imaginar como isso pode refletir mal em operações onde o uso de metadados é crítico, como busca e recuperação. Em um ambiente de armazenamento em bloco, um aplicativo tem que passar por muitos blocos para ter sucesso na busca. No entanto, sistemas de arquivos específicos, como ZFS ou Btrfs, podem fornecer capacidades de metadados para aumentar a integridade dos dados.
- Difícil de Arcar: O armazenamento em bloco é de fato performático e confiável, mas precisa de SANs, que são caras. Tal array de armazenamento requer algumas despesas financeiras consideráveis, sem mencionar a manutenção profissional e regular. Mesmo uma grande empresa pode achar que suportar e manter o armazenamento em bloco não é tão fácil de arcar.
Casos de Uso do Armazenamento em Bloco
O armazenamento em bloco rápido e performático é muito apreciado. Aqui estão alguns possíveis casos de uso:
- Armazenamento de Banco de Dados: Velocidade, desempenho e confiabilidade. Essas são as razões que tornam o armazenamento em bloco excelente para uso em bancos de dados e como um bom suporte para aplicativos empresariais. Blocos de dados também são simples de modificar, o que torna isso uma boa combinação para arquivos frequentemente atualizados.
- Armazenamento de Servidor: Sistemas de armazenamento em bloco distribuem dados em vários volumes. Um volume de armazenamento baseado em bloco é simples de criar e formatar. É perfeito para funcionar como armazenamento de backend para um sistema virtualizado. Você pode criar várias VMs conectando um servidor bare-metal a esse bloco. Por exemplo, muitas empresas costumam usar armazenamento em bloco para implantar volumes VMFS em toda a empresa.
- Servidores de Email: Organizações frequentemente escolhem tecnologia de armazenamento em bloco altamente performática e confiável como uma opção padrão para armazenar emails.
E com isso, a compreensão fundamental dos formatos de armazenamento de arquivos e blocos foi estabelecida. Esperamos que você tenha achado refrescante revisitar esses tipos de armazenamento, assim como nós. Com um último blog na série, discutiremos o mais novo dos três (e nosso favorito pessoal ?) armazenamento de objetos na próxima semana.