Introdução ao Storage Spaces Direct (S2D)

Olá pessoal,

Neste post apresentaremos uma introdução à solução de SDS (Softwade Defined Storage) da Microsoft, o chamado Storage Spaces Direct (S2D).

Antes de tudo, gostaria de simplificar ao máximo (possível) uma explicação para uma dúvida comum de alguns Sysadmins:

Até o Windos Server 2012/R2, tínhamos o Storage Spaces, ele é a mesma coisa que o Storage Spaces Direct?

Em essência não, a Storage Spaces utilizava JBODs para armazenamento (Caixas de discos conectados via interface SAS fisicamente aos servidores por exemplo.). O Storage Spaces Direct introduz um novo componente na stack da solução (Software Storage Bus – Esse é o cara que faz a mágica do S2D acontecer, falaremos mais sobre ele.), desta forma não se utiliza mais JBODs conectados aos servidores, ao invés disso, utiliza-se os próprios HDs dos servidores, a “mágica” do S2D, fazendo uso do Software Storage Bus é fazer com que todos os servidores (Em cluster) possam enxergar os HDs físicos de todos os seus “companheiros de cluster”, desta forma, é possível armazenar os dados “simulando” um storage comum mas que na verdade são os próprios HDs físicos dos servidores operando… Se ainda não ficou claro, calma, vamos entendendo aos poucos, mas uma coisa é importante saber, este é um assunto quente neste momento, sendo assim, é importante estar a par… Vamos ao post.

Overview do S2D

O Microsoft Storage Spaces Direct (S2D) tornou-se extremamente popular em todo o mundo desde a sua introdução com o lançamento do Microsoft Windows Server 2016 (Precisar ser a versão Datacenter).
A tecnologia de armazenamento definido por software (SDS) aproveita o conceito de coletar um pool de unidades (HDs) acessíveis para formar um grande repositório de armazenamento utilizável e compartilhável.

O que é o S2D?

O S2D, nada mais é que uma solução de armazenamento que que faz uso dos HDs locais dos servidor, criando um pool entre todos os nós de um cluster, onde todos enxergam os discos de todos.

  • Não usa hardware proprietário ou qualquer tipo de hardware especial. Os servidores estão usando discos de mercadorias locais e não caixas de discos ou soluções de storage comerciais. Pense nisso como um Cluster de Failover usando nós com armazenamento local, pois esse armazenamento pode ser reunido e usado por todos no Cluster;
  • Não é um novo produto, é um recurso;
  • Altamente disponível e escalável (Inteligência quando adicionamos novos discos/nós e na distribuição e segurança dos dados entre os HDs dos nós);
  • Armazenamento para o Hyper-V (HCI), Scale Out File Server e SQL;

O que eu preciso para ter o S2D?

Falando em nível “bem” macro, você vai precisar de:

  • Dois ou mais servidores (nós do cluster), com discos locais, o número e tipo de discos irá depender do cenário e da resiliência, falaremos em detalhes em um post futuro;
  • Switches 10Gb;
  • Placas de rede com suporte a RDMA (Altamente recomendável, já que vale lembrar que a rede será a nova “data plane”, todos os dados irão trafegar por ela entre os nós);
  • Windows Server 2016/2019 Datacenter;

Porque eu utilizaria o S2D?

  • Servidores com armazenamento padrão de mercado (HDs SATA, SAS, SSD, NVMe);
  • Flash de baixo custo com SSDs SATA;
  • Melhor desempenho do flash com SSDs NVMe;
  • Rede Ethernet utilizando RDMA (Processamento direto sem utilizar recursos computacionais do host);

Por baixo dos panos, como funciona o S2D?

Como falamos, o S2D não é um novo produto, e sim um novo recurso, e nada mais é que vários serviços funcionando em conjunto (O chamado Stack), como podemos observar na figura a seguir:

  • Sistema de arquivos (CSVFS com ReFS ou NTFS)
    • Acesso a dados em todo o cluster;
    • Criação rápida de VHDX (ReFS), expansão e pontos de verificação;
    • Desduplicação de dados (NTFS);
  • Storage Spaces
    • Pool escalonável com todos os dispositivos de disco;
    • Disco virtual resiliente;
  • Barramento de Armazenamento de Software (Software Storage Bus – A “mágica” do S2D)
    • Cache de barramento de armazenamento (Inteligência na alocação dos HDs mais rápidos para trabalharem com cache, não precisa nem configurar, é tudo automático);
    • Aproveita o SMB3 como estrutura de armazenamento (e todos os novos recursos interessantes do SMB3, como SMB Direct, SMB Multichannel);
    • QoS de armazenamento;
    • Servidores com discos locais: SATA, SAS e NVMe (Menos $$$);

Cenários para o deploy:

  • 1º Cenário – Hiperconvergência (HCI)
    • Neste cenário, o mesmo host terá o S2D rodando, ou seja, este host vai servir de armazenamento para o ambiente e também terá o Hyper-V rodando com máquinas virtuais hospedadas nele.
    • Recomendado para ambientes pequenos e médios;

 

  • 2º Cenário – Scale Out File Server
    • Neste cenário, existiria um ambiente de cluster apenas com o S2D rodando e outro ambiente dedicado para o Hyper-V;
    • Recomendado para ambientes grandes (Curiosidade: é assim que operam os Datacenters do Azure);

  • 3º Cenário – SQL
    • Configurações direcionadas ao armazenamento de banco de dados;
  • Detalhes das configurações:
    • Os clusters podem ser configurados de 2 a 16 nós (No windows server 2019 existirão novidades);
    • Um cluster pode operar com até 416 discos;
    • Para um cluster de 2-3 nós, podemos ter volumes two way ou three way mirrored;
    • Para um cluster de 4 a 16 nós, podemos ter Parity e Hybrid Volumes (Erasure Coding, LRC);

Resiliência:

Temos os 4 tipos de resiliência a seguir em um cluster de S2D:

  • Volume;
  • Enclosure;
  • Chassis;
  • Rack;

Como podemos manipular tudo isso? O S2D pode perceber que um servidor blade está em um gabinete específico? Claro que não, é por isso que temos os domínios de falha. Por definição, é um conjunto de componentes de hardware que compartilham um único ponto de falha. Para tolerância a falhas, você precisa de vários domínios de falha. É também uma forma de marcação / agrupamento lógico (Rack, Enclosure, Chassis Location) e configurável apenas pelo Powershell (pelo menos até agora).

Storage Replica também é suportado! Outro novo recurso interessante do Windows Server 2016 (somente Datacenter Edition) que pode fazer replicação de armazenamento em bloco.

Funciona nos seguintes cenários:

  • Stretch Cluster;
  • Cluster para Cluster;

E como gerenciar tudo isso?

  • PowerShell;
  • System Center;
  • Windows Admin Center (Antigo Honolulu);

 

Acho que já temos bastante informação por agora, aprofundaremos nos detalhes nos próximos posts.

Abraços e até a próxima!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: