@tooljpさんをフォロー

定期的な fsck 警告を無効化する設定

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 トップ]