Questão
Eu já li muitas discussões sobre armazenamento e se os SSDs ou HDDs clássicos são melhores. Estou bastante confuso. HDDs ainda são bastante preferidos, mas por quê?
Qual é o melhor para armazenamento ativo? Por exemplo, para bancos de dados, onde o disco está ativo o tempo todo?
Sobre o SSD.
Pros.
- Eles são quietos.
- Não é mecânico.
- O mais rápido.
Cons.
- Mais caro.
Questão.
- Quando o ciclo de vida de uma célula de um SSD é usado, o que acontece então? O disco é reduzido apenas por esta célula e funciona normalmente?
- Qual é o melhor sistema de arquivos para escrever? O ext4 é bom porque salva nas células consecutivamente?
Sobre o HDD.
Pros.
- Mais barato.
Cons.
- Em caso de falha mecânica, acredito que normalmente não há como repará-lo. (Por favor confirme.)
- Mais lento, embora eu ache a velocidade do disco rígido geralmente suficiente para servidores.
É apenas sobre preço? Por que os HDDs são preferidos? E os SSDs são realmente úteis para servidores?
hard-drive
storage
hardware
ssd
genderbee
fonte
fonte
Respostas:
Um aspecto do meu trabalho é projetar e construir sistemas de armazenamento em larga escala (geralmente conhecidos como "SANs" ou "Storage Area Networks"). Normalmente, usamos uma abordagem em camadas com SSD e HDD combinados.
Dito isto, cada um tem benefícios específicos.
Os SSDs quase sempre têm um custo por byte mais alto. Posso obter HDs SAS de 4k e 10k com um custo por gigabyte de US $ 0,068 / GB USD. Isso significa que, por cerca de US $ 280, posso obter uma unidade de 4 TB. Os SSDs, por outro lado, normalmente têm um custo por gigabyte nos anos 10 e 20 de centavos, mesmo que sejam tão altos quanto os dólares por gigabyte.
Ao lidar com RAID, a velocidade se torna menos importante e, em vez disso, o tamanho e a confiabilidade importam muito mais. Posso construir um sistema RAID N + 2 de 12 TB com HDDs muito mais baratos que os SSDs. Isto é principalmente devido ao ponto 1.
Quando tratados adequadamente, os discos rígidos são extremamente baratos para substituir e manter. Como o custo por byte é menor, substituir um HDD por outro devido a falha é mais barato. E, como as falhas do HDD estão tipicamente relacionadas ao tempo versus à gravação dos dados, a substituição não inicia automaticamente o TBW ao reconstruir a matriz RAID. (É verdade que a porcentagem de TBW usada para uma reconstrução é minúscula no geral, mas o ponto permanece.)
O mercado de SSD é relativamente complexo. Existem quatro tipos principais de SSDs (atuais, no momento da redação deste artigo), classificados do maior número total de gravações suportadas até o menor: SLC, MLC, TLC, QLC. O SLC normalmente suporta o maior número de gravações totais (o principal fator limitante da vida útil do SSD), enquanto o QLC geralmente suporta os números mais baixos do total de gravações.
Dito isto, os sistemas de armazenamento mais bem-sucedidos que eu já vi são escalonados com as duas unidades em uso. Pessoalmente, todos os sistemas de armazenamento que recomendo aos clientes geralmente seguem as seguintes camadas:
O desempenho de leitura / gravação diminui à medida que você aumenta as camadas, os dados se propagam para uma camada em que a maioria dos dados compartilha a mesma frequência de acesso / modificação. (Ou seja, quanto mais os dados forem lidos / gravados, maior será a camada em que residem.)
Polvilhe algum canal de fibra bem projetado lá e você pode realmente construir uma SAN que tenha uma taxa de transferência mais alta do que as unidades integradas.
Agora, para alguns itens específicos que você menciona:
Suas perguntas sobre SSD
Suas perguntas sobre HDD
fonte
É isso? Não tenho certeza se é para ser honesto.
Os HDDs vêm em tamanhos grandes por um preço decente agora, isso é inegável, e acho que as pessoas confiam neles para retenção de dados mais longa do que os SSDs também. Além disso, quando os SSDs morrem, eles tendem a morrer completamente, de uma só vez, enquanto os HDDs tendem a morrer de uma maneira mais previsível que talvez permita mais tempo para obter os dados primeiro, se necessário.
Mas, caso contrário, o SSD é o caminho a seguir para a maioria dos usos - você deseja um par de inicialização, alguns SATAs de 500 GB no R1 não custarão muito, pois, para o uso do banco de dados, você não consegue superar os SSDs (desde que seus logs estejam ativados) modelos de alta resistência de qualquer maneira). Para backups, é possível usar HDDs grandes de 7,2k, o mesmo para conjuntos de dados muito grandes (na verdade, comprei mais de 4.000 HDDs de 10 TB no início do ano passado apenas para esse requisito), mas, caso contrário, o SSD é o caminho a seguir.
fonte
Estado sólido para tudo o que é importante: uso interativo, bancos de dados, qualquer coisa online. Fusos como armazenamento quente barato, apenas para arquivos não muito frios ou dados acessados com pouca frequência. Em particular, HDDs em uma área de preparação antes que os backups sejam arquivados em fita.
Diferentes tipos de mídia para quente versus frio também ajudam com alguma diversidade. Uma falha de perda de dados em uma marca de controlador SSD seria muito pior se os dados online e de backup fossem retirados. Improvável, mas eixos e fita são baratos de qualquer maneira, então por que correr o risco?
O modo de falha de qualquer dispositivo específico não é importante, desde que as matrizes permaneçam redundantes e com backup. Geralmente, o procedimento é substituir uma unidade por qualquer sintoma de falha. Experimente repará-los em seus sistemas de teste, onde qualquer falha catastrófica não afeta os serviços de produção.
O sistema de arquivos é uma questão de preferência pessoal. Embora existam sistemas de arquivos otimizados para SSD, algo que você conhece e pode reparar pode ser mais importante.
fonte
A grande vantagem de um SSD é a velocidade e a confiabilidade, no entanto, um dos pequenos segredos sujos é o número limitado de ciclos de gravação que um SSD possui. Se você estiver construindo um servidor com muitas atividades de gravação no disco rígido, como um banco de dados ou servidor de e-mail, precisará de um SSD mais caro e com maior resistência.
O NAND Flash possui 3 tipos
O TLC foi projetado principalmente para servidores Web ou servidores de arquivamento que possuem poucos ciclos de gravação. O MLC é para servidores que possuem uma mistura de ciclos de leitura e gravação como servidores de banco de dados de baixo volume. O SLC foi projetado para servidores com muitos ciclos de leitura / gravação, como um servidor de banco de dados de alto volume.
O principal fator determinante entre o SSD e o HDD é a aplicação e o orçamento. Em um mundo perfeito, os discos rígidos SLC SSD tornariam um HDD obsoleto, mas ainda não estamos lá.
fonte
Isso depende de com quem você conversa, seus antecedentes (gerenciamento, TI, vendas, etc.) e que tipo de servidor a discussão se refere. Os HDDs geralmente são uma ordem de magnitude mais barata por byte, mas consomem mais energia e quase sempre são mais lentos, dependendo da carga de trabalho.
Quase sempre, o custo e a quantidade de armazenamento podem caber em uma determinada quantidade de servidores. Se você pode obter o desempenho de uma matriz de invasões de 5 discos com um único SSD, o SSD provavelmente é muito mais barato e usa uma fração da energia, mas você também terá talvez 1/10 do armazenamento.
É aqui que fica complicado, e por que muitas pessoas ignoram a complicação e apenas seguem os HDDs que conhecem.
Os SSDs vêm em diferentes graus, com limites para a quantidade de dados que podem ser gravados nas células, o que NÃO é igual à quantidade de dados gravados pelo host. Escrever pequenas quantidades de dados acaba gravando grandes quantidades nas células, isso é chamado de amplificação de gravação e pode rapidamente matar unidades com baixas classificações de resistência.
As células SSD são nomeadas para a quantidade de bits que podem armazenar; para armazenar n bits, elas precisam de 2 ^ n níveis de voltagem por célula. Um TLC (bit triplo) precisa de 8 níveis de tensão para endereçar esses bits. Geralmente, cada vez que você aumenta o nível de bits por célula, obtém uma queda de 3-10X na durabilidade da célula. Por exemplo , uma unidade SLC pode gravar todas as células 100000 vezes antes de as células morrerem, eMLC corporativo 30000 vezes, MLC 10000, TLC 5000, QLC 1000.
Há também melhorias geracionais na tecnologia de células SSD, melhor litografia e NAND 3D, melhorando a densidade e o desempenho em relação ao NAND 2D mais antigo: "O MLC de hoje é melhor que o SLC de ontem", conforme citado pelo analista Jim Handy .
Na verdade, os SSDs não gravam diretamente em células endereçadas, eles gravam em blocos de células. Dessa forma, o bloco possui uma quantidade mais consistente de gravações de células e, quando as células perdem a tolerância, o bloco inteiro é marcado como ruim e os dados são movidos para um novo bloco. A resistência do SSD é baseada no tipo de célula, quantos blocos sobressalentes estão disponíveis, quanta sobrecarga para correção de erros e como o inversor usa cache e algoritmos para reduzir a amplificação de gravação. A tolerância que o fabricante seleciona para marcar como ruim também entra em jogo, uma unidade corporativa marcará blocos ruins antes de uma unidade de consumidor, mesmo que um deles ainda esteja totalmente funcional.
Os SSDs de "gravação alta" de nível corporativo são baseados em células SLC ou eMLC e possuem grandes quantidades de blocos sobressalentes e geralmente possuem um cache grande com capacitores para garantir que o cache possa ser liberado no disco quando a energia for perdida.
Também existem unidades com resistência muito menor para aplicativos de "alta leitura", como servidores de arquivos que precisam de tempos de acesso rápidos; custam menos por byte pelo preço da resistência reduzida, com diferentes tipos de células, menos área livre e assim por diante. podem ter apenas 5% da resistência de uma unidade de "gravação alta", mas também não precisam dela quando usada corretamente.
Meu banco de dados é pequeno, com leituras intermitentes sendo 95% de acesso, e a maioria é armazenada em cache na RAM, é quase tão rápida em um HD quanto em SSD. Se fosse maior, não haveria RAM suficiente no sistema e o SSD começa a fazer uma enorme diferença nos tempos de acesso.
Os SSDs também tornam mais rápidos os pedidos de backup e recuperação de magnitude. Meu banco de dados foi restaurado do backup em cerca de 10 minutos para um SSD lento, ou cerca de 11 segundos para um realmente rápido, o backup em um HDD teria durado cerca de 25 minutos. São pelo menos duas ordens de magnitude e isso pode fazer uma enorme diferença dependendo da carga de trabalho. Ele pode literalmente se pagar no dia 1.
Bancos de dados com grandes quantidades de pequenas gravações podem matar uma unidade TLC de qualidade de consumidor em questão de horas.
Absolutamente, se o tipo e o grau corretos de unidade forem selecionados para o aplicativo, se você fizer errado, pode ser um desastre.
Meu servidor executa vários bancos de dados, além de armazenamento em rede de alta leitura, armazenamento de imagens com segurança de gravação alta, armazenamento de arquivos de gravação e leitura mista e backup do cliente. O servidor possui uma matriz RAID-6 de HDDs para armazenamento em rede em massa e NVR, um único SSD MLC de alto desempenho para MySQL e três unidades TLC de consumidor em RAID-5 para backups de clientes e bancos de dados e acesso rápido ao armazenamento em rede.
A velocidade de gravação no SSD RAID é aproximadamente a mesma do HDD RAID, mas a velocidade de leitura de acesso aleatório é 10 vezes mais rápida no SSD RAID. Mais uma vez, este é um SSD TLC de consumidor, mas como a velocidade de gravação sequencial é cerca de 3X mais rápida que a LAN de gigabit, ela nunca é sobrecarregada e há muita sobrecarga se o sistema fizer backups locais quando estiver sendo acessado remotamente.
A maioria dos SSDs também oferece apagamento seguro instantâneo (ISE) , que pode limpar os dados em alguns segundos, em comparação a muitas horas ou dias dos HDDs que não possuem esse recurso, apenas alguns HDDs de nível empresarial tendem a oferecer ISE, mas estão se tornando mais comum. Isso é muito útil se você estiver desativando ou redefinindo uma unidade.
Depende do tipo de dados e dos tipos de recursos do sistema de arquivos que você deseja. Estou usando apenas EXT4 e BTRFS (preciso de instantâneos e somas de verificação). A sobrecarga do sistema de arquivos diminui o espaço utilizável e pode reduzir um pouco a vida útil dos SSDs, o BTRFS possui uma alta sobrecarga para somas de verificação e outros recursos, e os instantâneos usam muito espaço.
Independentemente do tipo de unidade, você já teve que realizar a recuperação de dados em uma unidade morta? Pode ser muito caro , é melhor ter um backup em camadas, RAID no armazenamento principal, backups com versão localmente em um dispositivo ou máquina diferente e sincronizar com o local ou a nuvem. 1 TB de armazenamento em nuvem custa US $ 5 por mês, a recuperação de dados em um disco rígido pode custar 2 mil e um SSD morto pode ser impossível de recuperar ... basta fazer os backups e esquecer o reparo.
fonte
AMBOS.
Ainda tenho que ver um SSD morrendo por causa da carga de gravação (eles devem se tornar somente leitura neste caso). Não que eles não morram por outros motivos - incluindo, entre outros, superaquecimento e erros de firmware.
E eu vi um HDD morto. Muito mais deles, na verdade.
Muito sobre a confiabilidade.
Em alguns casos, faz sentido criar RAID1 misto (HDD + SSD). Dessa forma, você pode proteger os modos de falha relacionados a ambos e ainda ter desempenho de leitura do SSD.
Em outros casos, faz sentido usar um SSD apenas para o diário do sistema de arquivos - você obterá o dobro do desempenho de gravação do HDD (porque economiza metade das gravações e metade das buscas) e geralmente não corre riscos, mesmo que seu SSD com abuso morre. O Ext4 perde seu diário de maneira bastante elegante.
fonte
data=ordered
. Você não "salva metade das gravações", a menos que sua carga de trabalho envolva apenas renomear e excluir arquivos / diretórios e criar arquivos vazios. Mas sim, o diário no SSD deve realizar a maioria das cargas de trabalho significativamente, removendo muitas gravações pequenas.Os dois principais fatores a serem considerados são:
Os SSDs expulsam os HDDs da água em termos de desempenho. Se você precisar de alta taxa de transferência e baixo tempo de acesso, nada superará os SSDs .
Mas o custo por gigabyte de SSDs é muito maior que o dos HDDs. Se você precisar de muito armazenamento e taxa de transferência ou tempos de acesso menos importantes, nada superará os HDDs.
Os valores de taxa de transferência (largura de banda) podem ser ajudados pelo nível de RAID apropriado (porém, não há muitos tempos de acesso, a menos que suas unidades sejam acumuladas o suficiente para que o enfileiramento seja um problema).
Os valores do tempo de acesso de leitura para pequenos conjuntos de dados podem ser ajudados pelo armazenamento em cache apropriado (por exemplo, colocar mais RAM no seu servidor). Porém, não ajudará em gravações (com exceção dos caches de RAM com bateria em controladores ou discos).
Portanto, tudo realmente depende do seu caso de uso. Um servidor de backup / arquivamento que precise de muita capacidade, mas não se importe muito com os tempos de acesso ou com a largura de banda, será melhor com HDDs. Um servidor de banco de dados de alto tráfego prefere SSDs. Entre ... depende.
Qualquer que seja a situação:
Você precisa de backups. Não é uma questão de se uma unidade (SSD ou HDD) falhar, é uma questão de quando .
Se o servidor tiver algum tipo de importância, você deseja algum tipo de RAID para manter o tempo de atividade e proteger os dados. O RAID também geralmente ajuda no desempenho. O que depende muito de seus requisitos (novamente, um comprometimento de desempenho / custo).
fonte
Como já mencionado, a grande diferença é o preço por GB versus o desempenho aleatório de IO.
Tomemos, por exemplo, um Seagate Exos 16 TB: a ~ 550 $, ele comanda 0,034 $ / GB. Agora compare-o com um Micron 5200 ECO 7,68 TB de nível básico (velocidade), com preço de ~ 1.300 $, com uma taxa de 0,14 $ / GB resultante: o HDD é 5x mais barato, sendo também 2x maior. Por outro lado, o desempenho de E / S aleatória do SSD é imensamente melhor, com um problema: os SSDs do consumidor, sem cache de write-back protegido por powerloss, são bastante lentos (um pouco mais lentos do que o HDD) para uma carga de trabalho rica em E / S aleatória sincronizada (por exemplo: bancos de dados, máquinas virtuais ) Este é um ponto muito importante, raramente analisado por revisões on-line. Os SSDs corporativos, com capacitores de uso quase unívoco como proteção contra perda de energia, não sofrem com essa fraqueza, tendo IO aleatória de leitura e gravação muito alta.
Pelo exposto, você pode entender por que o SSD eliminou os discos SAS de 15K e 10K de ponta: eles oferecem desempenho muito melhor a um custo comparável (os discos de 15K eram especialmente caros). Por outro lado, o HDD de 7.2K tem uma posição muito forte em sistemas de armazenamento de alta capacidade.
O Intel Optane (que é baseado no Xpoint e não no NAND) pertence a uma classe própria, tanto em velocidade quanto em durabilidade, comandando um preço muito alto / GB: um Optane P4801x de 100 GB custa mais de 260 $, com um custo por GB de > 2,6 $, 80x mais quando comparado aos HDDs. Por esse motivo, é frequentemente usado como um "acelerador de aplicativos" ou como um dispositivo de registro / diário.
Por esses motivos, as SANs e o servidor modernos costumavam usar um subsistema de armazenamento em camadas ou em cache :
os sistemas hierárquicos colocam dados quentes na camada rápida (SSDs) e dados frios na camada lenta (HDDs). Nesses sistemas, o espaço total de armazenamento é a soma da camada rápida e lenta; no entanto, eles estão estáticos - todos particionados - se um dado frio esquentar de repente, será necessário aguardar que ele seja movido para a camada mais rápida. Além disso, o nível mais rápido deve ser tão durável quanto o mais lento;
o sistema baseado em cache possui todos os dados no HDD lento, aumentado com um cache dinâmico no SSD onde os dados quentes são copiados (em vez de movidos); isso significa que esses sistemas têm um espaço total de armazenamento igual ao que a camada lenta oferece, mas com a flexibilidade adicional de um cache dinâmico. Nos sistemas baseados em cache, a camada mais rápida pode ser formada por SSDs baratos e baratos.
Qual é o melhor sistema de arquivos para SSDs baseados em flash? Uma resposta ingênua pode ser "a que escreve menos", mas a realidade é que qualquer tecnologia avançada de sistema de arquivos é baseada em uma abordagem CoW que, com base na implementação específica, pode levar a uma amplificação de gravação bastante substancial (por exemplo: ZFS e WALF escreverão mais do que, digamos, EXT4 ou XFS). Para um ponto de vista "sem gravação", acho difícil vencer o EXT4 e o XFS (especialmente quando apoiados pelo lvmthin , que permite instantâneos rápidos mesmo nesses sistemas de arquivos clássicos); no entanto, gosto muito da garantia adicional de proteção de dados e da compactação lz4 oferecida pelo ZFS.
Então, você realmente precisa de um armazenamento SSD para suas tarefas de servidor? Depende:
se você precisar armazenar vários TBs de dados de maneira barata, os HDDs (ou, no máximo, os SSDs de consumidor baratos) são o caminho a percorrer;
se você tiver uma carga de trabalho principalmente seqüencial (por exemplo: servidor de arquivos), não precisará de SSDs;
se sua carga de trabalho for rica em E / S aleatória, você se beneficiará muito dos SSDs;
se você possui um padrão de gravação pesado para fsync, os SSDs corporativos (ou um controlador RAID robusto com cache de write-back protegido por powerloss) são sua melhor aposta, com a desvantagem do alto custo.
fonte
Resposta simples aqui: use SSDs para obter dados de desempenho rápidos, por exemplo, ao criar um servidor para realizar operações grandes e rápidas de dados (como edição de vídeo)
Use HDs para armazenamento lento de arquivo.
Geralmente, os HDDs são menos confiáveis que os SSDs, embora tenham um custo por gig menor do que os SSDs.
se dados confidenciais estiverem sendo armazenados, considere usar um ssd e também um disco rígido para backup.
fonte
Calmo nem sempre é bom. Como carros elétricos na estrada sendo muito silenciosos. Os ruídos de acesso ao disco rígido podem fornecer segurança (como eu detectei uma interrupção em um servidor de força de trabalho enquanto assistia a um filme. (Além disso: as impressoras de alimentação de linha vinculadas a / var / log / messages são mais difíceis de apagar uma única entrada)
fonte
Eu olho assim,
Para que serviço estou construindo um servidor?
Se for um serviço de infraestrutura como LDAP / AUTH / Printing etc, no qual você estiver oferecendo um serviço, é principalmente um problema de memória economizar dinheiro e usar o HDD (7.2k ou 10k, talvez um dispositivo de inicialização SSD raid 1) e jogar uma carga de memória nele .
Certifique-se de usar um controlador de raid flash suportado por bateria para o servidor de arquivos. Em seguida, você pode usar o HDD com eficiência, desde que a gravação seja confirmada pelo controlador e não pelos discos.
Se for um banco de dados do serviço de dados, etc, use o SSD RAID para obter alto rendimento, mas também controle os custos usando o HDD, alguns bancos de dados, por exemplo, não exigirão uma alta velocidade de gravação ou não apenas executarão as IOPs para garantir o uso de armazenamento de alto custo.
No final do dia, tudo depende do dinheiro e do seu CFO / Diretor Financeiro / VP financeiro.
fonte
Os SSDs são claramente os melhores, ficarão melhores e continuarão a ficar mais baratos, mas hoje são mais caros.
Os HDDs são adequados para tarefas de armazenamento seqüencial:
Os HDDs também são adequados para tarefas que não diferem na latência:
Portanto, para um servidor, se você tiver o orçamento, poderá preenchê-lo com SSDs. Além disso, usando a lista incompleta acima, você pode economizar dinheiro misturando com HDDs.
RAID e classificação por níveis está além do escopo desta pergunta, tenho certeza de que há muitas outras perguntas sobre isso.
Quanto ao ciclo de vida dos SSDs (lembro-me de ler o Samsung Evo Pro (produto de consumo) durou muito mais do que o prometido). Células individuais certamente podem quebrar com o tempo, mas isso não quebra o disco inteiro. O tempo de vida da célula está vinculado à quantidade de gravações. nessa célula. O controlador SSD espalha as gravações em várias células ao longo do tempo. Se o SSD estiver 99% cheio e o espaço restante for usado com muitas gravações, esse espaço restante será gasto mais rapidamente.
fonte
Se houver necessidade de
então HDD é mais confiável
A substituição parece ser mais lenta no SSD
SSD é incrível!
fez a revolução do armazenamento físico de exabytes / yotabytes em um pequeno gabinete / rack
Um grande refrigerador de nitrogênio pode ser instalado e um pequeno espaço pode servir um rack de armazenamento puro
O SSD Cache é outra incrível tecnologia de leitura mais rápida que permite o armazenamento em cache para outro nível
fonte