web-dev-qa-db-fra.com

Est-ce que j'ai vraiment besoin d'un slog zil?

Je construis un fichier NAS pour une utilisation domestique/personnelle qui utilisera des ZFS (exécutant probablement des freenas) sur un tableau SATA SSD. En termes d'utilisation, je m'attends à ce que le système soit "inactif" ( Ne comptez pas les éléments de fond de ZFS, par exemple des gommages) plus souvent que non, et je m'attends à ce que le goulot d'étranglement principal de la performance soit l'Ethernet 1 Go.

Je suis vaguement familière avec le zil, mais je suis confondu sur l'utilisation d'un périphérique de stockage zil slog/secondaire.

Le système va être sur une hausse, il est donc probablement plus susceptible de ressentir quelque chose comme une panique de noyau qu'une perte soudaine de puissance du système. Quoi qu'il en soit, tant que cela ne mange pas ma piscine, je ne me suis pas particulièrement dérangé qu'un événement catastrophique pourrait entraîner la perte des données des dernières mineures. (N'oubliez pas que c'est un système à domicile, pas quelque chose de mission critique.)

Est-il possible d'avoir uniquement le zil principal en RAM (et quel serait l'impact "de la sécurité" de cela)? Si je n'ai pas de dispositif de slog dédié, cela signifie que je suis obligé d'utiliser le pool de stockage pour le slog et quel est l'impact réel (performance et usure) de cela? Si i -DO Besoin d'un périphérique dédié, c'est un SSD NVME haute performance (par exemple une SN750 WD de la taille d'eau modeste) suffisant ou est-ce que j'ai vraiment besoin de dépenser 250 $ sur un Intel 900p? (Voir la mise à jour)

La plupart de ce que j'ai été capable de trouver dit "Oui, que 250 900p sont absolument vital", mais n'expliquez pas vraiment quelle situation je serais dans si je l'omettais.

Mettre à jour:

Donc, la plupart de ce que j'ai lu, c'est que A) avoir le zil être sur la piscine primaire est horrible (la performance des moitiés et, encore pire pour les écrivains de SSD, les doubles, et b) la raison principale d'un zil est "nécessaire" est "nécessaire" réduire la latence des écritures de synchronisation. Étant donné que ma piscine est All-SSD (bien que SATA, mais OTOH mes utilisateurs sont tous autant de bouteilles de 1 Go LAN), il semble que j'ai trois options:

  • Ajouter un slog. Je crois comprendre que tout appareil non PLP est pire que inutile (au moins, pire que les deux autres options à suivre), mais en théorie, je vais bien avec un Intel 900p, ce qui semble être l'option la moins chère.
  • Utilisez le zil seulement de RAM. (Fondamentalement, mentirez-vous sur la synchronisation.) Bien que cela "sonne" mal, Afaiu cela n'affectera pas le intégrité de ma piscine et pour mon utilisation, je ne suis pas sûr que cela vaut le coût supplémentaire. Tout type d'échec va risquer de perdre des données, juste parce que le NAS est hors ligne. Très probablement, je saurai tout de suite que quelque chose s'est mal passé et sera en mesure de prendre des mesures correctives de une sorte (par exemple, économiser sur un autre endroit temporairement jusqu'à ce que je puisse obtenir le NAS sauvegarder).
  • N'utilisez pas de zil; Forcer tout écrit pour aller directement sur le disque. Bien que ce soit un tueur de performance sur la rouille en filature, il n'est pas clair que le zil est même utile sur un système All-SSD, car les principales préoccupations qui le rendent utile avec la filature Rust (rouillées , rechercher la latence) ne s'applique pas.

En ce qui concerne l'option n ° 2, j'ai vu des threads dans lesquels les gens notent que "l'intégrité des données est une intégrité des données" ... Sauf vraiment, c'est N'est-ce pas. Il y a une différence significative entre perdre le fichier que je viens d'essayer d'écrire (et de connaître probablement que quelque chose a mal tourné), lorsque je tiens une excellente chance de pouvoir récupérer manuellement et de perdre des fichiers créés il y a des mois ou des années. Je peux voir comment, en général, cela pourrait aller de toute façon, mais dans mon cas, je suis plus préoccupé par l'intégrité des archives.

3
Matthew

Premières choses d'abord: superbe post, bien écrit et bien étudié! Vous avez déjà découvert de nombreuses réponses vous-même, alors j'ajouterai simplement des pensées.


Ma suggestion: essayez simplement de l'essayer. Achetez la configuration viable minimale (juste vos disques de piscine) et activez-la, puis utilisez-la et vérifiez si elle est assez rapide (je suppose que si vous ne servez pas de VMS directement hors de ce serait "Oui").

Sinon, ajoutez un périphérique séparé. Vous pouvez ajouter et supprimer autant que vous le souhaitez (en miroir) sans détruire la piscine.

Vous devez également évaluer pourquoi vous souhaitez que votre conception SSD spécifique. Cela vous coûtera plus par Go et très probablement gaspillé pour vos besoins (pour plus de détails, voir le dernier paragraphe de cette réponse). D'autre part, si votre objectif est un silence et une simplicité dans un petit facteur de forme, ce serait une alternative viable, auquel cas je n'investirais personnellement pas dans un périphérique de journal distinct en raison du coût (la performance serait bien de toute façon).


Ajouter un slog. Je crois comprendre que tout appareil non PLP est pire que inutile (au moins, pire que les deux autres options à suivre), mais en théorie, je vais bien avec un Intel 900p, ce qui semble être l'option la moins chère.

Cela dépend de l'appareil et du cas spécifique ... En général PLP est recommandé car sur une matrice de stockage de 5 000 $, elle ne paie pas pour économiser 50 $ lors du choix des SSD inférieurs, car il ne vaut tout simplement pas la telle probabilité que quelque chose ira tort. Surtout que vous n'avez pas besoin de gros SSD, quelques gb sont nombreux. Mais si un disque échoue et l'autre ne le fait pas, ou n'échoue pas les mêmes secteurs (dépend du contrôleur de disque/périphérique), tout irait bien. Ce n'est que personne ne peut le garantir, alors vous essayez d'ajouter des mesures de sécurité et de réduire vos risques.

Vous pouvez le comparer avec la conception de la piscine. Un seul disque est bon marché, mais si quelque chose ne va pas, vous êtes vissé. Maintenant, vous pouvez également acheter un meilleur disque, soit deux bon marché, soit deux meilleurs, ou trois meilleurs pas chers, et ainsi de suite ... À la fin, vous devez calculer vos risques et équilibrez-le avec votre budget. Extrêmes sont mauvais dans la plupart des cas (un seul disque bon marché vs. 32-Way-Miroir des meilleurs disques disponibles), un sol moyen sain est souvent conseillé (ce qui serait un miroir à deux voies pour les petits et les trois voies de guidon pour grand déploiements).

Votre appareil Slog a juste besoin de trois choses:

  1. Meilleurs iops soutenus que votre disque de piscine le plus faible. Si le périphérique slog est plus lent, vous feriez mieux d'utiliser la piscine sans un, ni même de l'ajouter à la piscine comme un autre miroir (plus lent, mais plus sûr).

  2. Haute endurance écriture. S'il est faible, vous devez le remplacer plus tôt. Dans votre cas, cela ne devrait pas avoir beaucoup d'importance, car le volume d'écriture serait très bas de toute façon et que le remplacement peut être échelonné en ajoutant le deuxième disque quelques jours plus tard.

  3. Fiabilité, qui détermine la probabilité de défauts critiques. Peut être amélioré en utilisant plusieurs disques (miroirs), en utilisant PLP, en utilisant des disques de qualité (ou les trois en même temps, voir ci-dessus). Encore une fois, cela dépend de la vitesse (IOPS aléatoires) de vos disques de piscine.

Utilisez le zil seulement de RAM. (Fondamentalement, mentez-vous sur la synchronisation.) Bien que cela "sonne" mal, Afaiu Cela n'affectera pas l'intégrité de ma piscine et pour mon utilisation, je ne suis pas sûr que cela vaut le coût supplémentaire. Tout type d'échec va risquer de perdre des données, juste parce que le NAS est hors ligne. Très probablement, je saurai tout de suite que quelque chose s'est mal passé et sera en mesure de prendre des mesures correctives de une sorte (par exemple, économiser sur un autre endroit temporairement jusqu'à ce que je puisse obtenir le NAS sauvegarder).

Je ne ferais que cela si vous avez une application spécialisée en cours d'exécution qui sait que cela ne peut pas faire confiance au stockage complètement - par exemple dans un configuration multi-miroir (autres nœuds de stockage) où la synchronisation périodique détecte les erreurs des nœuds qui étaient en panne temporairement.

Si vous avez simplement une seule machine, vous obtiendrez des performances bon marché avec un risque grandement ajouté. Un seul arrêt accidentel impuré (bouton enfoncé ou câble sur UPS tiré par enfant, etc.) pourrait poser des risques et prend certainement un péage sur votre tranquillité d'esprit.

N'utilisez pas de zil; Forcer tout écrit pour aller directement sur le disque. Bien que ce soit un tueur de performance sur la rouille en filature, il n'est pas clair que le zil est même utile sur un système All-SSD, car les principales préoccupations qui le rendent utile avec la filature Rust (rouillées , rechercher la latence) ne s'applique pas.

Cela n'affecte que les performances des écritures aléatoires de synchronisation spéciale ... Vous n'avez pas indiqué à quoi la machine serait utilisée, mais si j'imagine que j'imagine une utilisation typique de la maison, ce serait:

  • Sauvegardes de client régulières (supposant Windows/SMB/CIFS): non affectée car les écritures séquentielles sur les données de données ASYNC
  • Archivage de longue date des données familiales: non affectée car principalement des données au repos et seront copiées de la même manière que les sauvegardes
  • Servir des bibliothèques multimédia aux clients, à l'enclos de codage: non affectée car la lecture seule et le codage transitoire ne revient pas au stockage
  • Courir quelques machines virtuelles pour des services tels que le courrier, l'accès en nuage, etc.: serait théoriquement affecté, mais vous ne remarqueriez pas la performance si quelques clients y accédent (et non, dites, mille ou plus par seconde)

Même les disques normaux satisferaient facilement ces contraintes (en tant que miroirs), les SSD les inciteraient tout simplement. Votre machine sera inactive la plupart du temps et votre argent serait mieux investi dans plus de stockage ou un meilleur système de sauvegarde hors site.

1
user121391