mkfs コマンドでext3やext4のファイルシステムを手動で作成した場合、定期的な fsck チェック対象となります。 この場合の fsck は OS 起動時に警告が表示されます(dmseg や syslog)。Linux のディストリビューションによっては自動的に実行されるようですが、Rehat Enterprise Linux 6.2では警告のみ表示され実際に fsck は実行されないようです。手動でファイルシステムを作成した場合には、この定期的なfsck の警告を無効化することを推奨します。(インストール時に作成されるファイルシステムは定期的な fsck 警告の対象外です。
環境:RHEL 6.2 (2013年1月)
1.条件
以下のどちらかの条件が適合した場合、OS 起動時に fsck の警告が出力されます。
2.確認方法
tune2fs コマンドでチェックすることが可能です。
(1)OS インストール時に作成されるファイルシステム
# tune2fs -l /dev/sda1 | grep Maximum Maximum mount count: -1 # tune2fs -l /dev/sda1 | grep Check Check interval: 0 (<none>) |
・Maximum mount count: -1はマウント回数によるチェックは行わないというパラメータです。
・Check interval: 0 はfsck実施間隔によるチェックは行わないという意味です。
(2)手動でファイルシステムを作成した場合
# tune2fs -l /dev/sdb1 | grep Maximum Maximum mount count: 25 # tune2fs -l /dev/sdb1 | grep Check Check interval: 15552000 (6 months) |
手動で作成した場合にはデフォルトでは"25回マウントした場合","前回チェックから約六ヶ月経過した場合" にfsck の警告が表示されます。
3.定期的なfsck 警告を無効化する設定
無効にするには tune2fs コマンドにより 「マウント回数を -1 に設定する」「間隔を -1に設定する」を行います。
# tune2fs -c -1 /dev/sdb1 tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to -1 # tune2fs -i -1 /dev/sdb1 tune2fs 1.41.12 (17-May-2010) Setting interval between checks to 18446744073709465216 seconds |
4.参考
4.1警告メッセージ
(1)Mount count とMaximum mount count(tune2fs -l <デバイス名>で確認が可能) が同じになると以下の警告が dmesg に表示されます。(以下ではデバイス /dev/sdb1が対象です。)
kernel: EXT4-fs (sdb1): kernel: EXT4-fs (sdb1): warning: maximal mount count reached, running e2fsck is recommended
(2)Last checked から Check interval 経過した日数が Next check after を超えると以下の警告が表示されます。
kernel: EXT4-fs (sdb1): warning: checktime reached, running e2fsck is recommended
4.2 対処後
ファイルシステムの状況は tune2fs -l /dev/sdb1 コマンドで確認が可能です。(この例では /dev/sdb1 をチェックしています。)
Filesystem state: not clean
ファイルシステムを アンマウント (umount) してからファイルシステムをチェックします。
# umount /dev/sdb1 # fsck /dev/sdb1 |
再度 tune2fs -l /dev/sdb1で確認すると、ステータスが clean に変更されています。
Filesystem state: clean
[redhat linux 技術ドキュメント トップ]
[FAQ CENTER トップ]