検索

3.7. データジャーナリング

download PDF
Ordinarily, GFS2 writes only metadata to its journal. File contents are subsequently written to disk by the kernel's periodic sync that flushes file system buffers. An fsync() call on a file causes the file's data to be written to disk immediately. The call returns when the disk reports that all data is safely written.
データジャーナリングでは、メタデータに加えて更にファイルデータがジャーナルに 書き込まれるため、特に小さなファイルでは fsync() 時間を 低減する結果となります。fsync() はデータがジャーナルに 書き込まれるとすぐに戻ります。これによりファイルデータをメインのファイルシステムに 書き込む時間よりもかなり速くなります。
fsync() に依存してファイルデータを同期するアプリケーションは データジャーナリングによってパフォーマンスの向上を受けます。データジャーナリングは フラグ付きディレクトリ(及び、そのサブディレクトリ)内に作成された GFS2 ファイル用に 自動的に有効にされます。0 の長さの既存のファイルもデータジャーナリングをオン/オフに 切り替えることができます。
Enabling data journaling on a directory sets the directory to "inherit jdata", which indicates that all files and directories subsequently created in that directory are journaled. You can enable and disable data journaling on a file or a directory with either of the following methods:
  • chattr +j あるいは、chattr -j コマンドをファイルかディレクトリで実行する
  • ファイル又はディレクトリにある jdata フラグを gfs2_tool setflag あるいは、gfs2_tool clearflag コマンドでセットするか抹消する
chattr コマンドの使用が、ファイル、又はディレクトリでデータ ジャーナリングを有効/無効にする推奨手法です。

3.7.1. chattr コマンドを使用したデータジャーナリングの有効化/無効化

chattr コマンドを使用すると、ファイル上のデータジャーナリングを有効にしたり無効にしたり することができます。以下のコマンド群は /mnt/gfs2/gfs2_dir/newfile ファイルのデータジャーナリング を有効にして、それからフラグが正しくセットされていることをチェックします。
[root@roth-01 ~]# chattr +j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
---------j--- /mnt/gfs2/gfs2_dir/newfile
以下のコマンド群は /mnt/gfs2/gfs2_dir/newfile ファイル上のデータジャーナリングを 無効にして、それからフラグが正しくセットされていることをチェックします。
[root@roth-01 ~]# chattr -j /mnt/gfs2/gfs2_dir/newfile
[root@roth-01 ~]# lsattr /mnt/gfs2/gfs2_dir
------------- /mnt/gfs2/gfs2_dir/newfile
また、chattr を使用して、ディレクトリ上に j フラグをセットすることもできます。このフラグがディレクトリ用にセットされると、 このディレクトリに以後に作成される全てのファイルとディレクトリがジャーナル化されます。以下のコマンドのセットは gfs2_dir ディレクトリに j フラグをセットして、そのフラグが正しくセットしてあることをチェックします。その後、コマンドの セットは /mnt/gfs2/gfs2_dir ディレクトリに newfile と 言う新しいファイルを作成して、そのファイル用に j フラグが正しくセットしてあることを チェックします。j フラグは そのディレクトリ用にセットしてあるため、newfile も ジャーナリングが有効になっているはずです。
[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

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.