Para L2ARC e ZIL: é melhor ter um SSD grande para ambos ou dois SSDs menores?

19

Principais referências

ZFS L2ARC (Brendan Gregg) (2008-07-22) e O ZFS e o conceito de armazenamento híbrido (Blog de Anatol Studler) (2008-11-11) incluem o seguinte diagrama:

Pergunta

Devointerpretaralinhabrancavertical-nacamadaSSDs-comoumapreferênciaparausarSSDsseparados-

  • umapreferênciaparanãomisturarL2ARCeZILemumúnicodisco?

Antecedentes(respostaaoscomentários)

Pessoalmente,emcasa,éimprovávelqueeuuseL2ARCouZILcomqualquercomputadorqueestejadisponívelparamim.(MeucomputadorcomuméumMacBookPro5,2com8GBdememóriaeumSeagateST750LX003-1AC154híbrido.NãoháplanosparasubstituiraunidadeópticaporumSSD.)

Emoutrolugar:notrabalho,haveráalgumredirecionamentodokit,maseunãotenhoumadataoudetalhescompletos.(XserveRAIDx2nomix…nestemomentonãoimaginodarissoaoZFS,masmantenhoamenteaberta.)

MinhacuriosidadesobreasmelhorespráticasdeSSDparaL2ARCeZILcomeçouseguindoasdiscussõesrelacionadasaodesempenhonaáreaZEVO-emparticular,otópicomencionadoabaixo,ondeumusuáriotemL2ARCeZILemumdiscoúnico.

Outrasreferênciasediscussões

Imagens do L2ARC (Brendan Gregg) (2009-01-30)

Imagens do SLOG (Brendan Gregg) (2009-06-26)

[zfs-discuss] Backup de raiz ZFS / recuperação de "desastre" e raiz em movimento pool (2011-01-10) recomenda contra uma mistura de três coisas (pool de raiz, ZIL e L2ARC) em um único disco -

… not worth the headaches that can occur when trying to manage all 3 on the same disk. For example, if you decide to reinstall and accidentally clobber the contents of the ZIL for your data pool. Don't share disks for pool components or across pools to keep management and recovery simple. …

- Estou mais interessado em saber se é recomendado não misturar duas dessas coisas em um único disco.

link (2011-01-28) menciona "cache (cache L2ARC) e gravação de log (ZIL) no SSD "( singular ). No entanto, no que se refere ao FUSE e ao Windows, não considero essa resposta particularmente relevante para os usos mais comuns e voltados para o desempenho do ZFS.

@ChrisS mencionou ZIL e L2ARC em The Comms Room em 2011-08-16.

link (2012-01-31) discute vários SSDs:

Something you need to understand about ZFS: It has two different kinds of cacheing, read and write (L2ARC and ZIL) that are typically housed on SSD's. The ZIL is the write cache. That's probably where this misconception comes from. The ZIL is getting hammered (assuming an active system) with every write that occurs to the zpool. The problem is that using an mlc-based SSD as a ZIL causes them to wear out and fail quite quickly. You need a (much more expensive) slc-based SSD to be used as a ZIL drive.

Having a zpool made up entirely of SSD's is not only possible, but it works quite well. It also basically eliminates the need for separate drives for the ZIL and L2ARC. Yes, you don't have TRIM support, but based on the copy-on-write nature of ZFS, that's probably a good thing.

With that said, ZFS does NOT play well with nearly full (say, 85% or higher) zpools. Performance begins to drop off significantly - regardless of whether you're using rotational magnetic media or solid-state. Lack of TRIM support would probably exacerbate that problem, but it's already a problem.

link (2012-06-11) recomenda:

  • SSD do tipo SLC (especificamente não MLC) para ZIL
  • MLC tipo SSD para L2ARC.

link (2012-07-19) menciona um SSD para o ZIL e o singular L2ARC para acelerar o ZFS ".

zevo.getgreenbytes.com • View topic - Problema de desempenho com a ordem de conexão do FW800? ( 2012-09-24) está preocupado com a ordem das coisas em um barramento FireWire com um SSD simples para ZIL e L2ARC

  • Ordem de ônibus de lado, esse tópico da ZEVO me fez pensar se os SSDs separados poderiam ser preferíveis.

Mais especificamente: imaginei as interpretações da linha branca no diagrama acima…

    
por Graham Perrin 24.09.2012 / 20:22

2 respostas

13

Resposta curta, pois não vejo qual problema você está tentando resolver ...

Se você puder, use dispositivos separados. Isso depende da escala do seu ambiente ... Se for apenas um sistema simples ou virtualizado ou uma solução ZFS all-in-one , você pode usar um único dispositivo.

Em soluções ZFS maiores ou de alto desempenho, eu uso dispositivos adequados especificamente para suas funções ZIL ou L2ARC ... Por exemplo: ZeusRAM STEC ou DDRDrive para ZIL e qualquer empresa SLC ou MLC SAS SSD para L2ARC.

    Os dispositivos
  • ZIL devem ser dispositivos de baixa capacidade e baixa latência, capazes de alta IOPS. Eles são tipicamente espelhados.
  • Os dispositivos L2ARC devem ter alta capacidade (dentro do razoável: você precisa adicionar memória RAM à medida que o tamanho do L2ARC aumenta). Eles escalam por striping.

O que você está fazendo?

    
por 08.10.2012 / 02:05
3

Existem alguns equívocos fundamentais desde o início sobre o ZIL que precisam ser corrigidos antes de continuar.

Entenda isto: Em circunstâncias "normais", o ZIL / SLOG não é tocado.

É somente escrito quando as gravações síncronas são comandadas ou se sync = sempre está habilitado em um pool / dataset específico ("zfs get sync pool / dataset")

O ZIL nunca é lido em circunstâncias normais. É um recurso de recuperação de desastres.

IE: O ZIL só existe quando a energia é desligada. Ele é usado para reproduzir dados que foram recuperados no sistema operacional antes de os dados serem confirmados no pool. Todas as gravações do ZFS no pool (sync ou async) são de buffers de memória.

Em circunstâncias normais, assim que os dados atingem o pool, a entrada do slog pode evaporar - é apenas um grande buffer de escrita circular e não precisa ser muito grande (até 1GB é um exagero na maioria das circunstâncias)

Gravações não síncronas são armazenadas em buffer no RAM, agrupadas e gravadas no disco em um momento oportuno. se a energia for desligada, esses dados serão perdidos, mas a integridade do FS será mantida (é por isso que você pode querer definir sync = always)

Por outro lado, o L2ARC é muito usado tanto no nível de leitura quanto de gravação.

Existe uma coisa como "muito l2arc", porque os metadados do l2arc saem do seu ARC ram (ou seja, se você aumentar o tamanho do l2arc, você deve aumentar o valor do ram para se adequar. Isso pode resultar em graves a degradação do desempenho e, eventualmente, o uso do l2arc se estabilizará em algum nível bem abaixo de "todo o espaço disponível")

Apesar dos protestos de alguns fabricantes, você não pode compensar o déficit de memória aumentando os tamanhos do l2arc (vários criadores de arrays de raids de hardware que ramificaram em dispositivos ZFS fizeram essa suposição)

tl; dr: Se sua carga de IO for uma atividade de banco de dados, é provável que o ZIL seja atingido com muita força. Se for qualquer outra coisa, é provável que seja apenas tocada com leveza. É altamente provável que em 99,9% da atividade as funções do ZIL nunca entram em ação.

Saber que lhe permitirá decidir se precisa de uma partição SLOG para o ZIL, se pode coabitar com a partição l2arc ou se precisa de uma unidade independente (e qual o nível de desempenho que a unidade independente deve ter).

    
por 26.11.2015 / 22:30

Tags