A GIGABYTE, um fabricante conceituado de componentes e sistemas de hardware relacionados a computadores, entrou no mercado de armazenamento de dados em parceria com a Bigtera para oferecer uma solução de armazenamento definida por software exclusiva de alto desempenho. A GIGABYTE fornece o hardware, combinando com a plataforma de software VirtualStor da Bigtera para oferecer uma variedade de dispositivos de armazenamento para atender a diferentes requisitos de capacidade e desempenho. Embora a maioria das pessoas esteja familiarizada com a GIGABYTE (que está no mercado há mais de 30 anos), Bigtera pode ser um novo nome para alguns. A Bigtera, fundada em 2012, possui dois centros de desenvolvimento e mais de cem clientes rodando o VirtualStor em ambientes de produção.
A GIGABYTE, um fabricante conceituado de componentes e sistemas de hardware relacionados a computadores, entrou no mercado de armazenamento de dados em parceria com a Bigtera para oferecer uma solução de armazenamento definida por software exclusiva de alto desempenho. A GIGABYTE fornece o hardware, combinando com a plataforma de software VirtualStor da Bigtera para oferecer uma variedade de dispositivos de armazenamento para atender a diferentes requisitos de capacidade e desempenho. Embora a maioria das pessoas esteja familiarizada com a GIGABYTE (que está no mercado há mais de 30 anos), Bigtera pode ser um novo nome para alguns. A Bigtera, fundada em 2012, possui dois centros de desenvolvimento e mais de cem clientes rodando o VirtualStor em ambientes de produção.
A família Bigtera VirtualStor é composta por três linhas de produtos diferentes — Scaler, Converger e Extreme — cada uma delas é uma solução de armazenamento definido por software implantada na arquitetura x86 padrão. Scaler é o armazenamento de dados para soluções de expansão híbrida; O Converger é uma solução de armazenamento que pode ser usada para criar uma infraestrutura hiperconvertida ao emparelhá-la com VMware, Hyper-V ou KVM; e o Extreme é uma solução de armazenamento expansível all-flash projetada para fornecer E/S para aplicativos que exigem latência consistentemente baixa e consomem uma grande quantidade de largura de banda. Neste mergulho profundo, examinaremos a solução VirtualStor Scaler.
O VirtualStor Scaler é uma solução de armazenamento de expansão, em vez de uma solução de infraestrutura de expansão ou hiperconvertida (HCI), o que significa que mais discos ou nós podem ser adicionados a um cluster de armazenamento do VirtualStor Scaler à medida que mais capacidade de armazenamento é necessária. Em outras palavras, você obtém a quantidade correta de armazenamento para seu datacenter, que pode ser modificada dependendo das circunstâncias atuais. Essa flexibilidade elimina efetivamente o superprovisionamento de hardware (um requisito de soluções de expansão) e a necessidade de adicionar mais poder de computação (necessário ou não) ao usar uma solução HCI.
A GIGABYTE oferece seis plataformas diferentes para o sistema VirtualStor Scaler. Em uma extremidade do espectro, otimizado para seus usuários menores, está um sistema com 48 TB de capacidade de armazenamento utilizável, composto por três nós de 1U. Na outra ponta, para clientes que precisam lidar com uma grande quantidade de dados, está um sistema que pode armazenar 4PB de dados e é composto por oito nós 4U. Para garantir a qualidade desses sistemas, a GIGABYTE utiliza seus próprios servidores top de linha que vêm equipados com dual CPUs escalonáveis Intel Xeon de segunda geração para suprir as necessidades de computação desses nós de armazenamento. Para armazenamento de dados, os dispositivos de armazenamento VirtualStor usam uma combinação de HDDs e unidades de cache SSD NVMe ou SATA. Para garantir que os dados continuem fluindo do dispositivo, os nós usam Intel SFP+ e NICs, e o gerenciamento de nós offline é realizado com controladores de gerenciamento remoto Aspeed.
Protocolos de armazenamento do VirtualStor Scaler
O datacenter de hoje deve fornecer armazenamento para atender às necessidades de um grupo diversificado e exigente de usuários da forma mais rápida e econômica possível. Para atender às diversas necessidades de armazenamento de um datacenter, o VirtualStor oferece suporte a todos os protocolos de armazenamento comumente usados (NAS, SAN e armazenamento de objetos) a partir de um único pool unificado de armazenamento. Para garantir que os requisitos de desempenho sejam atendidos, o armazenamento pode ter atributos de qualidade de serviço (QoS) aplicados a arquivos, pastas ou volumes. As cotas, que impedem que um usuário ou aplicativo consuma demais o armazenamento, podem ser aplicadas em uma pasta ou volume.
O VirtualStor foi projetado para fornecer de forma confiável e consistente as necessidades de desempenho para os aplicativos mais exigentes. Uma das maneiras pelas quais eles conseguiram isso é como o mecanismo de armazenamento de back-end do VirtualStor, BigteraStore, lida com o posicionamento dos dados. BigteraStore usa dispositivos flash para cache de dados e para consolidar e mesclar pequenos blocos de dados em blocos sequenciais maiores. Isso não apenas tem um grande impacto no desempenho de um sistema VirtualStor ao lidar com dados aleatórios, mas também aumenta a vida útil do dispositivo com menos gravações sendo feitas em um dispositivo flash. A BigteraStore também melhora o desempenho de seus sistemas de armazenamento identificando dados sequenciais (que são entregues em blocos maiores de dados) e irá ler e gravar esses dados diretamente em seus discos rígidos. Como o streaming de dados sequenciais diretamente para um disco rígido não sofre as mesmas penalidades de desempenho que a leitura e gravação de dados aleatórios em um disco rígido, isso também preserva a capacidade de dispositivos flash caros para uso com dados aleatórios, onde há maior impacto.
Uso do VirtualStor Scaler Flash
Eficiência, proteção e resiliência de dados são três fatores que devem ser abordados pelas soluções de armazenamento modernas de hoje, e o VirtualStor usa as técnicas e ferramentas mais recentes para fornecer uma solução robusta e eficiente para lidar com esses fatores.
A característica mais importante de qualquer sistema de armazenamento é a capacidade de proteger a integridade dos dados armazenados nele. Para fazer isso, o VirtualStor oferece suporte à replicação de dados, codificação de eliminação, RAID, detecção de erros e auto-reparação de dados corrompidos. Como os dados são replicados e balanceados em muitos nós de armazenamento diferentes, no caso improvável de um componente de hardware ou servidor falhar, outro nó de armazenamento assumirá o controle e, na maioria dos casos, o usuário ou o aplicativo nem saberá que ocorreu uma falha . Assim que o componente com falha for identificado e substituído, ele será automaticamente integrado de volta ao sistema. Você pode proteger dados confidenciais que precisam de proteção máxima em um VirtualStor usando a tecnologia de criptografia Intel AES-NI, mas é claro que outros dados menos seguros podem ser deixados em um estado não criptografado no dispositivo de armazenamento VirtualStor.
Visão geral da arquitetura do VirtualStor Scaler
Um fator que muitas vezes é negligenciado pela maioria dos usuários ao decidir qual solução de armazenamento usar é a dificuldade em criar o armazenamento subjacente para uso. O fato de todo o armazenamento VirtualStor, independentemente do tipo ou protocolo, vir de um único pool que pode ser superprovisionado elimina efetivamente a tarefa demorada de provisionar novamente o armazenamento subjacente para disponibilizá-lo, bem como ilhas ou silos, de armazenamento que foram provisionados, mas não são usados.
Painel do VirtualStor Scaler
O valor de uma solução de armazenamento pode ser minimizado se sua capacidade de gerenciamento for difícil ou inferior, mas, felizmente, o VirtualStor facilitou o gerenciamento de seu armazenamento, oferecendo um console de gerenciamento intuitivo, moderno e baseado na web. No passado, vimos alguns sistemas legados de armazenamento unificado anunciados como tendo um único console de gerenciamento, mas em uma inspeção mais detalhada, o console de gerenciamento era composto apenas pelos componentes de gerenciamento de vários sistemas colocados como funções em um console de gerenciamento. Infelizmente, essa situação gera confusão, pois termos diferentes são usados para os componentes de armazenamento e diferentes fluxos de trabalho são necessários, dependendo do tipo de armazenamento que está sendo gerenciado – uma maneira complicada e confusa de lidar com o armazenamento, para dizer o mínimo.
Também vimos sistemas de armazenamento que exigem interação de linha de comando para concluir tarefas comuns em que uma entrada incorreta pode causar resultados catastróficos. Pelo contrário, com os dispositivos VirtualStor, todos os fluxos de trabalho ao lidar com o gerenciamento diário do sistema são baseados em GUI e não requerem interação de linha de comando. Além disso, como eles foram projetados com suporte multiprotocolo desde o início - não como uma reflexão tardia - eles não são sobrecarregados com a funcionalidade de integração herdada, o que torna o gerenciamento do VirtualStor intuitivo e livre de erros.
Desempenho do VirtualStor Scaler
Além de montar a solução e torná-la fácil de operar, o cluster ainda deve oferecer desempenho adequado aos casos de uso do cliente-alvo. Além disso, a Bigtera oferece suporte multiprotocolo, algo que traz mais flexibilidade a esta solução. Durante um período de várias semanas, testamos a solução com a seguinte configuração de hardware:
- Nós do cliente
- 1 x Gigabyte H261-3C0 – 2U 4 nós, 3 nós foram usados para 3 servidores clientes
- Por nó:
- 2 x CPUs Xeon Gold 6140 (18 núcleos, 2.3 GHz)
- 8 módulos de memória DDR16 RDIMM de 2666 GB e 4 MHz
- 1 x GIGABYTE CLNOQ42 Cartão LAN SFP+ OCP de porta dupla de 25 GB (QLogic FastLinQ QL41202-A2G)
- 1 x SSD Seagate SATA de 960" de 2.5 GB
- Nós de Armazenamento
- 3 x Servidores de armazenamento GIGABYTE S451-3R0
- Por nó:
- 2 x CPUs Intel Xeon Silver 4114 (10 núcleos, 2.2 GHz)
- 8 módulos de memória DDR16 RDIMM de 2666 GB e 4 MHz
- 36 x 8TB 3.5” Seagate Exos SATA HDD
- 2 x SSD Adata SR3.84CP AIC de 2000 TB
- 1 x SSD Seagate SATA de 960" de 2.5 GB
- 1 x GIGABYTE CLN4C44 4 x 25 GbE SFP28 portas LAN (Mellanox ConnectX-4 Lx)
- 1 x GIGABYTE HW RAID CARD CRA4648, GIGABYTE MR 3108 BBU
Conforme observado, a solução usa discos rígidos e flash. Cada nó usa um Seagate SSD de 960 GB para inicialização. Para o nível de capacidade, a GIGABYTE está usando Discos rígidos Seagate Exos 8TB Enterprise, com 36 unidades por nó de armazenamento. Para obter o melhor perfil de desempenho desta configuração, a GIGABYTE usa um par de SSD Adata SR2000CP 3D eTLC por nó de armazenamento. As placas suplementares de 3.84 TB lidam com tarefas de registro no diário, além de fornecer o elemento de cache para o cluster. A família SR2000CP possui capacidades de até 11 TB, mas os cartões de 3.84 TB atendem às metas de desempenho (taxas de R/W de até 6000/3800 MB por segundo) e metas de custo deste dispositivo.
Olhando para o desempenho, é importante entender como as empresas encaram as plataformas SDS de grande escala. Eles geralmente são ótimos para desempenho de protocolo de objeto, mas quando você deseja aproveitar um protocolo mais tradicional, como iSCSI, é visto mais como um caso de uso de "compatibilidade". Em outras palavras, eles funcionam, mas são muito mais lentos do que os protocolos primários em torno dos quais a matriz de armazenamento foi criada. Porém, esse não é o caso de todas as plataformas, o que faz parte do que torna o VirtualStor Scaler tão único. Para provar esse ponto, realizamos testes consecutivos, um aproveitando o protocolo RBD e outro com iSCSI. Vale a pena notar que testar todos os protocolos suportados pelo VirtualScaler estava fora do escopo deste artigo, pois a lista é ampla (NFS, CIFS/SMB e S3 API).
Para os testes específicos, aproveitamos o FIO para medir o desempenho de 30 compartilhamentos RBD de 10 GB em relação a 30 LUNs iSCSI de 10 GB. Dividimos isso em nossos três sistemas clientes, cada um acessando 10 compartilhamentos ou LUNs. Em seguida, aplicamos uma carga de trabalho de 1 thread por dispositivo de armazenamento e uma profundidade de fila de 16 (no agregado ao cluster, isso resultou em 30 threads cada com uma carga de 16Q). Em seguida, comparamos o desempenho de grandes transferências sequenciais, bem como tráfego aleatório menor de 4K.
Em nossa primeira carga de trabalho, medindo uma transferência sequencial de 1024 K, vimos uma média de pouco mais de 1600 MB/s de leitura e 960 MB/s de gravação de cada um de nossos três clientes aproveitando o iSCSI. No total, isso resultou em 4.9 GB/s de leitura e 2.9 GB/s de gravação. Aproveitando o RBD, vimos tráfego de gravação semelhante de mais de 960 MB/s por cliente, mas o desempenho de leitura foi maior em mais de 2700 MB/s por cliente. No total, os totais de RBD mediram 8.1 GB/s de leitura e 2.9 GB/s de gravação.
Reduzindo nosso tamanho de carga de trabalho para uma transferência sequencial de 128k, vimos novamente um equilíbrio semelhante entre o desempenho de iSCSI e RBD. Usando iSCSI, cada cliente viu cerca de 440 MB/s de gravação e 1600 MB/s de leitura, resultando em um agregado de 1.3 GB/s de gravação e 4.9 GB/s de leitura. Com foco no RBD, vimos um desempenho de gravação ligeiramente inferior de mais de 410 MB/s por cliente e um desempenho de leitura superior a 2500 MB/s por cliente. Isso resultou em um agregado de 1.2 GB/s de gravação e 7.8 GB/s de leitura em RBD.
Mudando nosso foco para um desempenho de transferência aleatória menor, nos concentramos em nosso teste 4K. Olhando para ambos os protocolos em gravação aleatória de 4K, iSCSI e RBD ofereceram desempenho semelhante de mais de 23K IOPS por cliente ou aproximadamente 71K IOPS no total, com uma vantagem em relação ao RBD. Olhando para o desempenho de leitura, vimos iSCSI com cerca de 64 IOPS por cliente ou 193 IOPS no agregado e RBD medindo 97 IOPS por cliente ou 291 IOPS no agregado.
Com foco na latência média em nossos testes de transferência aleatória de 4K, com uma carga de cluster agregada de 30 threads e 16 filas por thread, medimos pouco mais de 6.7 ms de gravação para transferências iSCSI e RBD, com RBD tendo uma pequena vantagem. Nas transferências de leitura, o desempenho do RBD teve uma vantagem maior, medindo 1.647ms no total, em comparação com os 2.489ms agregados do iSCSI.
ponto de partida
O VirtualStor Scaler é uma solução definida por software flexível e escalável que é executada em servidores x86 padrão da indústria, fornecendo armazenamento de arquivo, bloco ou objeto. Neste caso, combinamos os nós de cliente e armazenamento da GIGABYTE para destacar a facilidade de gerenciamento da solução convergente e o suporte multiprotocolo. Também é importante destacar a resiliência disponível na plataforma. Isso se deve em grande parte aos fundamentos do Ceph do VirutalStor. A Bigtera prefere não liderar com essas mensagens, porque geralmente se supõe que o Ceph oferece recursos fantásticos de proteção de dados, mas não tem a capacidade de contar uma história de desempenho e flexibilidade — ambos críticos na maioria dos aplicativos de armazenamento corporativo. Em nosso tempo com o VirtualStor Scaler, ficávamos continuamente impressionados com a capacidade de fornecer um desempenho iSCSI muito forte junto com a interface de bloco RADOS. Acrescente o fato de que há uma boa GUI na parte superior, que é útil para aqueles que preferem não se envolver com a CLI - a Bigtera se saiu bem aqui. A solução VirtualStor é claramente capaz de ser muito mais do que um data warehouse para análises típicas, implementações de HPC e AI/ML. A empresa deveria considerar isso como um substituto direto para uma ampla variedade de casos de uso, desde a nuvem local até a consolidação de armazenamento e cargas de trabalho virtualizadas mais típicas, graças à flexibilidade da solução.
Página do produto GIGABYTE VirtualStor Scaler