Per L2ARC e ZIL: è meglio avere un SSD di grandi dimensioni per entrambi o due SSD più piccoli?


22

Riferimenti principali

ZFS L2ARC (Brendan Gregg) (22/07/2008) e ZFS e il concetto di stoccaggio ibrido (Anatol Studler's Blog) (2008-11-11) includono il seguente diagramma:

una vista piramidale ZFS di ARC, L2ARC, ZIL e un pool di archiviazione su disco

Domanda

Dovrei interpretare la linea bianca verticale - a livello di SSD - come una preferenza per usare SSD separati -

  • una preferenza per non mescolare L2ARC e ZIL su un singolo disco?

Contesto (risposta ai commenti)

Personalmente, è improbabile che a casa utilizzi L2ARC o ZIL con qualsiasi computer disponibile. (Il mio computer di tutti i giorni è un MacBookPro5,2 con 8 GB di memoria e Seagate ST750LX003-1AC154 ibrido. Non è previsto di sostituire l'unità ottica con un SSD.)

Altrove: al lavoro ci sarà qualche riproposizione del kit, ma non ho una data o tutti i dettagli. (Xserve RAID x2 nel mix ... in questo momento non immagino di darli a ZFS, ma mantengo una mente aperta.)

La mia curiosità sulle migliori pratiche SSD sia per L2ARC che per ZIL è iniziata seguendo discussioni relative alle prestazioni nell'area ZEVO, in particolare l'argomento menzionato di seguito, in cui un utente ha sia L2ARC che ZIL su un singolo disco.

Altri riferimenti e discussioni

L2ARC Screenshots (Brendan Gregg) (2009-01-30)

Schermate SLOG (Brendan Gregg) (26/06/2009)

[zfs-discuss] Backup root di ZFS / Ripristino "di emergenza" e lo spostamento del pool di root (2011-01-10) consiglia una combinazione di tre cose (pool di root, ZIL e L2ARC) su un singolo disco -

... non vale la pena il mal di testa che può verificarsi quando si tenta di gestire tutti e 3 sullo stesso disco. Ad esempio, se si decide di reinstallare e bloccare accidentalmente il contenuto di ZIL per il proprio pool di dati. Non condividere i dischi per i componenti del pool o tra pool per semplificare la gestione e il ripristino. ...

- Sono più interessato a sapere se si consiglia di non mescolare due di queste cose su un singolo disco.

/superuser//a/238744/84988 (28/01/2011) menziona "cache (cache L2ARC) e scrivi registro (ZIL) su SSD" ( singolare ). Tuttavia, per quanto riguarda FUSE e Windows, non considero tale risposta particolarmente rilevante per gli usi più comuni e orientati alle prestazioni di ZFS.

@ChrisS ha menzionato ZIL e L2ARC in The Comms Room il 16-08-2011 .

http://forums.macrumors.com/showpost.php?p=14248388 (2012-01-31) discute su più SSD:

Qualcosa che devi capire su ZFS: ha due diversi tipi di cache, lettura e scrittura (L2ARC e ZIL) che sono generalmente ospitati su SSD. ZIL è la cache di scrittura. È probabilmente da qui che nasce questo malinteso. Lo ZIL viene martellato (assumendo un sistema attivo) ad ogni scrittura che si verifica sullo zpool. Il problema è che l'uso di un SSD basato su mlc come ZIL li fa consumare e fallire abbastanza rapidamente. È necessario un SSD basato su slc (molto più costoso) da utilizzare come unità ZIL.

Avere uno zpool composto interamente da SSD non è solo possibile, ma funziona abbastanza bene. Inoltre, elimina sostanzialmente la necessità di unità separate per ZIL e L2ARC. Sì, non hai il supporto TRIM, ma basato sulla natura copia-scrittura di ZFS, probabilmente è una buona cosa.

Detto questo, ZFS NON gioca bene con zpools quasi pieni (diciamo, 85% o più). Le prestazioni iniziano a ridursi in modo significativo, indipendentemente dal fatto che si utilizzino supporti magnetici rotazionali o allo stato solido. La mancanza del supporto TRIM probabilmente aggraverebbe quel problema, ma è già un problema.

/server//a/397431/91969 (2012-06-11) raccomanda:

  • Tipo SLC SSD (in particolare non MLC) per ZIL
  • Tipo MLC SSD per L2ARC.

/superuser//a/451145/84988 (2012-07-19) menziona un singolare "SSD per ZIL e L2ARC per accelerare ZFS".

zevo.getgreenbytes.com • Visualizza argomento - Problemi di prestazioni con l'ordine di connessione FW800? (2012-09-24) riguarda l'ordine delle cose su un bus FireWire con un singolo SSD per ZIL e L2ARC

  • A parte l'ordine degli autobus, l'argomento ZEVO mi ha fatto riflettere sul fatto che SSD separati fossero preferibili.

Più specificamente: mi chiedevo quali fossero le interpretazioni della linea bianca nel diagramma sopra ...


2
Sembra che potrebbe trattarsi più di una domanda di errore del server. Ma qualcosa da considerare è il carico di lettura e scrittura sul pool di archiviazione. C'è qualche ricerca che mostra come il raid SSD in generale possa avere prestazioni drasticamente inferiori per la scrittura rispetto alla configurazione a unità singola. xbitlabs.com/articles/storage/display/…

2
Quelli che hanno maggiori probabilità di avere una profonda familiarità con ZFS hanno maggiori probabilità di trovarsi in Server Fault che in SuperUser. Votare per muoversi, ma un'ottima domanda.
Afrazier

Vedo chiudere due voti attuali, invece possiamo semplicemente spostare la domanda? Grazie @afrazier
Graham Perrin il

1
Benvenuti in Server Fault. Come indicato nelle FAQ, preferiamo domande pratiche e di risposta basate su problemi specifici che affronti . Detto questo, hai esaminato molte teorie e discussioni qui, ma la cosa che sembra mancare è il problema che stai cercando di risolvere. Aggiungi i dettagli pratici e questo ha gli ingredienti per una grande domanda.
Michael Hampton

1
Solo per notare, i VTC sono un modo per spostare le risposte. Se la maggior parte dei VTC deve spostarsi in un sito, verrà spostato. E sì, dettagli pratici, per favore, sembra davvero ben scritto e dettagliato, ma senza conoscere la situazione in cui ti trovi, è difficile ottenere una risposta specifica. Stai ovviamente costruendo un'improvvisa configurazione ZFS e i dettagli sarebbero utili per elaborare la risposta.
Journeyman Geek,

Risposte:


14

Risposta breve, poiché non vedo quale problema stai cercando di risolvere ...

Se puoi, usa dispositivi separati. Dipende dalle dimensioni del tuo ambiente ... Se si tratta solo di un semplice sistema domestico o di una soluzione ZFS virtualizzata o all-in-one , puoi utilizzare un singolo dispositivo.

Nelle soluzioni ZFS più grandi o ad alte prestazioni, utilizzo dispositivi adatti specificamente per i loro ruoli ZIL o L2ARC ... Ad esempio STEC ZeusRAM o DDRDrive per ZIL e qualsiasi SSD aziendale SLC o MLC SAS per L2ARC.

  • I dispositivi ZIL dovrebbero essere dispositivi a bassa capacità e bassa latenza in grado di IOPS elevati. In genere sono speculari.
  • I dispositivi L2ARC devono essere ad alta capacità (entro limiti ragionevoli: è necessario aggiungere RAM all'aumentare della dimensione L2ARC). Si ridimensionano a strisce.

Cosa stai facendo?


Ho aggiunto alcune informazioni alla domanda. Questa risposta sembra ideale - grazie - lascerò le cose aperte per alcuni giorni prima di accettare.
Graham Perrin,

Ai fini del collegamento: una domanda del 2011 di @ewwhite ZFS: come partizionare SSD per ZIL o L2ARC? e nella risposta accettata , "... I dispositivi ZIL e L2ARC dedicati per pool sono la strada da percorrere".
Graham Perrin,

6

Ci sono alcune idee sbagliate fondamentali fin dall'inizio su ZIL che devono essere corrette prima di continuare.

Capire questo: in circostanze "normali", ZIL / SLOG non viene toccato.

Viene scritto solo quando vengono comandate le scritture sincrone o se sync = è sempre abilitato su un particolare pool / set di dati ("zfs get sync pool / dataset")

ZIL non viene mai letto in circostanze normali. È una funzione di ripristino di emergenza.

IE: ZIL è lì solo per quando si spegne. Viene utilizzato per riprodurre i dati che erano stati ripristinati nel sistema operativo prima che i dati fossero trasferiti nel pool. Tutte le scritture ZFS nel pool (sync o async) provengono da buffer di memoria.

In circostanze normali, una volta che i dati raggiungono il pool, la voce slog può evaporare: è solo un grande buffer di scrittura circolare e non deve essere molto grande (anche 1 GB è eccessivo nella maggior parte dei casi)

Le scritture non sincrone vengono bufferizzate in RAM, raccolte e scritte su disco in un momento opportuno. se l'alimentazione si interrompe, quei dati vengono persi ma viene mantenuta l'integrità di FS (ecco perché potresti voler impostare sync = always)

D'altra parte, L2ARC è pesantemente martellato sia a livello di lettura che di scrittura.

Esiste una cosa come "troppo l2arc", perché i metadati di ciò che è in l2arc escono dal tuo ram ARC (cioè, se aumenti le dimensioni di l2arc, devi potenziare il ram per adattarlo. In caso contrario, si può verificare un grave peggioramento delle prestazioni e alla fine l'utilizzo di l2arc si stabilizzerà a un livello ben al di sotto di "tutto lo spazio disponibile")

Nonostante le proteste di alcuni produttori, non è possibile compensare un deficit di memoria aumentando le dimensioni di l2arc (diversi produttori di array di raid hardware che si sono ramificati in dispositivi ZFS hanno fatto questo assunto)

tl; dr: se il tuo carico IO è un'attività di database, è probabile che ZIL venga sbattuto con forza. Se è qualcos'altro, è probabile che venga toccato solo leggermente. È molto probabile che nel 99,9% delle attività le funzioni ZIL non vengano mai attivate.

Sapendo che questo ti permetterà di decidere se hai bisogno di una partizione SLOG per ZIL, se può convivere con la partizione l2arc o se ha bisogno di un'unità autonoma (e quale livello di prestazioni dovrebbe essere quell'unità autonoma).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.