ZFS e dispositivos de cache

9

Vou adicionar unidades SSD aos armazenamentos do ZFS como cache. Alguém tem alguma experiência com isso? E se o dispositivo de cache morrer, os dados serão afetados?

    
por disserman 09.08.2010 / 01:31

2 respostas

7

link

    
por 09.08.2010 / 03:05
12

Basicamente, há três tipos de cache ZFS, todos usados para dados e metadados.

  • ARC (Adaptive Replacement Cache) - cache DRAM da memória principal para leituras e gravações.
  • L2ARC (Nível 2 ARC) - cache de leitura segura: sem perda de dados / interrupção de serviço por falha do dispositivo. Geralmente baseado em SSD.
  • ZIL (ZSI Intent Log) - mantém com segurança as gravações em armazenamento permanente que também estão aguardando no ARC para serem descarregadas no disco. Os dados raramente devem ser armazenados nesse cache por mais de 30 segundos e os dados nunca serão lidos, exceto após uma falha para reproduzir gravações de conjuntos não confirmados. Em qualquer versão recente do ZFS recente, a falha do dispositivo Zil não causará perda de dados (todos os dados ainda no ARC), mas a falha do dispositivo + uma falha ou queda de energia pode fazer com que algumas gravações sejam perdidas.

Atualize seu ARC primeiro, compre grande quantidade de memória principal. Nota L2ARC e Zil ambos têm sobrecarga alocada fora do ARC também.

L2Arc é preenchido por blocos de leitura em cache à medida que são despejados do ARC. Por padrão, o ZFS armazena somente IOs aleatórios (leituras pequenas) no L2ARC e não é usado para cargas de trabalho de fluxo ( a menos que seja instruído a ). Você pode basicamente usar qualquer dispositivo para isso (incluindo um HD rápido de 15k), mas funciona melhor com um SSD que lida com muitas IOPS de leitura aleatória com facilidade.

O ZIL acelera as cargas de trabalho que exigem gravações síncronas (os processos aguardam a confirmação de que as gravações foram efetivamente confirmadas no disco antes de continuar a execução). A Zil desempenha um papel semelhante ao cache suportado por bateria em controladores RAID de ponta. Embora escrever latência e streaming write IOPS sejam o que definem um bom Zil SSD, um Zil acima de tudo não deve perder nenhum dado na perda de energia do evento. Muitos dispositivos adequados têm um supercondensador para finalizar quaisquer operações pendentes sem energia do sistema. Os SSDs SLC com alta resistência à gravação (Intel X25-E) costumavam ser recomendados, mas os dispositivos mais novos usam RAM com bateria / supercap para gravar de volta para NAND no caso de uma falha de energia. As ZILs não precisam ser grandes, mas usando apenas uma pequena fração de um dispositivo grande (por exemplo, 8GB de um SSD de 320GB Intel 320MLC), você pode obter uma resistência de gravação muito mais eficaz. Fornecedores de 'Enterprise' sempre recomendam ZILs espelhadas, minhas cargas de trabalho nunca foram tão importantes.

Quanto a produtos específicos, a STEC fez os primeiros SSDs para o projeto Fishworks da Sun (ambos Logzilla & Readzilla) e possui dispositivos atuais para ambos ZIL (ZeusRAM $ 2500 / 8GB) e L2ARC ( Zeus IOPS $ 3k / 400GB) que ambos são altamente recomendados. Os SSDs baseados em PCIe também merecem ser considerados, como a DDRdrive x1 (2k / 4GB) específica da ZIL ou qualquer SSD PCIe grande para L2ARC. Outros dispositivos de menor desempenho (leia-se: mais barato) SSD de 2,5 polegadas também podem oferecer ganhos significativos de desempenho, especialmente quando usados em agregado para L2ARC.

    
por 15.08.2010 / 22:30

Tags