Quelles sont les différences entre la journalisation HFS + et la non-journalisation HFS?

41

Je suis sur le point de formater un disque dur externe (HDD).

Quelles sont les principales différences entre la journalisation HFS + et la non-journalisation HFS? Mis à part le fait que l'un possède une journalisation et l'autre pas, comment cela affecte-t-il les performances du disque (avec des chiffres)?

Mon intuition est que dans une utilisation "normale", la journalisation serait la solution, mais existe-t-il des situations dans lesquelles HFS + sans journalisation devrait être envisagé? La compatibilité Linux en est une, car il semble que le module hfsplus du noyau prenne en charge la lecture et l'écriture sur HFS + non journalisé, mais uniquement la lecture sur HFS + journalisé.

Quelque chose d'autre mérite d'être mentionné?

Jari Keinänen
la source

Réponses:

35

Je n'ai pas de chiffres pour sauvegarder la déclaration, mais utiliser HFS + non journalisé est une bonne idée dans certains volumes qui requièrent une vitesse absolue, sans vous soucier (trop) d'une éventuelle "perte de données" ou d'une "corruption de données" au cas où de panne de courant ou similaire.

Quand utiliser HFS + Non-journé est-il une mauvaise idée ?

  • Disques externes (USB, FW, ESata) souvent connectés et reconnectés: il s’agit généralement d’une mauvaise idée, car ces disques ont tendance à être déconnectés très souvent par inadvertance et / ou leurs sources d’alimentation sont débranchées.

  • Partitions où l'intégrité des données est importante et la protection contre une panne de courant imprévue, un impératif. (Documents, musique, vidéos, sauvegardes, etc.).

Quand utiliser HFS + Non-journé est-il une bonne idée ?

  • Scratch, Temp, stockage trivial et lecteurs et partitions similaires, où la vitesse est> intégrité des données en cas de panne de courant. Vous souhaitez que votre volume de travail Final Cut ne soit pas journalisé (vous avez quand même un UPS, n'est-ce pas?). Vous voulez que votre temp Photoshop ne soit pas journalisé. Les lecteurs peuvent copier des éléments (un lecteur de stylo, par exemple, si vous vous éjectez correctement).

  • Tout autre lecteur nécessitant la portabilité et la compatibilité, comme vous l'avez indiqué correctement.

N'oubliez pas que la maintenance du journal ajoute une légère charge supplémentaire, mais que l'avantage en cas de démontage de volume inapproprié est important, non seulement pour éviter une "analyse" de disque complet au démarrage ou lors du remontage, mais également pour s'assurer que les données ne sont pas sauvegardées. corrompu en premier lieu.

Le montage d'un lecteur non journalisé incorrectement démonté entraîne une analyse fsck , tandis que le lecteur journalisé pourra être opérationnel plus rapidement (analyse du journal et application de transactions non approuvées).

En ce qui concerne la vitesse et les tests, je n'ai pas beaucoup d'informations pour sauvegarder la revendication ci-dessus, cependant, pour autant que je sache, la différence de vitesse est non seulement très petite et même difficile à remarquer, mais dans certains cas, le système de fichiers journalisé est plus rapide que non. -journaled.

Il s'avère que malgré la surcharge du journal, certaines opérations peuvent être effectuées de manière asynchrone dans le lecteur journalisé, alors que la version non journalisée doit exécuter les tâches de manière synchrone.

Pour référence, j'ai un peu cherché sur Google une vieille comparaison (les chiffres sont probablement valables, car HFS + n'a pas beaucoup changé depuis leurs premières itérations dans OSX, mis à part l'ajout d'enregistrements Inline Attribute Data, la sécurité des fichiers de la liste de contrôle d'accès et peut-être autre chose.

Voici le site avec les graphiques:

Comparaison entre HFS + journalisé et HFS + non journalisé

TL; DR:

La séquence de copie / duplication / copie de fichier était à peu près aussi rapide pour HFS avec ou sans journal. La même séquence avec le dossier était encore un peu plus rapide avec le journal HFS

(c'est moi qui souligne)

Conclusion

Je suis un peu surpris de voir les résultats ci-dessus, car j'étais un peu convaincu que l'utilisation de Non-Journaled était vraiment plus rapide pour certaines opérations, mais apparemment, les petits cas où cela peut faire une différence sont surestimés par la "sécurité" de la journalisation.

Martin Marconcini
la source
@Griffo, en fait, c'est +1 sur la question pour m'avoir fait rechercher et atteindre la conclusion ci-dessus ;-) Merci.
Martin Marconcini
@ MartínMarconcini, la section de réponse "petite surcharge" manque de surcharge en termes de consommation d'espace disque. Par exemple, combien d’espace disque supplémentaire sera disponible pour stocker les fichiers lorsque la journalisation n’est pas activée?
Pro Backup
@ProBackup Bien que je n'ai pas de "chiffres", je crois sincèrement que la taille du journal sera négligeable dans les lecteurs actuels.
Martin Marconcini
@ MartínMarconcini Je me demande quelle est la surcharge en termes d'espace disque utilisé, car: (1) La plupart de ces bonus sont ajoutés proportionnellement. (2) Tous ces éléments supplémentaires s’additionnent: 209,7 Mo pour une partition EFI, 1,4 Mo supplémentaire pour la possibilité de créer 128 partitions pour lesquelles une seule est nécessaire. (3) Le fait diskutil moveJournal externalva créer une partition Apple_Journal de 512 Mo. (4) Sur un disque dur de 2,7 To (style ancien de 3 To), 736 Mo sont utilisés ( df -h) lorsqu’on ne stocke qu’un seul fichier (selon sudo du /Volumes/Name).
Pro Backup
4

La journalisation ajoute du temps et de la complexité à chaque opération qui sera journalisée. Journal écrit en écriture forcée les données sur le lecteur, ce qui peut ralentir les autres transactions de lecteur en attente.

Un bon traitement de la journalisation est présenté dans la note technique TN1150 à la retraite, Format de volume HFS Plus .

La zone de journal sur le système de fichiers est fortement écrite et oblige le système d'exploitation à synchroniser de manière stricte les données, sur une base régulière. Cela peut interférer avec les opérations de lecture et d'écriture volumineuses qui se déroulent en même temps qu'une modification du système de fichiers nécessitant des entrées de journal.

L’avantage d’un système de journalisation réside dans le fait qu’au moment du montage, le système peut facilement compléter l’entrée de création de fichier ou de modification de répertoire en cours de tentative. Le système de fichiers lui-même est réparé et transformé en un état cohérent avec une rapidité extrême par rapport à une vérification complète du catalogue du système de fichiers.

Pour les utilisateurs débutants - disposer d'un ordinateur leur demander de réparer un disque n'est pas amusant, cela crée une incertitude et les oblige à se familiariser avec le fonctionnement des choses. Oui, cela dissimule le fait qu'ils pourraient perdre cette photo qu'ils étaient en train de télécharger ou de déplacer. En pratique, le bon sens garantit que même les nouveaux utilisateurs vérifient le fichier avant de le supprimer de l'appareil photo lorsque "l'ordinateur" redémarre en cours de copie de leurs photos sur iPhoto. (Il est plus probable qu'ils appellent leur système d'assistance à ce stade s'ils constatent même que le prochain démarrage est plus lent ou plus de deux fois par semaine)

Pour les utilisateurs avancés qui recherchent les performances les plus rapides, les avantages de la journalisation commencent à ressembler à des pénalités au détriment des performances. Ces pénalités peuvent être substantielles si le système est déjà presque plein ou si une performance maximale est requise pour les transferts de données soutenus volumineux typiques des flux de production vidéo professionnels ou de certains bases de données.

De telles choses sont de bonnes raisons de désactiver la journalisation:

  • fichiers de stockage de base de données
  • machines redondantes avec des routines de traitement des données après une panne
  • Stockage RAID prenant en charge la journalisation et plus encore
  • juste besoin de vitesse supplémentaire, peu importe le coût
bmike
la source
TN1150 semblait disparaître du domaine apple.com, puis l'édition 2004 a réapparu sous la forme d'un document retiré à developer.apple.com/legacy/mac/library/#technotes/tn/…, puis déplacée vers developer.apple.com/legacy/. bibliothèque / technotes / tn / tn1150.html . Vous trouverez
Graham Perrin
RAID ne prend pas en charge le type d'erreur que la journalisation empêche. La journalisation permet de s’assurer que lorsque le système d’exploitation / système de fichiers est en train de mettre à jour votre répertoire, une arborescence complexe sur HFS, une panne système ou une suppression de disque ne détruira pas l’ensemble de votre arborescence de répertoires en risquant de perdre des nœuds importants ( branches) que même fsck ne peut pas récupérer. RAID n'empêche pas cela - cela empêche seulement la perte de données due à une défaillance de disque, ce qui est un type de perte de données très différent.
Thomas Tempelmann
1

Vous pourriez jeter un coup d'œil aux outils de développement permettant de comparer les performances disque de différents systèmes de fichiers si vous y étiez enclin. Un guide est disponible ici:  http://developer.apple.com/library/mac/DOCUMENTATION/Performance/Conceptual/FileSystem/Articles /MacOSXAndFiles.html

Je ne trouve aucune comparaison avec les chiffres exacts, mais il va sans dire qu'un système de fichiers journalisé offre une tolérance aux pannes, mais qu'un système de fichiers non journalisé offre de meilleures performances.

J'ai ajouté la balise du système de fichiers aussi

conorgriffin
la source
+1 pour le lien dev, j'ai tendance à oublier à quel point cette ressource est utile. Et un +1 invisible pour le retag ;-)
Jari Keinänen