Atualmente, as unidades flash ocupam cada vez mais o nicho da mídia de armazenamento no segmento Enterprise. Isso é facilitado por uma redução significativa em seus custos e um aumento na capacidade de unidades individuais. Onde, até recentemente, apenas discos rígidos mecânicos eram usados, os SSDs agora são explorados ativamente. E estamos falando não apenas sobre unidades internas nos sistemas clientes, mas também sobre o subsistema de disco dos servidores e sistemas de armazenamento de dados. E nesse segmento as configurações dos sistemas de armazenamento ocupam um local separado, onde apenas os SSDs são usados como mídia de armazenamento. Estes são os chamados sistemas All Flash.
Primeiro de tudo, você precisa entender por si mesmo o que é o sistema de armazenamento All Flash. É claro que o nome implica o uso de apenas unidades Flash nele. No entanto, nem todos os sistemas All Flash são iguais. Convencionalmente, eles podem ser divididos em três subespécies.
1. Armazenamento tradicional usando SSD
Na verdade, esse é o tipo mais numeroso de sistema de armazenamento All Flash. Porque para o fabricante, não há nada mais fácil do que equipar seu armazenamento existente com unidades SSD. Obviamente, os principais fornecedores, além de recolocar as placas de identificação (armazenamento All Flash), também estão envolvidos na otimização de firmware adicional para a conveniência de trabalhar com SSDs, além de aumentar a velocidade do sistema como um todo. Mas há quem não se incomode particularmente e apenas oferece pacotes que consistem em armazenamento regular e um conjunto de SSDs. Como resultado, você pode encontrar ofertas no mercado, desde o All Flash NAS Qnap (deixamos de lado a discussão sobre a viabilidade dessa solução, mas, de fato, o All Flash não deve ser criticado!) Ao monstruoso multi-jogador Netapp FAS.
A principal vantagem dessa solução é, acima de tudo, um custo moderado. Obviamente, cada fornecedor tem sua própria sobretaxa para a marca, mas, em geral, o preço do sistema All Flash (falando sobre a "cabeça" com os controladores) não difere muito em comparação com o sistema de armazenamento clássico (em comparação com o custo dos SSDs, é realmente um centavo).
A desvantagem é o baixo desempenho geral da solução. Todos os sistemas Todos Flash semelhantes, com hardware moderno no interior, produzem cerca de 300 mil IOPS (4K, 100% aleatório), consideramos o modo de gravação pelo fato de ser muito mais difícil para armazenamento do que para leitura.Os indicadores de leitura são, obviamente, muito mais altos ) Um forte desvio negativo desse valor é uma falha séria no firmware, e indicadores de desempenho mais altos indicam melhores algoritmos de cache e / ou otimização de firmware para modelos específicos de SSD. Em qualquer caso, a "saturação" ocorre mesmo com o número de discos ~ 10-20. Portanto, a adição adicional de discos aumentará apenas a capacidade de armazenamento disponível, mas não a velocidade do trabalho.
O principal motivo dessa limitação de desempenho é o uso de algoritmos RAID clássicos. Esses algoritmos foram desenvolvidos há muito tempo para trabalhar com discos rígidos mecânicos e absolutamente não levam em consideração os recursos da operação de discos de estado sólido. Afinal, um SSD, ao contrário de um HDD, não pode simplesmente substituir um bloco de dados. Ele precisa reescrever a página inteira que contém o bloco a ser alterado para um novo local e liberar o local antigo para uma nova gravação subsequente. Essas circunstâncias, além da penalidade padrão de RAID, fornecem uma enorme sobrecarga para as operações de reescrita.
2. Todas as matrizes Flash com hardware proprietário
Para superar os gargalos dos sistemas de armazenamento tradicionais, é necessário usar uma arquitetura de hardware e software completamente diferente. Um exemplo dessas soluções são os produtos Pure storage ou IBM Flash System. Eles não têm RAID no sentido usual (paridade, é claro, há tolerância a falhas), nem SSDs em si (eles têm seus próprios "drives"). O resultado é simplesmente desempenho maluco e taxas de latência especialmente baixas. Mas o custo ... De fato, como uma asa de um avião.
3. Armazenamento definido por software
Além de todo esse "zoológico" de todas as matrizes Flash, estão o Software Defined Storage (SDS). SDS é um software que roda em hardware x86 comum e emula sistemas de armazenamento. Não é em vão que usamos esse termo entre aspas, porque Atualmente, a fronteira entre controladores de hardware e software é muito arbitrária, ao contrário dos velhos tempos. Os sistemas de armazenamento modernos costumam usar a arquitetura x86 padrão executando sistemas operacionais semelhantes ao Linux. Sim, controladores de descarregamento adicionais podem ser usados para algumas operações. Mas a principal diferença do SDS é a natureza fechada do hardware e do software para o usuário. O SDS, por outro lado, permite que você use quase qualquer hardware recomendado e faça modificações moderadas nos componentes do software.
No entanto, se você usar o SDS não apenas como um sistema de armazenamento, mas como uma matriz All Flash, será incorreto dar ao usuário a liberdade de escolher uma plataforma de servidor e executar instalação de software independente. O principal motivo é a incapacidade de garantir os indicadores de desempenho especificados (de fato, o principal motivo para a escolha do All Flash), bem como a dificuldade de oferecer suporte a uma ampla lista de equipamentos. Portanto, o chamado dispositivo está presente no mercado - soluções completas que consistem em uma plataforma de servidor com software pré-instalado e configurado e equipado com o número necessário de SSDs, que geralmente oferecem o desempenho especificado.
Os representantes desse tipo de solução (solução SDS) são os heróis de nossa análise - todas as matrizes Flash do AccelStor .
AccelStor - visão própria sobre o trabalho do All Flash
O AccelStor foi estabelecido como startup em 2014. O principal investidor (essencialmente o proprietário deste projeto) é a bem conhecida gigante de TI Toshiba. Mesmo antes do lançamento comercial, a empresa atraiu a atenção, recebendo os maiores prêmios em vários eventos dedicados às tecnologias Flash. Um dos principais prêmios da lista foi recebido no famoso e prestigiado evento Flash Memory Summit (2016).
Prêmios AccelStor
Todos esses prêmios foram recebidos por uma abordagem inovadora ao trabalhar com memória flash implementada na tecnologia proprietária FlexiRemap, que todas as matrizes AccelStor NeoSapphire possuem .
A tecnologia FlexiRemap é um algoritmo especial para trabalhar com SSD, a fim de eliminar gargalos em termos de desempenho e maximizar a vida útil das unidades. A idéia principal é converter solicitações de gravação aleatória em cadeias seqüenciais. I.e. os blocos de dados recebidos são combinados em cadeias que são múltiplos de "páginas" e somente então são gravadas no SSD. Como resultado, essa abordagem para registrar novos dados é consistente do ponto de vista das unidades, o que, em última análise, permite alcançar indicadores de alto desempenho.
No processo, o algoritmo FlexiRemap acompanha a demanda por todos os blocos de dados. De acordo com a frequência de uso, os dados são classificados automaticamente durante a substituição, de modo que todos os dados "quentes" sejam localizados o mais próximo possível um do outro. Então, no processo de troca de blocos, esses dados também serão movidos para novas “páginas” juntas, o que novamente permitirá o uso de um modo de gravação seqüencial mais eficiente no SSD em comparação com a abordagem tradicional. Esse mecanismo é semelhante a um tipo de peering virtual, que, entre outras coisas, também acelera a coleta de lixo, pois O coletor de lixo também fará seu trabalho no modo seqüencial.
Apesar do RAID não ser usado aqui, os dados ainda estão protegidos. Para fazer isso, todos os SSDs são divididos em dois grupos simétricos. Todas as E / S são distribuídas igualmente entre os dois grupos (faixa). Além dos dados, cada grupo contém somas de verificação para que seja possível continuar trabalhando se uma unidade falhar. No total, a matriz pode suportar a falha de dois SSDs, que em comparação com o RAID é equivalente ao nível do RAID 50 de dois grupos.
Organização de uma matriz de dados
Durante a gravação, o mecanismo round robin é usado, graças ao qual os dados são distribuídos da maneira mais uniforme possível em todos os discos. Além disso, cada SSD possui seu próprio coeficiente de peso, que depende de seu recurso de gravação atual. Portanto, se algum disco estiver mais desgastado que os outros, será menos provável que você receba novos dados até que os indicadores de recursos sejam iguais. Comparado ao método RAID tradicional, a tecnologia FlexiRemap pode aumentar significativamente a vida útil das unidades devido ao seu uso uniforme.
FlexiRemap vs RAID
Destaca-se o mecanismo de retenção de dados no caso de uma falha na unidade. Nesse caso, o grupo que o SSD recusou é automaticamente definido para o modo somente leitura. Isso é feito para concluir o processo de reconstrução no disco sobressalente o mais rápido possível. Depois que o grupo é restaurado, ele pode novamente participar de todos os tipos de operações. Além disso, o mecanismo descrito anteriormente para alinhar o recurso de gravação funcionará automaticamente.
Falando sobre o dispositivo SDS, você precisa entender que este é essencialmente um servidor com software pré-instalado. Portanto, é um controlador único a priori, expresso em termos de sistemas de armazenamento. E embora várias tarefas nos permitam não recorrer a controladores de sistema de armazenamento redundantes, todos os fornecedores de armazenamento nos ensinaram há muito tempo que o sistema de armazenamento “correto” é o armazenamento com dois (ou mais) controladores. O AccelStor também tem sua própria resposta para isso - a tecnologia Shared Nothing para dois nós em um cluster.
Os modelos do AccelStor NeoSapphire com dois nós podem estar em um único pacote (com base em dois servidores) ou na forma de dois servidores separados. O último pode ser espalhado a uma distância de 100m um do outro para criar uma recuperação de desastre. De qualquer forma, uma conexão externa via InfiniBand 56G é usada para sincronizar dados entre nós com uma verificação adicional da freqüência cardíaca via Ethernet.
Organização da sincronização entre nós
Em contraste com o armazenamento usual de dois controladores, não apenas os controladores (nós) com ligação obrigatória na forma de módulos de refrigeração e fontes de alimentação são duplicados aqui, mas também os dados em si. Cada nó no AccelStor NeoSapphire é completamente independente e contém uma cópia completa dos dados, graças à replicação síncrona contínua. Ambos os nós operam no modo simétrico ativo-ativo sem o uso de transferência de consulta um para o outro (ALUA), como nos sistemas de armazenamento clássicos. Portanto, o tempo de troca no caso de uma falha por parte do AccelStor realmente tende a zero. E a presença de duas cópias de dados pode melhorar significativamente a confiabilidade do sistema em comparação com a arquitetura tradicional.
Continuando o tópico da confiabilidade, é importante notar que as matrizes Accelstor não armazenam em cache dados durante operações de gravação, porque trabalhar no modo síncrono. Todas as ações intermediárias nesse algoritmo FlexiRemap são realizadas na RAM do controlador. Mas a matriz dará confirmação ao host sobre a conclusão bem-sucedida da operação somente após o registro físico no SSD. Portanto, as matrizes Accelstor All Flash não possuem baterias / capacitores devido à falta de necessidade delas.
Além das tecnologias All Flash exclusivas, as matrizes AccelStor NeoSapphire também possuem a funcionalidade padrão para o mercado corporativo : Thin Provisioning, snapshots de redirecionamento na gravação, com a capacidade de fazer backup e restaurá-los através de pastas externas CIFS / NFS, replicação assíncrona, compactação e desduplicação. Separadamente, vale a pena notar a função Free Clone para criar cópias de volumes que não ocupam espaço fisicamente, porque Eles são essencialmente links para o volume de origem. Esse recurso pode ser muito útil, por exemplo, em VDI.
Obviamente, há suporte para todos os sistemas operacionais e plataformas de virtualização modernos. Há um plug-in para o VMware vSphere Web Client com a capacidade de gerenciar volumes e implementa totalmente a funcionalidade do Free Clone.
Uma vantagem importante do Accelstor NeoSapphire como armazenamento definido por software é a capacidade de trabalhar em um hardware x86 comum com SSDs completamente padrão. Sim, o fabricante não fornece liberdades para escolher uma plataforma de hardware: faz isso por você. Isso é feito principalmente para garantir o desempenho previsível da solução, bem como para eliminar problemas de compatibilidade. Todas as matrizes Accelstor All Flash são montadas para um cliente específico na configuração necessária e passam por testes rigorosos antes do envio. A garantia padrão em todas as matrizes é de 3 anos de NBD com peças de reposição avançadas. Porque Se o fornecedor estiver presente no território da Rússia, o suporte técnico também está disponível em russo.

Ao fazer o pedido de uma matriz do All Flash Accelstor NeoSapphire, você pode selecionar com flexibilidade o volume necessário. Além disso, esse volume é o que realmente está disponível para os hosts funcionarem, independentemente da organização física do espaço em disco. Observe que todos os modelos são totalmente carregados com discos. Não há slots livres - você não pode adicionar discos. Tudo isso devido aos mesmos requisitos de desempenho e confiabilidade mencionados anteriormente. Se, no futuro, você precisar aumentar o volume, isso poderá ser feito usando as prateleiras de expansão (disponíveis para modelos mais antigos). Também é necessário determinar antecipadamente quantos nós (controladores) haverá na matriz, porque A atualização para o modo de dois modos atual não é fornecida.
Como interfaces para todos os modelos, uma opção de 10G iSCSI ou 16G Fibre Channel está disponível. Opcionalmente, também pode haver um InfiniBand de 56G. Para modelos iSCSI, além de bloquear o acesso, o bônus é o suporte aos protocolos de arquivo CIFS e NFS. O número de portas é determinado pelo desempenho do sistema fornecido, de forma que elas não sejam um gargalo (geralmente de 2 a 6 portas por nó).
Como unidades, são usados SSDs de classe corporativa padrão. Na maioria das vezes com a interface SATA, como não é necessário trabalhar com dois controladores. Existem também modelos de matrizes All Flash baseadas em discos NVMe.
O uso de plataformas de servidor e SSDs padrão pode otimizar significativamente o custo da solução como um todo. Ao mesmo tempo, o AccelStor fornece serviço em seu próprio nome para toda a solução, independentemente de quais componentes de qual fabricante faz parte da matriz.
E, sim, um ponto extremamente importante: sem licenças pagas! Toda a funcionalidade está imediatamente disponível "pronta para uso". Além disso, se a funcionalidade for expandida, novos recursos estarão disponíveis ao atualizar o firmware.
Verificação nos negócios
O AccelStor possui uma ampla gama de modelos com vários desempenhos declarados. O menor NeoSapphire 3401 com 8 SSDs pode fornecer 300K IOPS @ 4K. E o P710 de ponta com 24 SSDs já produz 700K IOPS @ 4K. Quanto aos modelos NVMe, o mesmo desempenho de 700K IOPS @ 4K é alcançado no NeoSapphire P310 com apenas 8 SSDs! Observe que os valores de desempenho indicados são um registro no modo estabelecido (leitura e todos os tipos de valores de pico acima), ou seja, no modo de operação mais pesado para a matriz.
Testamos um sistema two- NeoSapphire H710 com 48 SSDs (24 SSDs em cada nó) com uma capacidade disponível de 27 TB. O Accelstor declara que o desempenho deste modelo não é inferior a 600K IOPS 4K, gravação aleatória. Os testes foram realizados no IOmeter a partir de três servidores conectados via Fibre Channel.
Nos testes sintéticos All Flash, a matriz mostrou-se ainda melhor do que o prometido na especificação, que, em nossa opinião, é apenas uma vantagem no segmento de mercado, onde quaisquer indicadores são questionados (graças aos profissionais de marketing arrancados da realidade por isso!).
É importante notar que uma das principais vantagens do algoritmo FlexiRemap é seu alto desempenho no modo de gravação sem degradação ao longo do tempo. I.e. o indicador alcançado no modo estabelecido será o mesmo após 10min / hora / ... de operação contínua. Para confirmar esse fato, executamos o teste IOmeter (4K, gravação 100% aleatória) por várias horas (um host foi usado). Sim, isso é verdade: o desempenho quase não muda com o tempo.
O veredicto
Ao escolher uma matriz All Flash, por padrão, a maioria dos usuários prefere considerar os sistemas de armazenamento tradicionais equipados com SSDs como candidatos. E se o desempenho ~ 280K IOPS (4K, gravação aleatória) combina com você, você pensa na direção certa. Aqui estão apenas as tarefas de negócios que exigem cada vez mais que o equipamento funcione 146%. E com um sistema de armazenamento convencional, infelizmente, eles não vão pular acima de suas cabeças, e algum IBM Flash System custa muito alto. E aqui todas as matrizes do Flash AccelStor serão muito bem-vindas. Desempenho decente, alta confiabilidade, opção de configuração flexível e suporte técnico adequado - essa não é uma lista completa das vantagens dessas matrizes. Adicione a isso a completa ausência de taxas ocultas para licenças e o uso mais prolongado de SSDs - e você obterá não apenas um produto interessante, mas também uma ferramenta valiosa em seus negócios.
Portanto, o AccelStor, que já foi realizado sob o sol no mercado de conjuntos ultrarrápidos, se expandirá inevitavelmente. E quem sabe quais picos eles podem alcançar.