====== ext4 のジャーナルを無効にする ======
===== 背景 =====
ext4 のジャーナルは HDD アクセス速度を大幅に低下させるらしい。
OpenWrt で使用する HDD のアクセスが遅いので、ジャーナルを解除してみた。
===== 環境 =====
* Linux: Ubuntu 13.04 desktop 64ビット
===== 操作手順 =====
* 操作対象のパーティションは **/dev/sdd1** とする
==== ジャーナルが有効かを確認 ====
以下のコマンドの実行結果に、**has_journal** が含まれていれば、ジャーナルが有効になっている。
$ sudo debugfs -R features /dev/sdd1
debugfs 1.42.5 (29-Jul-2012)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
==== ジャーナルを無効にする ====
マウントのデフォルトオプションを設定する。このオプションは、 fstab や mount に指定するオプションで上書きが可能。
* [[http://linuxjm.sourceforge.jp/html/e2fsprogs/man8/tune2fs.8.html|tune2fs マニュアル]]
$ sudo tune2fs -o journal_data_writeback /dev/sdd1
tune2fs 1.42.5 (29-Jul-2012)
ファイルシステムのジャーナルを無効にする。
$ sudo tune2fs -O ^has_journal /dev/sdd1
tune2fs 1.42.5 (29-Jul-2012)
==== ファイルシステムのチェック ====
設定後にファイルシステムに問題がないかチェックする。
$ sudo e2fsck -f /dev/sdd1
e2fsck 1.42.5 (29-Jul-2012)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
foo: 148608/60989440 files (2.1% non-contiguous), 59551151/243928064 blocks
==== ジャーナルが無効化を確認 ====
**has_journal** の記述が消えていることを確認。
$ sudo debugfs -R features /dev/sdd1
debugfs 1.42.5 (29-Jul-2012)
Filesystem features: ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize