ext2/ext3ファイルシステムは、デフォルトの設定では30回または30日でチェックが行われるようになっている。起動時にこのチェックに当たると、起動時間がだいぶ掛かってしまう。
チェック時間の短いジャーナルファイルシステムを採用しているext3を使用しても全て同時ではやはりその分時間がかかってしまうが、tune2fsでそのタイミングをずらすことで一斉にチェックに入る条件を緩和することができる。
チェック自体はファイルシステムの整合性確認のため必ず行わなければならない。
しかし少しでも重複するチェックを避けるようにすることで、ファイルチェックでの待ち時間が少なくなるよう改善できる。
tune2fsを使用したチェック間隔の調整
tune2fsは、ext2およびext3ファイルシステムを調整するためのコマンドで、チェック間隔の変更は以下のコマンドオプションで可能。
チェックのマウント回数ベースの間隔変更
1 |
tune2fs -c チェック間隔 デバイス名 |
チェックの時間間隔変更
1 |
tune2fs -i チェック時間間隔[d|m|w] デバイス名 |
- dは日、mは月、wは週
実際に設定してみる
チェックが極力重ならないようにするために、各ファイルシステムに設定する数値を素数を設定する。
30より大きくて一番近い素数から、31,37,41,43 を使用することにする。
一番使用するルートファイルシステムを31に設定し、順に37,41,43…と値を変えて設定する。
/dev/hda1を31日/31回の間隔で再設定するのは以下の通り
1 2 3 4 5 6 7 8 9 10 11 |
foo:~# tune2fs -T now /dev/hda1 tune2fs 1.38 (30-Jun-2005) Setting time filesystem last checked to Sat Nov 12 13:45:01 2005 foo:~# tune2fs -i 31d /dev/hda1 tune2fs 1.38 (30-Jun-2005) Setting interval between checks to 2678400 seconds foo:~# tune2fs -c 31 /dev/hda1 tune2fs 1.38 (30-Jun-2005) Setting maximal mount count to 31 |
同様にマウントするファイルシステム毎に設定を行う。
これで、30回または30日毎に一斉にチェックしていたのが、最低でも
-31と37が一緒になる組合せで3137=1147、1日1回起動すると仮定して年換算で3年と少し、
-31と37と41が一緒になる組合せが313741=47,027、同様の換算で128年強(!)まで伸ばすことができる。
ちなみに4つファイルシステムを使用している場合では、全てのファイルシステムのチェックが重なるのは、31374147で6,055年(!!!)となる。
おそらく、これより前にファイルシステムを作りなおすとか再インストールするだろうから(^^;; 実質的に問題なしと考えてよいかと。