Références principales
ZFS L2ARC (Brendan Gregg) (2008-07-22) et ZFS et le concept de stockage hybride (Anatol Studler's Blog) (2008-11-11) incluent le diagramme suivant:
Question
Dois-je interpréter la ligne blanche verticale - au niveau de la couche SSD - comme une préférence pour utiliser des SSD séparés -
- une préférence pour ne pas mélanger L2ARC et ZIL sur un seul disque?
Contexte (réponse aux commentaires)
Personnellement, à la maison, il est peu probable que j'utilise L2ARC ou ZIL avec un ordinateur à ma disposition. (Mon ordinateur de tous les jours est un MacBookPro5,2 avec 8 Go de mémoire et un Seagate ST750LX003-1AC154 hybride. Il n'est pas prévu de remplacer le lecteur optique par un SSD.)
Ailleurs: au travail, il y aura une certaine réaffectation du kit, mais je n'ai pas de date ni de détails complets. (Xserve RAID x2 dans le mix… pour le moment, je n'imagine pas les donner à ZFS, mais je garde l'esprit ouvert.)
Ma curiosité à propos des meilleures pratiques SSD pour L2ARC et ZIL a commencé tout en suivant les discussions liées aux performances dans la zone ZEVO - en particulier le sujet mentionné ci-dessous, où un utilisateur a à la fois L2ARC et ZIL sur un seul disque.
Autres références et discussions
Captures d'écran de L2ARC (Brendan Gregg) (2009-01-30)
Captures d'écran du SLOG (Brendan Gregg) (2009-06-26)
[zfs-discuter] Sauvegarde racine ZFS / récupération "après sinistre" et déplacement du pool racine (2011-01-10) déconseille un mélange de trois choses (pool racine, ZIL et L2ARC) sur un seul disque -
… Ne vaut pas les maux de tête qui peuvent survenir en essayant de gérer les 3 sur le même disque. Par exemple, si vous décidez de réinstaller et d'altérer accidentellement le contenu du ZIL pour votre pool de données. Ne partagez pas les disques pour les composants du pool ou entre les pools pour simplifier la gestion et la récupération. …
- Je suis plus intéressé à savoir s'il est recommandé de ne pas mélanger deux de ces choses sur un seul disque.
/superuser//a/238744/84988 (2011-01-28) mentionne "cache (cache L2ARC) et journal d'écriture (ZIL) sur SSD" ( singulier ). Cependant, en ce qui concerne FUSE et Windows, je ne considère pas cette réponse comme particulièrement pertinente pour les utilisations plus courantes et axées sur les performances de ZFS.
@ChrisS a mentionné ZIL et L2ARC dans The Comms Room le 2011-08-16.
http://forums.macrumors.com/showpost.php?p=14248388 (2012-01-31) traite de plusieurs SSD:
Quelque chose que vous devez comprendre à propos de ZFS: il a deux types différents de cache, en lecture et en écriture (L2ARC et ZIL) qui sont généralement hébergés sur des SSD. Le ZIL est le cache d'écriture. C'est probablement de là que vient cette idée fausse. Le ZIL est martelé (en supposant un système actif) à chaque écriture qui se produit dans le zpool. Le problème est que l'utilisation d'un SSD basé sur mlc en tant que ZIL les fait s'user et échouer assez rapidement. Vous avez besoin d'un SSD basé sur slc (beaucoup plus cher) pour être utilisé comme un lecteur ZIL.
Avoir un zpool entièrement composé de SSD n'est pas seulement possible, mais cela fonctionne très bien. Il élimine également la nécessité de disques séparés pour le ZIL et le L2ARC. Oui, vous ne disposez pas du support TRIM, mais basé sur la nature de copie sur écriture de ZFS, c'est probablement une bonne chose.
Cela dit, ZFS ne fonctionne PAS bien avec des zpools presque complets (disons, 85% ou plus). Les performances commencent à chuter de manière significative, que vous utilisiez des supports magnétiques rotatifs ou à semi-conducteurs. Le manque de support TRIM aggraverait probablement ce problème, mais c'est déjà un problème.
/server//a/397431/91969 (2012-06-11) recommande:
- SSD de type SLC (spécifiquement pas MLC) pour ZIL
- SSD de type MLC pour L2ARC.
/superuser//a/451145/84988 (2012-07-19) mentionne un singulier "SSD pour ZIL et L2ARC pour accélérer ZFS".
zevo.getgreenbytes.com • Afficher le sujet - Problème de performances avec l'ordre de connexion du FW800? (2012-09-24) s'intéresse à l'ordre des choses sur un bus FireWire avec un seul SSD pour ZIL et L2ARC
- mise à part la commande de bus, ce sujet ZEVO m'a amené à me demander si des SSD séparés pourraient être préférables.
Plus précisément: je me suis interrogé sur les interprétations de la ligne blanche dans le schéma ci-dessus…
Réponses:
Réponse courte, car je ne vois pas quel problème vous cherchez à résoudre ...
Si vous le pouvez, utilisez des appareils distincts. Cela dépend de l'échelle de votre environnement ... S'il s'agit d'un simple système domestique ou d'une solution ZFS virtualisée ou tout-en-un , vous pouvez utiliser un seul appareil.
Dans les solutions ZFS plus grandes ou hautes performances, j'utilise des appareils adaptés spécifiquement à leurs rôles ZIL ou L2ARC ... Par exemple STEC ZeusRAM ou DDRDrive pour ZIL et tout SSD d'entreprise SLC ou MLC SAS pour L2ARC.
Que faites-vous?
la source
Il y a quelques idées fausses fondamentales sur le ZIL qui doivent être corrigées avant de continuer.
Comprenez ceci: dans des circonstances "normales", ZIL / SLOG n'est pas touché.
Il n'est écrit que lorsque des écritures synchrones sont commandées ou si sync = toujours est activé sur un pool / ensemble de données particulier ("zfs get sync pool / dataset")
ZIL n'est jamais lu dans des circonstances normales. C'est une fonction de reprise après sinistre.
IE: Le ZIL n'est là que lorsque l'alimentation est coupée. Il est utilisé pour rejouer les données qui avaient été acquittées sur le système d'exploitation avant que ces données ne soient validées dans le pool. Toutes les écritures ZFS dans le pool (synchronisation ou async) proviennent de tampons de mémoire.
Dans des circonstances normales, une fois que les données atteignent le pool, l'entrée de slog peut s'évaporer - c'est juste un gros tampon d'écriture circulaire et il n'a pas besoin d'être très grand (même 1 Go est excessif dans la plupart des circonstances)
Les écritures non synchrones sont mises en mémoire tampon dans la mémoire RAM, rassemblées et écrites sur le disque à un moment opportun. si l'alimentation est coupée, ces données sont perdues mais l'intégrité FS est maintenue (c'est pourquoi vous voudrez peut-être définir sync = toujours)
D'un autre côté, L2ARC est fortement martelé au niveau de la lecture et de l'écriture.
Il y a une telle chose comme «trop de l2arc», car les métadonnées de ce qui est dans l2arc sort de votre RAM ARC (c.-à-d., Si vous augmentez la taille de l2arc, vous devez augmenter la RAM en fonction. Si vous ne le faites pas, cela peut entraîner une grave dégradation des performances et finalement l'utilisation de l2arc se stabilisera à un certain niveau bien en dessous de "tout l'espace disponible")
Malgré les protestations de certains fabricants, vous ne pouvez pas combler un manque de mémoire en augmentant les tailles de l2arc (plusieurs fabricants de matrices de raid matériel qui se sont branchés sur des appliances ZFS ont fait cette hypothèse)
tl; dr: Si votre charge d'E / S est une activité de base de données, alors ZIL est susceptible d'être critiqué violemment. Si c'est autre chose, il est probable qu'il ne sera que légèrement touché. Il est très probable que dans 99,9% de l'activité, les fonctions ZIL ne se déclenchent jamais.
Sachant cela, vous pourrez décider si vous avez besoin d'une partition SLOG pour ZIL, si elle peut cohabiter avec la partition l2arc ou si elle a besoin d'un lecteur autonome (et quel niveau de performances ce lecteur autonome devrait être).
la source