Compreendendo os requisitos de armazenamento e hardware do NVMe

16

Estou um pouco confuso sobre os recentes desenvolvimentos no armazenamento baseado em PCIe, particularmente no que se refere à especificação NVMe e sua compatibilidade de hardware.

Embora eu tenha trabalhado extensivamente com SSDs no formato de disco e alguns dispositivos PCIe de ponta como Fusion-io , estou em uma posição onde não entendo o básico do NVMe e estou buscando esclarecimentos sobre que tipo de hardware de servidor é suportado.

Por exemplo, a cópia do anúncio assim da Supermicro é confusa.

...high performance CPU PCI-E Gen3 direct connnect to NVMe devices.

Estou lidando com uma solução de armazenamento definido por software com base em Linux e queria usar o Fusion- dispositivos io, que usam um driver proprietário ( apresentando nomes de dispositivos / dev / fioX ao SO ).

Quando pedi ajuda ao fornecedor, a resposta foi:

The "fioX" device naming is made obsolete by the new NVMe device interface. It means us purchasing obsolete adapters to add support that nobody else has asked for.

Isso parece um pouco duro. Eu não achei que os adaptadores Fusion-io eram obsoletos.

A informação escassa que encontro on-line parece sugerir que o NVMe é suportado apenas nas gerações mais novas de hardware de servidor ( processadores Intel E5-2600v3 e chipsets PCI 3.0? ). Mas não posso verificar isso.

Isso é verdade?

Qual é a taxa de adoção? Isso é algo que os engenheiros estão representando em suas decisões de design, ou estamos falando de um "padrão" que não está totalmente formado?

Se o NVMe é algo que somente se aplica aos sistemas mais novos do mercado, é razoável sugerir (ao fornecedor) que minha base de instalação de sistemas antigos não pode ser compatível com NVMe, então vale a pena adicionar o suporte que eu pedi?

    
por ewwhite 22.03.2015 / 15:59

7 respostas

2

Eu precisava testar isso por mim mesmo ...

Comprei quatro Intel 750 SSDs PCIe NVMe para instalar nos servidores HP ProLiant DL380p Gen8 . Os servidores não são a atual geração de CPUs da série 2600v3 da Intel, mas sim as CPUs 2600v2.

O takeaway:

NVMe é uma especificação de interface. No Linux, os dispositivos são enumerados como /dev/nvmeXnY , por ex. /dev/nvme0n1 e /dev/nvme1n1 .

O fator de forma dos dispositivos que usei foi o PCIe 3.0 x4. Os servidores Gen8 ProLiant possuem dois slots PCIe 3.0 no compartimento riser padrão. Essas placas PCIe NVMe funcionarão em slots PCIe mais lentos (ou PCIe 2.0), mas serão limitadas pelo barramento nesse ponto.

Portanto, para o meu caso de uso, o NVMe é um pouco orientado pelo sistema operacional, mas é definitivamente compatível com meu hardware de servidor um pouco mais antigo.

    
por 13.05.2015 / 16:27
4

NVMe é baseado em PCIe, e usando diferentes drivers projetados para isso. Você pode essencialmente pegar um NVM do formfactor M2, colocá-lo no adaptador apropriado e executá-lo em qualquer sistema linux, windows ou BSD com drivers apropriados.

Essencialmente tudo que o NVMe faz é padroniza SSDs baseados em PCIe para um único conjunto de drivers, projetado para tirar o máximo proveito deles.

As chances são de que se você pudesse inicializar a partir de um pci ssd não padrão , pode inicializar a partir disso, com drivers apropriados no sistema operacional. Se você estiver usando isso para caching e outros propósitos, não há razão para o NVMe não funcionar.

Seus sistemas mais antigos provavelmente são compatíveis, supondo que você possa obter um SO novo o suficiente com um kernel moderno o suficiente neles.

    
por 27.03.2015 / 16:10
2

Meus dois centavos ...

O NVMe tem vários SSD mfg para focar e adotar um padrão base ... Basicamente, você pode obter o desempenho do Nand Flash de um SSD conectado aos servidores NVMe para o NET menos. Também é mais NVMe sobre os recursos de tecido (que eu não estou familiarizado ainda)

Veja link

Conteúdo "O Impacto do Desempenho de NVMe e NVMe sobre Tecidos" • Uma visão geral da iniciativa NVMe over Fabrics • Suporte a NVMe para várias malhas, incluindo Ethernet com RDMA (iWARP) • Como o NVM Express end-to-end elimina a latência de conversão SCSI • Alcançar benefícios de desempenho comparáveis a centenas de SSDs - locais e remotos

    
por 27.03.2015 / 19:37
2

este artigo no PCWorld pode ser de interesse.

    
por 05.04.2015 / 19:28
2

Eu escrevi um artigo no Thinkmate que tenta dar uma boa visão geral do NVMe e funciona como um bom pequeno guia sobre como escolher a unidade certa e o sistema, algo que eu descobri estar faltando online. Nós vendemos principalmente servidores Supermicro, e eu concordo - As coisas podem ficar um pouco confusas ... É por isso que eu escrevi o artigo!

Quanto à adoção, não posso falar pela indústria como um todo, mas o interesse da Thinkmate na NVMe tem sido significativo, e o feedback que recebemos de nossos clientes é que eles estão muito satisfeitos com a compra, principalmente devido a os benefícios de desempenho.

Eu vejo muita conversa sobre preço, mas acho que a coisa mais importante a considerar é o valor, não o preço. Sua escolha de memória flash deve depender muito do valor que cada solução trará para sua aplicação durante a vida útil da unidade e do sistema.

    
por 03.02.2016 / 18:23
1

Adicionei uma placa nvme Intel 750 de 400 GB a uma DL 380p gen 8 sem problemas. A bios reconheceu isso como um dispositivo de armazenamento em massa.

Estou usando o FreeBSD 9.3 e ele reconhece a unidade nvme imediatamente, funciona perfeitamente e é muito rápido. Eu não posso comentar sobre a inicialização da unidade como eu estou usando isso como uma segunda unidade.

    
por 10.12.2015 / 20:54
1

Há um detalhe no artigo a seguir que considero significativo e o leva além do "apenas pcie".

São as solicitações em fila simultâneas de 32k, que podem transformar alguns aplicativos. Se eu tiver lido corretamente, isso não está disponível na solução 'encaixe em uma ranhura que leve'. Precisa de uma placa NVMe adequada.

Apenas para informações. Estou aprendendo também!

link

    
por 27.02.2016 / 16:05