Periodicamente testamos novo hardware e software para uso em nossos serviços. Você sempre quer mais recursos por um preço razoável. Hoje vou contar como entendemos o dispositivo Western Digital ActiveScale P100 e tentamos experimentá-lo para nosso armazenamento S3.
Imediatamente um pequeno aviso: testamos o produto em termos de uso em um serviço público. Talvez algumas funções, interessantes e importantes para uso privado, tenham sido deixadas de lado.
Este é o ActiveScale P100 em abril de 2019 antes da instalação no data center OST.Agora, o nosso
S3 é executado no Cloudian HyperStore 7.1.5. Esta versão oferece 98% de compatibilidade com APIs da Amazon. A solução atual tem tudo o que precisamos como prestador de serviços e nossos clientes; portanto, procuramos alternativas.
Desta vez, a solução de software e hardware Western Digital ActiveScale caiu em nossas mãos. O fornecedor o posiciona como uma solução para organizar um cluster S3.
É assim que parece:
ActiveScale P100 instalado em uma das salas do data center OST.As três principais unidades são nós de controle. As seis unidades a seguir são nós para armazenar dados. Cada um dos seis nós contém 12 discos de 10 TB cada. 720 TB total de capacidade "bruta". O complexo também inclui 2 dispositivos de rede. Para cada nó - 2 links de 10G. No total, essa decisão leva 11 unidades no rack.
Executamos o ActiveScale por meio de testes de carga: um script gerou um número diferente de arquivos de tamanhos diferentes, tentou carregá-los no modo de thread único e multithread e registramos o tempo de execução dos comandos para carregar e excluir arquivos. Este teste foi artificial: foi realizado em um computador com uma unidade SSD, uma grande quantidade de memória e um processador com uma frequência de 3,2 GHz, com uma largura de canal limitada de 100 Mb / s. No entanto, temos os resultados de um teste semelhante para a solução atual e os resultados obtidos foram mais do que dentro das nossas expectativas.
Resultados do teste de estresse.
* Ao excluir um objeto, apenas é marcado para exclusão. A remoção em si ocorre uma vez por dia. Quando o cluster está quase cheio, isso pode complicar o gerenciamento da capacidade, pois não há informações atualizadas sobre os recursos utilizados.A compatibilidade do Amazon S3 foi testada de maneiras padrão.
Aqui está um dos testes que eu usei.
No momento do teste, tínhamos a documentação mais básica, então lidamos com o dispositivo dessa “caixa preta” por conta própria - por meio da interface da web administrativa, API e acesso físico.
O que foi encontrado dentro
Interface de administração Na página principal, resuma informações sobre tamanhos de cluster e métricas de trabalho, estatísticas sobre objetos, usuários, buckets, políticas de armazenamento.
Interface do usuário No serviço S3, é necessário para que o administrador do lado do cliente possa adicionar / remover usuários, gerar chaves de acesso para eles, cotar usuários etc. O P100 não o possui, mas após o feedback, o fornecedor planeja implementá-lo.
Gerenciamento de usuário / função. Para organizar um serviço público, precisamos da capacidade de criar usuários com direitos de acesso diferentes. O P100 possui limitações significativas a esse respeito:
- Você pode criar apenas um usuário do sistema, ou seja, um administrador de cluster. Mais - somente através da integração com o Active Directory.
- Os usuários não podem ser agrupados e atribuídos a um administrador. Na verdade, isso impossibilita a prestação de um serviço público.
- o usuário não pode ser excluído permanentemente; portanto, se o novo usuário estiver com o mesmo login, você precisará ser criativo.
- A definição de cotas para usuários (volume, número de transações etc.) é possível apenas através da CLI.
Faturamento. O P100 está pronto para uso, e essa é a maior desvantagem para nós, como prestadores de serviços. Temos um produto comercial e precisamos cobrar de alguma forma os clientes. O P100 possui registros estatísticos que podem ser removidos a cada hora através do painel de administração. Teoricamente, você pode analisá-los, extrair os dados necessários e fazer um cálculo sobre eles. Mas esses logs são armazenados apenas 30 dias. O que fazer em situações em que no mês de 31 dias ou o cliente pede para verificar novamente a conta nos meses anteriores não está claro.
Definindo suas próprias regras para armazenar objetos. O P100 já chegou até nós com as seguintes configurações: arquivos menores que o chunk (20 Kb) são armazenados no modo de
código de apagamento (EC) 6 + 2. Arquivos maiores que chunk são armazenados no modo EC 13 + 4. O próprio P100 determina o tamanho do arquivo e seleciona o modo apropriado.
Por um lado, o P100 tem mais opções. Por outro lado, todas as configurações de regras de armazenamento para o fator de replicação e o código de apagamento são possíveis apenas no estágio de implantação do cluster. Mais tarde, durante a operação, não é mais possível adicionar novas regras de armazenamento de dados ou alterar as existentes. Ao expandir o cluster, isso deve ser feito para que a eficiência e a confiabilidade do armazenamento sejam ideais.
Tabela de desempenho de armazenamento do Código Erasure.CLI nativo \ AdminAPI. Para gerenciar o cluster, o P100 possui uma CLI, mas ela é escrita e testada apenas para o Ubuntu (usamos o Red Hat). Ele não oferece vantagens significativas sobre a interação por meio de solicitações de curl (colocar, receber, postar), mas existem alguns recursos para gerenciar o cluster.
Suporte para API básica do AWS S3 e AWS CLI. Este é apenas um indicador de compatibilidade com a API da Amazon. Simplificando, é possível usar os comandos do Amazon S3 nesta solução. De acordo com a experiência, em média, esse indicador varia em algum lugar na faixa de 50 a 70%.
O P100 obteve 58% de acordo com os resultados do teste. Não foi possível realizar testes de compatibilidade na atribuição de direitos de acesso a objetos individuais, pois na solução P100 você pode atribuir acesso geral apenas a um bucket, e não a um objeto separado. Também não há IAM (Identity and Access Management). Como resultado, a compatibilidade está mais próxima de 50%.
A partir dos resultados do teste.Gerenciamento de sistema operacional. De acordo com a especificação, aparece o ActiveScale OS 5.x. De acordo com os logs e pastas disponíveis através da interface da Web, descobri que provavelmente é baseado em uma distribuição Debian. Durante o teste, não foi possível encontrar maneiras de atualizações autogerenciadas, como instalar atualizações críticas de segurança, seus agentes de monitoramento e assim por diante. Definitivamente, entre em contato com o suporte técnico da P100 com a saída de uma pessoa especialmente treinada.
O número de bucket por usuário. Nesses serviços, o usuário geralmente pode criar até 100 buckets, uma espécie de "pasta" para armazenar arquivos. No caso geral, isso é suficiente, mas a prática mostra que não há muitos baldes. No P100, o balde 100 é o máximo. Em nossa solução atual, o usuário pode criar 1000 baldes.
Definindo direitos de acesso a bucket e objetos. No P100, você pode dar acesso a um intervalo específico, mas não a um objeto específico. O último é frequentemente usado pelos usuários, pois permite definir limites para o número de downloads e a hora em que ele pode ser baixado.
Estatísticas de cluster / usuário / intervalo. Precisamos dessas informações para rastrear a ocupação do cluster e não perder o momento em que chegamos ao teto por recursos.
Na interface, você pode ver estatísticas quase em tempo real sobre usuários e buckets (as informações são atualizadas uma vez por hora).

Ele pode ser baixado por meio de um depósito especial do sistema, mas no formulário baixado, em vez de por email ou nome de usuário, haverá um UUID; portanto, você precisa comparar de alguma forma que tipo de usuário está se escondendo atrás de UUIDs específicos. Isso não é um problema se houver 10 usuários, mas se houver mais?
Autodiagnóstico. O P100 pode interrogar via SNMP toda a peça de ferro incluída no cluster e exibi-la no painel. Por exemplo, você pode ver a plenitude e a temperatura dos discos, o uso da memória etc.
Informações sobre o estado do nó do sistema.
Informações sobre o status dos discos. Quando uma unidade falha, você pode ativar a luz de fundo para encontrar e substituir rapidamente.
Parâmetros para carregar a CPU e a memória no cluster.Registrando ações do usuário. Não está lá, o que significa que não é fácil entender as situações de "quem excluiu o arquivo e o excluiu".
Suporte SSE / SSE-C. O P100 suporta criptografia, mas com limitações: você precisa solicitar uma chave de licença separada, e isso é um dinheiro extra.
Balanceador de carga. É embutido, presumivelmente vale HAProxy. Você precisa configurá-lo ao mínimo: basta especificar os endereços IP de entrada e saída.
Automação de processos de entrada / saída de nós ou discos nos nós. Ajuda quando um nó quebra em um cluster e precisa ser desativado. Agora, para essas situações, temos uma solução pronta. Eu não encontrei esse mecanismo no P100, você só pode desativar um nó separado pela interface da web administrativa. Provavelmente, você precisará convidar o engenheiro do fornecedor.
Dispositivo S3 Gate. Esta solução de software permite implantar ftp / nfs / samba-gate no lado do cliente e soltar os arquivos que devem estar no S3 lá. Uma coisa conveniente se o usuário final não souber usar o S3. Infelizmente, o P100 não possui isso a bordo.
Portas de aplicativos em funcionamento. No P100, apenas as portas padrão do S3 estão disponíveis - 80, 443.
Documentação do usuário. Existe apenas documentação da API.
Documentação administrativa. Fornecido pelo fornecedor, mediante solicitação.
Não testado, mas declarado pelo fornecedor
Vários pontos finais. Chegamos com uma instalação pronta, onde apenas um ponto de extremidade por cluster já estava configurado. A alteração falhou.
Reserva geográfica. Essa opção permite replicar dados em três sites e alternar clientes para sites de backup. Como tínhamos apenas um cluster, não foi possível testar.
Integração com o AD. Declarado, mas não usamos o AD em relação ao S3, portanto não testamos.
Conclusões
Em geral, o WD ActiveScale P100 deixou uma impressão positiva: ele funciona “fora da caixa”, rapidamente e ao mesmo tempo é muito aceitável. No entanto, esta é uma solução privada que ainda não pode ser usada para criar um serviço público S3. Aqui está a principal coisa que não tivemos o suficiente:
- não há como criar grupos de usuários e definir um administrador para eles;
- sem interface gráfica com o usuário;
- sem cobrança;
- inclusão de funções adicionais somente através de um apelo ao fornecedor;
- a incapacidade de manter políticas de armazenamento diferentes e atribuí-las a diferentes grupos de usuários no mesmo cluster, dependendo das tarefas atuais.
De acordo com os resultados do teste, o fornecedor aceitou todos os desejos. Talvez em um futuro próximo um deles seja realizado.