現状の確認
インストール直後の既定値を確認する。/etc/fstab
[root@centos01 ~]# cat /etc/fstab | grep /dev/mapper/vg_centos01-lv_root /dev/mapper/vg_centos01-lv_root / ext4 defaults 1 1 [root@centos01 ~]#第6フィールドが「1」となっている。
この設定では、起動の際にfsck実施条件をチェックし、適宜fsckを実施する。
ボリュームのパラメータ
CentOS 6/RHEL 6の場合、既定ではext4のボリュームは、fsckを実施しない様設定されている。# ちなみに、CentOS 7/RHEL 7では、既定でxfsのため、起動にfsckは実行されない。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 4 Maximum mount count: -1 Last checked: Thu Feb 23 06:06:05 2017 Check interval: 0 (<none>) [root@centos01 ~]#
現在は、以下の通り設定されていることが判る。
- マウントされた回数(Mount count)が4、
- マウント回数によるfsck実行(Maximum mount count)は無し、
- 最後にfsckが実行されたの(Last checked)が2017.2.23(木) 06:06:05、
- 経過時間によるfsck実行(Check interval)は無し
マウント回数による条件の検証
Maximum mount countの設定
前に確認した通り、現在のマウント回数は4回なので、Maximum mount countを5に設定する。[root@centos01 ~]# tune2fs -c 5 /dev/mapper/vg_centos01-lv_root tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to 5 [root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 3 Maximum mount count: 5 Last checked: Thu Feb 23 06:06:05 2017 Check interval: 0 (<none>) [root@centos01 ~]#
確認1: fsckされない場合
再度再起動する。[root@centos01 ~]# shutdown -r now起動後、確認する。
この時点でマウント回数5回だが、Maximum mount countの設定値5を超えていないため、fsckされない。
最後にfsckした時刻(Last checked)が変わっていないことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 5 Maximum mount count: 5 Last checked: Thu Feb 23 06:06:05 2017 Check interval: 0 (<none>) [root@centos01 ~]#
確認2: fsckされる場合
再度再起動する。[root@centos01 ~]# shutdown -r now起動後、確認する。
この時点でマウント回数6回に達し、Maximum mount countの設定値5を超えるため、fsckされる。
最後にfsckした時刻(Last checked)が変わったことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: 5 Last checked: Sat Feb 25 13:42:42 2017 Check interval: 0 (<none>) [root@centos01 ~]#
復旧
設定を元に戻す。[root@centos01 ~]# tune2fs -c -1 /dev/mapper/vg_centos01-lv_root tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to -1 [root@centos01 ~]#
/fastbootの検証
ファイル/fastbootを作成すると、次回起動時にfsckされなくなることを確認する。設定
[root@centos01 ~]# tune2fs -c 1 /dev/mapper/vg_centos01-lv_root tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to 1 [root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: 1 Last checked: Sat Feb 25 13:42:42 2017 Check interval: 0 (<none>) [root@centos01 ~]#
確認1: fsckされない場合
/fastbootを作成し、再起動する。[root@centos01 ~]# touch /fastboot [root@centos01 ~]# shutdown -r now起動後、確認する。
この時点でマウント回数2回で、Maximum mount countの設定値2を超えているが、/fastbootが作成されていたため、fsckされない。
最後にfsckした時刻(Last checked)が変わっていないことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 2 Maximum mount count: 1 Last checked: Sat Feb 25 13:42:42 2017 Check interval: 0 (<none>) [root@centos01 ~]#再起動前に作成した/fastbootは削除されている。
[root@centos01 ~]# ls /fastboot ls: cannot access /fastboot: そのようなファイルやディレクトリはありません [root@centos01 ~]#
確認2: fsckされる場合
/fastbootが設定されていない状態で再起動する。[root@centos01 ~]# shutdown -r now起動後、確認する。
この時点でマウント回数3回に達し、Maximum mount countの設定値1を超えるため、fsckされる。
最後にfsckした時刻(Last checked)が変わったことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: 1 Last checked: Sat Feb 25 14:35:52 2017 Check interval: 0 (<none>) [root@centos01 ~]#
復旧
設定を戻す。[root@centos01 ~]# tune2fs -c -1 /dev/mapper/vg_centos01-lv_root tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to -1 [root@centos01 ~]#
/forcefsckの検証
ファイル/forcefsckを作成すると、強制的にfsckを実行させることができる。これを確認する。
現在状態の確認
現在の状態を確認する。[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: -1 Last checked: Sat Feb 25 14:35:52 2017 Check interval: 0 (<none>) [root@centos01 ~]#マウント回数、経過時間共にfsckされる条件を満たしていないことが判る。
確認
/forcefsckを作成し、再起動する。[root@centos01 ~]# touch /forcefsck [root@centos01 ~]# shutdown -r now強制的にfsckが実行される。
起動後、確認する。
最後にfsckした時刻(Last checked)が変わったことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: -1 Last checked: Sat Feb 25 14:48:14 2017 Check interval: 0 (<none>) [root@centos01 ~]#
/etc/fstabの第6フィールドの検証
/etc/fstabの第6フィールドを0に設定すると、fsckが抑制される。設定
/etc/fstabの第6フィールドを0に設定する。[root@centos01 ~]# cp -p /etc/fstab /etc/fstab.orig [root@centos01 ~]# grep lv_root /etc/fstab /dev/mapper/vg_centos01-lv_root / ext4 defaults 1 1 [root@centos01 ~]# sed -i '/lv_root/s/1$/0/' /etc/fstab [root@centos01 ~]# grep lv_root /etc/fstab /dev/mapper/vg_centos01-lv_root / ext4 defaults 1 0 [root@centos01 ~]#
Maximum mount countを1に設定する。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: -1 Last checked: Sat Feb 25 14:48:14 2017 Check interval: 0 (<none>) [root@centos01 ~]# tune2fs -c 1 /dev/mapper/vg_centos01-lv_root tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to 1 [root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: 1 Last checked: Sat Feb 25 14:48:14 2017 Check interval: 0 (<none>) [root@centos01 ~]#
確認1: fsckされない
再起動する。[root@centos01 ~]# shutdown -r now起動後、確認する。
この時点でマウント回数2回に達し、Maximum mount countの設定値1を超えるが、/etc/fstabでfsckを抑制しているため、fsckされない。
最後にfsckした時刻(Last checked)が変わっていないことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 2 Maximum mount count: 1 Last checked: Sat Feb 25 14:48:14 2017 Check interval: 0 (<none>) [root@centos01 ~]#
確認2: /etc/fstabの第6フィールド VS /forcefsck
/etc/fstabの第6フィールドを0にした状態で/forcefsckを作成した場合どうなるか検証する。/forcefsckを作成し、再起動する。
[root@centos01 ~]# touch /forcefsck [root@centos01 ~]# shutdown -r now起動後、確認する。
この時点でマウント回数3回に達し、Maximum mount countの設定値1を超え、さらに/etc/forcefsckが作成されているが、/etc/fstabでfsckを抑制しているため、fsckされない。
最後にfsckした時刻(Last checked)が変わっていないことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 3 Maximum mount count: 1 Last checked: Sat Feb 25 14:48:14 2017 Check interval: 0 (<none>) [root@centos01 ~]#
復元1: /etc/fstabのみ
/etc/fsckの第6フィールドのみ設定を戻す。[root@centos01 ~]# mv -f /etc/fstab.orig /etc/fstab [root@centos01 ~]# grep lv_root /etc/fstab /dev/mapper/vg_centos01-lv_root / ext4 defaults 1 1 [root@centos01 ~]#
確認3: fsckされる
/etc/fsckの第6フィールドの設定を戻すと、fsckされることを確認する。[root@centos01 ~]# shutdown -r now起動後、確認する。
この時点でマウント回数4回に達し、Maximum mount countの設定値1を超えるので、fsckされる。
最後にfsckした時刻(Last checked)が変わったことで確認できる。
[root@centos01 ~]# tune2fs -l /dev/mapper/vg_centos01-lv_root | egrep -i 'mount count|check' Mount count: 1 Maximum mount count: 1 Last checked: Sat Feb 25 15:21:03 2017 Check interval: 0 (<none>) [root@centos01 ~]#
復元2: Maximum mount count
Maximum mount countの設定を戻す。[root@centos01 ~]# tune2fs -c -1 /dev/mapper/vg_centos01-lv_root tune2fs 1.41.12 (17-May-2010) Setting maximal mount count to -1 [root@centos01 ~]#