Diferença entre armazenamento em bloco e armazenamento de objetos

O armazenamento de arquivos não é abordado muito nas respostas anteriores - O armazenamento de arquivos armazena dados em uma hierarquia de arquivos e pastas que podem ser gerenciados por todo o sistema de armazenamento e podem incluir discos rígidos externos, armazenamento conectado à rede e backup online. É apresentado da mesma maneira para os dispositivos de armazenamento e recebimento e pode ser acessado por CIFS, NFS ou SMB, enquanto o armazenamento em bloco é acessado por iSCSI, Fibre Channel ou Fibre Channel sobre Ethernet. O armazenamento baseado em bloco é visto como mais maduro, mas o armazenamento de arquivos é fácil de gerenciar e implementar. Também é mais barato de usar do que o armazenamento em bloco. Ele é usado com mais freqüência em computadores domésticos e em empresas menores, enquanto o armazenamento em nível de bloco é usado por empresas maiores, com cada bloco sendo controlado por seu próprio disco rígido e gerenciado através de um sistema operacional baseado em servidor.

Curiosamente, as VTLs podem ser armazenamento em nível de bloco e de arquivo por causa de seus recursos de desduplicação, que os usuários no meu site IT Central Station observam que são muito valiosos no StoreOnce. Eles também mencionam que "

compartilhamento de arquivos também é muito bom

"no dispositivo. No entanto, para realmente integrar vários tipos de armazenamento, a HP recomenda criar uma infraestrutura convergente (embora nossos usuários tenham dito que

O NFS está agora disponível no 3PAR

)

O armazenamento em bloco é um requisito fundamental para infraestruturas virtuais. É a base para armazenar máquinas virtuais e dados usados ​​por essas máquinas. Antes do suporte ao armazenamento em bloco estar disponível.

Armazenamento em bloco, o armazenamento aparece como um dispositivo de bloco que usa iSCSI, Fibre Channel, NFS ou vários outros protocolos proprietários para conectividade de back-end.

O Armazenamento de Objetos fornece um armazenamento de objetos em expansão distribuído entre nós em um cluster do OpenStack.

O objeto armazena dados de referência como objetos binários (em vez de arquivos ou LUNs), geralmente armazenando ou recuperando o objeto inteiro em um comando. Os objetos são armazenados e referenciados usando protocolos HTTP (baseados na Web) com comandos simples, como PUT e GET.

No caso do Swift, os objetos são fisicamente armazenados em "servidores de objetos", uma das várias entidades que formam um "anel" que também inclui servidores proxy, servidores de contêiner e servidores de contas.

O armazenamento de arquivos é uma variante do armazenamento de objetos em que o objeto é um arquivo. Uma API é usada para acessar esses arquivos semelhante ao caso do armazenamento de objetos.

O armazenamento em bloco é o local em que um grupo inteiro de bits (um bloco) é exposto como um dispositivo de bloco para simular um dispositivo de armazenamento de hardware. Esse dispositivo de bloco é então montado pelo sistema operacional convidado como se fosse um disco físico. O subsistema de armazenamento está ciente apenas dos blocos alocados, mas não vê os objetos dentro do bloco.

O armazenamento de objetos é onde uma API é exposta com primitivas de manipulação de objetos. Você pode armazenar, recuperar, excluir um objeto por meio desta API. Diferentemente do armazenamento em bloco, a plataforma de armazenamento subjacente está ciente dos objetos que estão sendo armazenados.

O armazenamento de arquivos é uma variante do armazenamento de objetos em que o objeto é um arquivo. Uma API é usada para acessar esses arquivos semelhante ao caso do armazenamento de objetos.

O armazenamento em bloco é um armazenamento persistente organizado em "blocos" não estruturados, cada um com o mesmo comprimento. Uma unidade de disco comum, matriz RAID ou chave de armazenamento USB são exemplos de "armazenamento em bloco" conectado localmente.

O armazenamento em bloco pode ser "conectado localmente" ou conectado à "rede", em uma SAN, falando de protocolos de rede como o iSCSI.

Os dispositivos de armazenamento em bloco geralmente são formatados com um sistema de arquivos, como ext3 ou btrfs do Linux, ou FAT32 ou NTFS da Microsoft. Os sistemas de arquivos Linux, como o ext3, implementam a semântica do sistema de arquivos POSIX.

No OpenStack, o armazenamento em bloco é fornecido pelo sistema Nova que trabalha com o sistema Cinder. Quando você inicia uma instância de computação do Nova, ela provavelmente vem com alguns dispositivos de armazenamento em bloco por padrão, no mínimo para armazenar as partições de leitura / gravação do sistema operacional em execução. Essas instâncias de armazenamento em bloco podem ser "efêmeras" (os dados desaparecem quando a instância de computação para) ou "persistentes" (os dados são mantidos, podem ser usados ​​mais tarde depois que as instâncias de computação param), dependendo da configuração do sistema OpenStack você está usando.

Um dispositivo de armazenamento em bloco geralmente pode ser conectado e em uso de leitura / gravação por apenas uma máquina ou instância de computação por vez.

O armazenamento de objetos é o armazenamento persistente de "objetos" de uma maneira útil para o acesso HTTP e para garantir o armazenamento seguro de dados. Um objeto é um fluxo de bytes, com um nome associado, um tipo MIME, uma lista de controle de acesso (ACL) e outros metadados aleatórios e relacionados ao HTTP. Depois que um objeto é criado e gravado, ele não pode ser alterado, apenas copiado ou excluído.

Os sistemas de armazenamento de objetos geralmente são configurados para oferecer garantias muito fortes de que os dados não serão perdidos, mesmo em um desastre. É comum manter três cópias em dois datacenters geograficamente separados.

Uma vez gravado, um objeto pode ser lido por muitos clientes ao mesmo tempo. Se você deseja "espalhar" os dados: escrevê-los uma vez e lê-los muitas vezes por muitas máquinas em um futuro próximo e distante, o armazenamento de objetos pode ajudar a implementar esse padrão.

Com algum cuidado na nomeação de um objeto e apontando o CNAME DNS da parte do nome de domínio de uma URL para o endereço de um serviço de Armazenamento de Objetos, o objeto pode ser recuperado e exibido por qualquer navegador da Internet. Grande parte do conteúdo, especialmente gráficos e ícones, exibidos no navegador da web, na verdade são objetos servidos no serviço AWS S3 da Amazon.

No OpenStack, o sistema de armazenamento de objetos é um dos dois projetos originais e é chamado Swift.