3.8. Journalisation des données


Normalement, GFS2 n'inscrit que les métadonnées dans son journal. Les contenus de fichier sont donc inscrits par la sync périodique du noyau qui purge les tampons des systèmes de fichiers. Un appel fsync() sur un fichier a pour effet d'inscrire les données du fichier immédiatement sur le disque. L'appel revient lorsque le disque rapporte que toutes les données ont été inscrites en toute sécurité.
La journalisation des données peut entraîner une réduction du temps de sync fsync pourles très petits fichiers parce que les données du fichier sont inscrites dans le journal en plus des métadonnées. Cet avantage se réduit rapidement quand la taille du fichier augmente.Les écritures à des fichiers de moyenne ou grande taille seront beaucoup plus lentes avec la journalisation de donnéesactivée.
Les applications qui dépendent de fsync() pour synchroniser les données de fichier pourraient être améliorées en utilisant la journalisation des données. La journalisation des données peut être activée automatiquement pour tout fichier GFS2 créé dans un répertoire balisé (et dans tous ses sous-répertoires). Les fichiers existants d'une longueur nulle peuvent également avoir la journalisation des données activée.
L'activation de la journalisation de données sur un répertoire définit le répertoire "inherit jdata", qui indique que tous les fichiers et répertoires créés par la suite dansce répertoire sont journalisés. Vous pouvez activer et désactiver la journalisation de données surun fichier par la commande chattr.
Les commandes suivantes désactivent la journalisation des données sur le fichier /mnt/gfs2/gfs2_dir/newfile et vérifient ensuite si le marqueur a été installé correctement.
[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
Les commandes suivantes désactivent la journalisation des données sur le fichier /mnt/gfs2/gfs2_dir/newfile et vérifient ensuite si le marqueur a été installé correctement.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
------------- /mnt/gfs2/gfs2_dir/newfile
Vous pouvez également utiliser la commande chattr pour définir le marqueur j sur le répertoire. Quand vous fixez ce marqueur sur un répertoire, tous les fichiers et répertoires créés par la suite dans ce répertoire seront journalisés. Le groupe de commandes suivantes créent un marqueur j sur le répertoire gfs2_dir, puis contrôle que le marqueur a bien été défini correctement. Ensuite, les commandes créent un nouveau fichier intitulé newfile dans le répertoire /mnt/gfs2/gfs2_dir, puis contrôlent que le marqueur j a bien été défini pour ce fichier. Comme le marqueur j a été défini pour le répertoire, le newfile devrait avoir sa journalisation activée.
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# lsattr /mnt/gfs2
---------j--- /mnt/gfs2/gfs2_dir
[root@roth-01 ~]# touch /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.