ZFS et périphériques de cache

9

Je vais ajouter un lecteur SSD à mes stockages ZFS en tant que cache. Quelqu'un a-t-il une expérience avec cela? Que se passe-t-il si le périphérique de cache meurt, les données seront-elles affectées?

disserman
la source

Réponses:

13

Fondamentalement, il existe trois types de cache ZFS, tous utilisés à la fois pour les données et les métadonnées.

  • ARC (Adaptive Replacement Cache) - Cache DRAM de la mémoire principale pour les lectures et les écritures.
  • L2ARC (ARC de niveau 2) - cache de lecture sécurisé: pas de perte de données / interruption de service suite à une défaillance de l'appareil. Généralement basé sur SSD.
  • ZIL (ZFS Intent Log) - conserve en toute sécurité les écritures sur le stockage permanent qui attendent également dans ARC d'être vidées sur le disque. Les données doivent rarement vivre dans ce cache pendant plus de 30 secondes et les données ne sont jamais lues, sauf après un crash pour relire les écritures de pool non validées. Sur les versions récentes de ZFS, les pannes de périphériques Zil n'entraîneront pas de perte de données (toutes les données sont toujours dans ARC), mais une panne de périphérique + un crash ou une panne de courant peut entraîner la perte de certaines écritures.

Mettez à niveau votre ARC en premier, achetez des tas de mémoire principale. Remarque L2ARC et Zil ont également des frais généraux alloués hors de l'ARC.

L2Arc est rempli de blocs mis en cache en lecture lorsqu'ils sont supprimés d'ARC. Par défaut, ZFS ne met en cache que des entrées-sorties aléatoires (petites lectures) dans L2ARC et n'est pas utilisé pour la diffusion de charges de travail ( sauf indication contraire ). Vous pouvez essentiellement utiliser n'importe quel appareil pour cela (y compris un HD 15k rapide) mais cela fonctionne mieux avec un SSD qui gère facilement de nombreux IOPS à lecture aléatoire.

ZIL accélère les charges de travail qui nécessitent des écritures synchrones (les processus attendent la confirmation que les écritures ont bien été validées sur le disque avant de poursuivre l'exécution). Zil joue un rôle similaire au cache sauvegardé par batterie sur les contrôleurs RAID haut de gamme. Bien que la latence d'écriture et les IOPS d'écriture en streaming définissent un bon SSD Zil, un Zil ne doit surtout pas perdre de données en cas de perte de puissance de l'événement. De nombreux appareils appropriés ont un super-condensateur pour finaliser toutes les opérations en attente sans alimentation du système. Les SSD SLC à haute endurance en écriture (Intel X25-E) étaient recommandés, mais les appareils plus récents utilisent de la RAM avec batterie / supercap pour réécrire dans la NAND en cas de panne de courant. Les ZIL n'ont pas besoin d'être grands, mais en utilisant seulement une petite fraction d'un grand appareil (par exemple 8 Go sur un SSD Intel 320 MLC de 300 Go), vous pouvez obtenir une endurance efficace en écriture beaucoup plus élevée. Les fournisseurs «d'entreprise» recommandent toujours les ZIL en miroir, mes charges de travail n'ont jamais été aussi importantes.

En ce qui concerne des produits spécifiques, STEC a fabriqué les premiers SSD pour le projet Sunworks Fishworks (Logzilla et Readzilla) et dispose de dispositifs actuels pour ZIL ( ZeusRAM 2500 $ / 8 Go) et L2ARC ( Zeus IOPS 3 000 $ / 400 Go), tous deux fortement recommandés. Les SSD basés sur PCIe méritent également d'être pris en compte, comme le DDRdrive x1 spécifique à ZIL (2 000 $ / 4 Go) ou tout autre SSD PCIe pour L2ARC. D'autres périphériques SSD 2,5 pouces moins performants (lire: moins chers) peuvent également offrir des gains de performances significatifs, en particulier lorsqu'ils sont utilisés globalement pour L2ARC.

notpeter
la source
u sûr OCZ Vertex2 est basé sur ddr? Je vois que c'est basé sur nand-mlc
disserman
3
OCZ Vertex2Pro est MLC NAND, mais contrairement à presque tous les autres SSD, il dispose d'un supercap permettant aux écritures en cours de se terminer lorsque l'alimentation est coupée. DDRdrive X1 est 4 Go de DDR2, 4 Go de SLC et un supercap qui copie la RAM vers la NAND en 60 secondes en cas de coupure de courant. Logzilla est SAND NAND optimisé en écriture avec un supercap (pas de DDR non plus)
notpeter
merci, j'ai 2 ssds kingston (basés sur Intel) que je vais utiliser comme périphériques de cache jusqu'à ce qu'ils meurent ou que la garantie soit terminée. puis regardez vos suggestions.
disserman