Atualize o subsistema de disco do servidor antigo com o barramento PCIe 1.0 - 2.0

Por que o tópico deste artigo foi escolhido para atualizar o subsistema de disco
É claro que, em primeiro lugar, você precisa, via de regra:

  1. Aumente a RAM. Esse é um movimento tão óbvio que eu nem sequer achei necessário escrever sobre isso no artigo principal
  2. Instale processadores adicionais ou substitua os dois processadores pelas versões mais produtivas suportadas pelos soquetes do servidor.

Para servidores mais antigos que têm memória, os processadores geralmente podem ser encontrados a preços de pechincha.

Em algum momento, a questão de qualquer proprietário de seu próprio servidor se torna atualização ou um novo servidor.

Como o preço de um novo servidor agora pode ser medido em milhões de rublos, muitos estão no caminho da atualização.

Para uma atualização bem-sucedida, é muito importante usar compromissos, para que, por uma pequena taxa (em relação ao preço de um novo servidor), obtenhamos um ganho de desempenho significativo.

O artigo fornece uma lista de SSDs de servidor PCI-E 2.0 x8, que são muito mais baratos agora, são indicados controladores RAID com suporte para cache de SSD e um SSD SATA III é testado na interface SATA II.

A maneira mais óbvia de atualizar o subsistema de disco é alternar do HDD para o SSD. Isso é verdade para laptops e servidores. Nos servidores, talvez a única diferença seja que os SSDs podem ser facilmente incorporados a um ataque.

É verdade que existem pontos sutis associados ao fato de que talvez não haja portas SATA III no servidor antigo e você precisará substituir ou instalar o controlador apropriado.

Existem, é claro, métodos intermediários.

Armazenamento em cache no SSD.


Em geral, esse método é adequado para bancos de dados, 1C, qualquer acesso aleatório. A velocidade realmente acelera. Para grandes arquivos de vigilância por vídeo, esse método é inútil.

Controladores de Raide LSI (IBM, DELL, CISCO, Fujtsu)


Começando com a série 92xx, o LSI possui a tecnologia CacheCade 2.0, que permite usar praticamente qualquer SSD SATA como cache de matriz RAID. Tanto para leitura quanto para escrita. E até crie um espelho a partir do armazenamento em cache de SSDs.

Com controladores de marca, as coisas ficam mais complicadas. Isto é especialmente verdade para a IBM. Você precisará comprar chaves e SSDs do CacheCade da IBM por muito dinheiro, portanto é mais fácil mudar o controlador para LSI e comprar uma chave de hardware a um preço baixo. As chaves de software custam significativamente mais do que as chaves de hardware.

Controladores RAID Adaptec


Os controladores Adaptec possuem a tecnologia MaxCache, que também permite usar o SSD como cache. Estamos interessados ​​em versões de controladores que terminam com a letra Q.

Os controladores Q podem usar praticamente qualquer SSD, não apenas os SSDs fornecidos pela Adaptec.

  • A partir do 5xxx, todos os controladores têm suporte a ataques híbridos. A essência dessa tecnologia é que a leitura é sempre feita com o SSD, quando há um espelho em uma das unidades em que o SSD.
  • 5xxxQ, por exemplo, 5805ZQ. Esses controladores oferecem suporte ao MaxCache 1.0. Leia apenas o cache.
  • 6xxQ, por exemplo 6805Q. MaxCache 2.0. Leitura e gravação em cache.
  • 7xxQ, por exemplo 7805Q. MaxCache 3.0. Leitura e gravação em cache.
  • O 8xxQ para fins de atualização quase não faz sentido usar por causa dos preços altos.

Artigo sobre armazenamento em cache no SSD no Habré (controladores e SO).

Armazenamento em cache da tecnologia de software no SSD


Não cobrirei essas tecnologias. Em quase todos os sistemas operacionais, eles agora são suportados. Lembro que, ao usar o btrfs, ele encaminha automaticamente as solicitações de leitura para o dispositivo com a menor fila - SSD.

SSD SATA III em SATA II


Como nem sempre há a oportunidade e o dinheiro para um novo controlador, surge a questão de quão bem os SSDs SATA III funcionam na interface desatualizada SATA II.

Vamos fazer um pequeno teste. Como assunto de teste, teremos um SSD SATA III de 400 GB Intel S3710.
Leitura aleatória, iopsLatência média de leitura, mSGravação aleatória, iopsLatência média de gravação, mSLeitura linear, MB / sGravação linear, MB / s
SATA II212412135804282235
SATA III680730,468613920,52514462

Comandos usados ​​para teste de velocidade
fio --name LinRead --eta-newline=5s --filename=/dev/sda --rw=read --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name LinWrite --eta-newline=5s --filename=/dev/sda --rw=write --size=500m --io_size=10g --blocksize=1024k --ioengine=libaio --fsync=10000 --iodepth=32 --direct=1 --numjobs=1 --runtime=60 --group_reporting fio --name RandRead --eta-newline=5s --filename=/dev/sda --rw=randread --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting fio --name RandWrite --eta-newline=5s --filename=/dev/sda --rw=randwrite --size=500m --io_size=10g --blocksize=4k --ioengine=libaio --iodepth=32 --direct=1 --numjobs=4 --runtime=60 --group_reporting 


Como você pode ver a diferença de velocidade linear, IOPS, os atrasos são muito decentes, portanto, faz sentido usar apenas a interface SATA III e, caso contrário, coloque o controlador.

Para ser justo, direi que em outros experimentos, a diferença na velocidade de leitura e escrita aleatória foi insignificante. Talvez uma diferença tão grande de IOPS entre o SATA II e o SATA III possa ter acontecido porque eu tinha um controlador SATA II extremamente malsucedido ou um driver com alguns erros.

No entanto, o fato é que você precisa verificar a velocidade do SATA II - de repente, você tem o mesmo controlador de freio. Nesse caso, a transição para o controlador SATA III é necessária.

SSD PCIe no PCI-e 2.0 ou 1.0


Como você sabe, os SSDs mais rápidos são o PCI-e NVMe, que não se limita ao SAS ou SATA.

No entanto, ao instalar SSDs PCI-e modernos, é necessário levar em consideração o fato de que a maioria deles usa apenas 4 linhas PCI-e, geralmente PCI-e 3.0 ou 3.1.

Agora vamos ver a tabela de velocidade do barramento PCI-e.
Largura de banda PCI Express, GB / s
Ano
liberação
Versão
PCI Express
Codificação
Velocidade
transmissão
Largura de banda em x linhas
× 4× 8× 16
20021.08b / 10b
0,50 GB / s1,0 GB / s2,0 GB / s4,0 GB / s
20072.08b / 10b
1,0 GB / s2,0 GB / s4,0 GB / s8,0 GB / s
20103.0128b / 130b
1,97 GB / s3,94 GB / s7,88 GB / s15,8 GB / s
Ao instalar um SSD PCI 3.0 x4 em um barramento PCI-e 2.0, ele funcionará no mesmo número de linhas, mas a uma velocidade significativamente menor. Há um problema em que as velocidades lineares dos SSDs PCI-e modernos excedem a largura de banda do barramento PCI-e 2.0 e, principalmente, o PCI-e 1.0.

Adaptador M.2 SSD e PCI-e

Existem boas opções de atualização quando compramos um adaptador por US $ 10 e colocamos o M.2 SSD no servidor, mas novamente para bons SSDs haverá cortes de velocidade (especialmente no PCI-e 1.0), e os SSDs M.2 nem sempre estão disponíveis para cargas de servidor: alta durabilidade, proteção de energia e estabilidade das características de velocidade devido ao preenchimento do cache do SLC em modelos baratos.

Portanto, esse método pode ser adequado apenas para um servidor com um barramento PCI-e 2.0 e ocupado com trabalhos não críticos.

SSD PCI-E 2.0 x8


A atualização lógica mais econômica é usar o SSD PCI-E 2.0 x8 para servidores com um barramento PCI-e 1.0 (largura de banda de até 2 GB / s) e PCI-e 2.0 (até 4 GB / s).

Agora, esses SSDs de servidor podem ser comprados de maneira barata, tanto em vários mercados quanto em leilões online, inclusive na Rússia.

Eu compilei uma tabela de SSDs obsoletos que fazem um overclock perfeito do seu servidor antigo. No final da tabela, adicionei vários SSDs com uma interface PCI-E 3.0 x8. De repente, você tem sorte e se depara com um preço razoável.

TítuloTBPBWPCI-EIk de leitura de 4k, KIops de gravação em 4k, Kleitura, MB / sgravação, MB / s
MLC Fusion-io ioDrive II DUO2.432,52,0 x848049030002500
IOMEMORY DE FUSÃO SANDISK SX350-13001.342,0 x822534528001300
IOMEMORY DE FUSÃO SANDISK PX600-13001.3162,0 x823537527001700
IOMEMORY DE FUSÃO SANDISK SX350-16001.65.52,0 x827037528001700
SanDisk Fusion ioMemory SX300-32003.2.112,0 x834538527002200
SanDisk Fusion ioMemory SX350-32003.2.112,0 x834538528002200
IOMEMORY DE FUSÃO SANDISK PX6002.632.2,0 x835038527002200
Huawei ES3000 V21,68,762,0 x839527015501100
Huawei ES3000 V23.2.17,522,0 x877023031002200
EMC XtremSF2.22,0 x834011027001000
HGST Virident FlashMAX II2.2332,0 x835010327001000
SSD HGST Virident FlashMAX II4.810.12,0 x8269512600900
HGST Virident FlashMAX III2.27.12,0 x853159.27001400
Dell Micron P420M1.49.22,0 x8750953300630
Micron P420M1.49.22,0 x8750953300630
HGST SN2601.625/103.0 x8120020061702200
HGST SN2603.2.17,523.0 x8120020061702200
Intel P36083.2.17,53.0 x88508045002600
Kingston DCP10003.2.2,783.0 x8100018068006000
Oracle F3203.2.293.0 x875012055001800
Samsung PM17253.2.293.0 x8100012060002000
Samsung PM1725a3.2.293.0 x8100018062002600
Samsung PM1725b3.2.183.0 x898018062002600

Desses SSDs, fica o Fusion ioMemory. O diretor de pesquisa da Fusion foi Steve Wozniak . A SanDisk comprou a empresa por US $ 1,2 bilhão. Ao mesmo tempo, eles custam US $ 50.000 cada. Agora você pode comprá-los por várias centenas de dólares em novas condições para uma unidade com capacidade de 1 TB ou superior.

Se você olhar atentamente para a tabela, poderá ver que eles têm um número bastante alto de IOPS por registro, o que é quase igual ao número de IOPS por leitura. Dado o preço atual, na minha opinião, vale a pena prestar atenção a esses SSDs.

É verdade que eles têm vários recursos:

  1. Eles não podem ser inicializáveis.
  2. Precisa de um driver para usar. Os drivers têm quase tudo, mas nas versões mais recentes do Linux eles precisam ser compilados.
  3. O tamanho ideal do setor é 4096 bytes. (512 também é suportado)
  4. O driver no pior cenário pode consumir bastante RAM (com um tamanho de setor de 512 bytes)
  5. A velocidade do trabalho depende da velocidade do processador, por isso é melhor desativar as tecnologias de economia de energia. Isso é positivo e negativo, pois, com a ajuda de um processador poderoso, o dispositivo pode funcionar ainda mais rápido do que o indicado nas especificações
  6. Precisa de um bom resfriamento. Para servidores, isso não deve ser um problema.
  7. Não é recomendado para o ESXi, pois o ESXi prefere discos com o setor 512N e isso pode levar ao alto consumo de memória do driver.
  8. As versões com marca desses SSDs geralmente não são suportadas pelos fornecedores até o nível do driver mais recente da SanDisk (março de 2019)

Realizei testes Fusion ioMemory em comparação com um servidor bastante moderno SSD Intel P3700 PCI-E 3.0 x8 (o último custa 4 vezes mais caro que o Fusion com capacidade semelhante). Ao mesmo tempo, você pode ver quanto a velocidade é cortada devido ao barramento x4.
Fusion PX600 1.3TB PCI-E 2.0 x8Intel P3700 1.6TB PCI-E 3.0 x4

Sim, a velocidade de leitura linear é reduzida exclusivamente pelo Intel P3700. O passaporte deve ter 2800 MB / s e temos 1469 MB / s. Embora, em geral, seja possível dizer que, com o barramento PCI-e 2.0, você pode usar o servidor SSD PCI-E 3.0 x4, se conseguir obtê-los a um preço razoável.

Conclusões


O subsistema de disco de um servidor antigo com um barramento PCI-E 1.0 ou 2.0 pode ser redescoberto usando SSDs que podem utilizar 8 linhas PCI-E que fornecem taxas de transferência de até 4GB / s (PCI-E 2.0) ou 2GB / s (PCI-E 1.0). A maneira mais econômica de fazer isso é usar SSDs PCI-E 2.0 desatualizados.

As opções de compromisso relacionadas à compra de uma chave CacheCade para controladores LSI ou à substituição de um controlador Adaptec por uma versão Q também são fáceis de implementar.

Bem, uma maneira completamente banal é comprar um controlador SATA III (raid) para que o SSD funcione a toda velocidade e mova todos eles com velocidade exigente.

Source: https://habr.com/ru/post/pt454222/


All Articles