Uma breve comparação da arquitetura SDS ou a localização de uma plataforma de armazenamento adequada (GlusterVsCephVsVirtuozzoStorage)

Este artigo foi escrito para ajudá-lo a escolher a solução certa e entender as diferenças entre os SDS, como Gluster, Ceph e Vstorage (Virtuozzo).

O texto usa links para artigos com uma divulgação mais detalhada de determinados problemas; portanto, as descrições serão tão breves quanto possível, usando pontos-chave, sem água desnecessária e informações básicas que você pode obter independentemente na Internet, se desejar.

Na verdade, é claro, os tópicos abordados exigem tons de texto, mas no mundo moderno mais e mais pessoas não gostam de ler muito)))), para que você possa ler rapidamente e fazer uma escolha, e se não for claro seguir os links ou as palavras incompreensíveis do Google))), e este artigo como um invólucro transparente para esses tópicos profundos, mostrando o preenchimento - os principais pontos-chave de cada decisão.

Gluster


Vamos começar com o Gluster, que é usado ativamente pelos fabricantes de plataformas hiperconvergentes com SDS com base em código aberto para ambientes virtuais e pode ser encontrado no site da RedHat na seção de armazenamento, onde você pode escolher entre duas opções de SDS: Gluster ou Ceph.

O Gluster consiste em uma pilha de tradutores - serviços que fazem todo o trabalho de distribuição de arquivos etc. Brick - um serviço que serve um disco, Volume - um volume (pool) - que combina esses tijolos. A seguir, vem o serviço de distribuição de arquivos em grupos devido à função DHT (tabela de hash distribuída). Não incluiremos o serviço Sharding na descrição, pois os links abaixo descreverão os problemas associados a ele.

imagem

Durante a gravação, o arquivo inteiro fica no bloco e sua cópia é gravada em paralelo no bloco no segundo servidor. Além disso, o segundo arquivo já será gravado no segundo grupo de dois blocos (ou mais) em servidores diferentes.

Se os arquivos tiverem o mesmo tamanho e o volume consistir em apenas um grupo, tudo estará bem, mas sob outras condições, os seguintes problemas surgirão das descrições:

  • o local nos grupos não é utilizado de maneira uniforme, depende do tamanho dos arquivos e, se não houver espaço suficiente no grupo para gravar o arquivo, você receberá um erro, o arquivo não será gravado e será redistribuído para outro grupo;
  • ao escrever um arquivo, o IO vai para apenas um grupo, o restante fica ocioso;
  • Você não pode obter o pedido de entrada / saída do volume inteiro ao escrever um único arquivo;
  • , , .

Pela descrição oficial da arquitetura, também se entende involuntariamente que o gluster funciona como um armazenamento de arquivos em cima do RAID de hardware clássico. Houve tentativas de desenvolver arquivos Sharding em blocos, mas esse é um complemento que coloca perdas de desempenho em uma abordagem arquitetural existente, além do uso de componentes distribuídos livremente com limitações de desempenho como o Fuse. Não há serviços de metadados, o que limita os recursos de armazenamento e distribuição de arquivos ao distribuir arquivos em blocos. Melhor desempenho pode ser observado com a configuração “Distributed Replicated”, e o número de nós deve ser pelo menos 6 para criar uma réplica confiável de 3 com distribuição de carga ideal.

Essas conclusões também estão relacionadas à descrição da experiência do uso do Gluster e quando comparadas ao Ceph , e também há uma descrição da experiência para o entendimento dessa configuração “Replicated Distributed Replicated” mais produtiva e confiável .
imagem

A imagem mostra a distribuição de carga ao gravar dois arquivos, onde cópias do primeiro arquivo são dispostas nos três primeiros servidores, que são combinadas no grupo de volume 0 e três cópias do segundo arquivo ficam no segundo volume de grupo1 dos três servidores. Cada servidor possui um disco.

A conclusão geral é que você pode usar o Gluster, mas com o entendimento de que haverá limitações no desempenho e na tolerância a falhas, o que cria dificuldades sob certas condições de uma solução hiperconvergente, onde os recursos também são necessários para as cargas de computação dos ambientes virtuais.

Existem também alguns indicadores de desempenho Gluster que podem ser alcançados sob certas condições, limitando a tolerância a falhas.

Ceph


eph , . Glusterfs Ceph, Ceph , .

eph Gluster , . , , (), latency .

CRUSH, . PG — ( ) . PG , CRUSH . PG — -, . , , PG . OSD – .





. -. - , . , , - - ( ). , -, — , . .

- , , . . , – ( , ). – , . - , ( ), , , Ceph PG self-healing . , Ceph ( ), , .

-, . Ceph Gluster . – , linux, , , .

Vstorage


Virtuozzo storage(Vstorage), , , , . , .

kvm-qemu, , : FUSE(, open source), MDS (Metadata service), Chunk service, . , SSD, (erase coding raid6) all flash. EC(erase coding) : . eph EC , , Virtuozzo Storage “log-structured file system”, . EC , . – , .

, , , .
eph Virtuozzo storage.



Gluster Ceph , , Virtuozzo . Vstorage .

, , .

: ( FUSE), (MDS) ( CS), MDS , . . , 256.



, - , 256. , .… SSD , ( ), SSD, SSD, HDD, . SSD . , SSD , Latency , SSD, . , IOPS Vstorage , , , , ..

SSD, , , HDD. (MDS) , Paxos. FUSE, , , .

, , , . . SDS, fuse fast path Virtuozzo Storage. fuse open source , IOPS- . , eph Gluster.

: Virtuozzo Storage, Ceph Gluster.

, Virtuozzo Storage: , Fuse fast path, , compute(/), , . Ceph, Gluster, , .

Os planos incluem o desejo de escrever uma comparação entre vSAN, Space Direct Storage, Vstorage e Nutanix Storage, testando o Vstorage nos equipamentos HPE, Huawei e os cenários de integração do Vstorage com sistemas de armazenamento de hardware externos; portanto, se você gostou do artigo, seria bom receber feedback de você , o que poderia aumentar a motivação de novos artigos com base em seus comentários e sugestões.

Source: https://habr.com/ru/post/undefined/


All Articles