Prolongar
/
Nem o cronômetro nem a jaqueta jeans são estritamente necessários, se formos honestos.
Aurich Lawson / Getty
comentários do leitor
259
com 108 pôsteres participantes, incluindo o autor da história
Compartilhe esta história
Compartilhar no Facebook
Compartilhar no Twitter
Compartilhe no Reddit
Fundamentos de armazenamento
O OpenZFS 2.1 foi lançado - vamos falar sobre seus novos vdevs dRAID
Retornar ao RAID: Os leitores Ars “What If?” edição
ZFS versus RAID: Oito discos Ironwolf, dois sistemas de arquivos, um vencedor
ZFS 101 - Compreendendo o armazenamento e o desempenho do ZFS
Noções básicas sobre RAID: como o desempenho aumenta de um disco para oito
Veja mais histórias
Isso está sendo feito há muito tempo - é hora dos resultados dos testes. Para realmente compreender os fundamentos do armazenamento do computador, é importante
explore o impacto de vários RAID convencionais
(Redundant Array of Inexpensive Disks) topologias no desempenho. Também é importante
entender o que é ZFS e como funciona
. Mas, em algum momento, as pessoas (principalmente os entusiastas da informática na Internet) querem números.
Em primeiro lugar, uma nota rápida: este teste, naturalmente, se baseia nesses fundamentos. Vamos nos basear muito nas lições aprendidas à medida que exploramos as topologias ZFS aqui. Se você ainda não está totalmente sólido na diferença entre pools e vdevs ou o que significa ashift e recordsize, nós
fortemente
recomendo que você reveja esses explicadores antes de mergulhar nos testes e resultados.
E embora todos gostem de ver números brutos, pedimos um enfoque adicional
Como as
essas figuras se relacionam umas com as outras. Todos os nossos gráficos relacionam o desempenho das topologias de pool ZFS em tamanhos de dois a oito discos ao desempenho de um único disco. Se você mudar o modelo do disco, seus números brutos mudarão de acordo - mas na maior parte, sua relação com o desempenho de um único disco não mudará.
Equipamento conforme testado
Sim, eu trabalho em um porão praticamente inacabado. Pelo menos tenho janelas para o quintal. Não me @.
Este é o hot rod de armazenamento do verão 2019, com todas as doze baias carregadas e quentes. Os quatro primeiros são meus; os últimos oito são os dispositivos em teste hoje. (A máquina acima é banshee, minha estação de trabalho Ryzen 7 3700X, em um chassi de 12 compartimentos idêntico.)
Leitura Adicional
Atualizei meu antigo servidor Pentium G - vale a pena compartilhar os resultados
Usamos as oito baias vazias em nosso
Hot rod de armazenamento de verão 2019
para este teste. Ele tem muita RAM e potência de CPU mais do que suficiente para lidar com esses testes de armazenamento sem suar a camisa.
Resumo das especificações: hot rod de armazenamento do verão de 2019, conforme testado
SO
Ubuntu 18.04.4 LTS
CPU
AMD Ryzen 7 2700X—
$ 250 na Amazon
RAM
Kit UDIMM 64GB ECC DDR4 -
$ 459 na Amazon
Adaptador de Armazenamento
Adaptador Host Bus LSI-9300-8i 8 portas -
$ 148 na Amazon
Armazenar
8x 12 TB Seagate Ironwolf -
$ 320 cada na Amazon
Placa-mãe
Asrock Rack X470D4U—
$ 260 na Amazon
PSU
EVGA 850GQ PSU Semi Modular—
$ 140 em Adorama
Chassis
Rosewill RSV-L4112—
Normalmente $ 260
, atualmente indisponível devido a CV19
O hot rod de armazenamento também tem um dedicado
LSI-9300-8i
Adaptador de barramento de host (HBA) que não é usado para nada além dos discos em teste. Os primeiros quatro compartimentos do gabinete têm nossos próprios dados de backup - mas eles ficaram ociosos durante todos os testes aqui e estão conectados ao controlador SATA da placa-mãe, totalmente isolados de nossos arrays de teste.
Propaganda
Como testamos
Leitura Adicional
Quão rápidos são seus discos? Descubra a maneira de código aberto, com fio
Como sempre, usamos
fio
para realizar todos os nossos testes de armazenamento. Nós os executamos localmente no Hot Rod e usamos três tipos básicos de teste de acesso aleatório: leitura, gravação e sincronização de gravação. Cada um dos testes foi executado com tamanhos de bloco de 4K e 1M, e eu executei os testes com um único processo e iodepth = 1, bem como com oito processos com iodepth = 8.
Para todos os testes, estamos usando ZFS no Lin
ux 0.7.5, conforme encontrado nos repositórios principais do Ubuntu 18.04 LTS. É importante notar que o ZFS no Linux 0.7.5 já tem dois anos - há recursos e melhorias de desempenho nas versões mais recentes do OpenZFS que não estavam disponíveis no 0.7.5.Testamos com o 0.7.5 de qualquer maneira - para o aborrecimento de pelo menos um desenvolvedor OpenZFS muito experiente - porque quando executamos os testes, o 18.04 era o Ubuntu LTS mais atual e uma das distribuições estáveis mais atuais em geral. No próximo artigo desta série - sobre ajuste e otimização do ZFS - vamos atualizar para o novo Ubuntu 20.04 LTS e um ZFS muito mais recente no Linux 0.8.3.
Configuração inicial: ZFS vs mdraid / ext4
Quando testamos o mdadm e o ext4, não usamos realmente o disco inteiro - criamos uma partição de 1TiB na cabeça de cada disco e usamos essas partições de 1TiB. Também tivemos que invocar argumentos misteriosos -
mkfs.ext4 -E lazy_itable_init = 0, lazy_journal_init = 0
—Para evitar que a pré-alocação do ext4 contamine nossos resultados.
Usar essas partições relativamente pequenas em vez dos discos inteiros era uma necessidade prática, uma vez que o ext4 precisa rastejar sobre todo o sistema de arquivos criado e dispersar blocos de metadados pré-alocados por toda parte. Se tivéssemos usado os discos completos, o espaço utilizável na topologia RAID6 de oito discos teria sido de aproximadamente 65 TiB - e levaria várias horas para formatar, com esperas agonizantes semelhantes por
cada
topologia testada.
Felizmente, o ZFS não precisa ou deseja pré-alocar blocos de metadados - ele os cria imediatamente à medida que se tornam necessários. Portanto, alimentamos o ZFS com cada disco Ironwolf de 12 TB em sua totalidade e não precisamos esperar por longos procedimentos de formatação - cada topologia, mesmo a maior, estava pronta para uso um ou dois segundos após a criação, sem a necessidade de argumentos especiais.
Propaganda
ZFS vs RAID convencional
Leitura Adicional
Bitrot e COWs atômicos: Por dentro dos sistemas de arquivos da “próxima geração”
Leitura Adicional
ZFS 101 - Compreendendo o armazenamento e o desempenho do ZFS
Um array RAID convencional é uma camada de abstração simples que fica entre um sistema de arquivos e um conjunto de discos. Ele apresenta todo o array como um dispositivo de "disco" virtual que, da perspectiva do sistema de arquivos, é indistinguível de um disco individual real - mesmo que seja significativamente maior do que o maior disco único possa ser.
O ZFS é um animal totalmente diferente e abrange funções que normalmente podem ocupar três camadas separadas em um sistema Unix tradicional. É um gerenciador de volume lógico, um sistema RAID e um sistema de arquivos, tudo agrupado em um. A fusão de camadas tradicionais como essa fez com que muitos administradores sênior rangessem os dentes de indignação, mas há boas razões para isso.
Existe um absoluto
tonelada
de recursos que o ZFS oferece, e os usuários não familiarizados com eles são altamente encorajados a dar uma olhada em nosso 2014
cobertura
de sistemas de arquivos de última geração para uma visão geral básica, bem como nosso recente ZFS 101
artigo
para uma explicação muito mais abrangente.
Megabytes vs Mebibytes
Como no último artigo, nossas unidades de medição de desempenho aqui são kibibytes (KiB) e mebibytes (MiB). Um kibibyte tem 1.024 bytes, um mebibyte tem 1.024 kibibytes e assim por diante - em contraste com um kilobyte, que é 1.000 bytes, e um megabyte, que é 1.000 kilobytes.
Kibibytes e seus irmãos mais velhos sempre foram as unidades padrão para armazenamento de computador. Antes da década de 1990, os profissionais de informática simplesmente se referiam a eles como K e M - e usavam os prefixos métricos imprecisos ao soletrá-los. Mas sempre que seu sistema operacional se refere a GB, MB ou KB - seja em termos de espaço livre, velocidade de rede ou quantidade de RAM - ele está realmente se referindo a GiB, MiB e KiB.
Os fornecedores de armazenamento, infelizmente, acabaram descobrindo a diferença entre as métricas como uma forma de produzir unidades de "gigabyte" e depois unidades de "terabyte" de maneira mais barata - então, um SSD de 500 GB tem realmente apenas 465 GiB e discos rígidos de 12 TB como os que temos. Testando novamente hoje são realmente apenas 10,9 TiB cada.