fsckの実行によるファイルシステム修正について

[概  要]

本ドキュメントではfsckによるファイルシステムのチェックと修復について説明します。

 

[fsckについて]
fsckは、ファイルシステムの不整合をチェックし、修正するツールです。
このファイルシステム不整合は、ハードウェアの障害や突然の電源断などにより、引き起こされる場合が多いです。

fsckを実行することによりファイルシステム上に不整合が無い場合でも、ファイルデーターの完全性は保証されません、かならずバックアップを前提とした運用を行ってください。

 

fsckは、指定されたディスクパーティションのファイルシステムにより、自動的にファイルシステムに適合した修復プログラムを呼び出します。
例えばfsckのチェック対象にext3ファイルシステムを指定した場合は、fsckを実行するとe2fsck (fsck.ext3)プログラムが呼び出されて実行されます。

 

[fsckの実行]

 

fsckのオプションについて

fsckではその後に呼び出されるe2fsckなどのプログラムへオプションを渡します。

そのため、実行オプションの詳細を確認する場合は、man e2fsckなどと実際のプログラムのオプションを確認してください。

ここでは、標準的なext3ファイルシステムの修復作業で使うと思われるオプションのみ紹介します。

 

-y 修正箇所が見つかった場合に実行者に確認せずに修正を行います。

このオプションを指定しないでfsckを実行した場合、修正箇所が見つかるたびに[y]キーで承認しなければならないため修正に時間と手間がかかります。通常はこのオプションの利用を推奨します。

 

-f ファイルシステムがクリーンな場合でも全てのチェックを行います。

障害発生時に修正する場合はこのオプションの利用を推奨します。

 

-p 起動時のfsck実行時にデフォルトで指定されているオプションで、手動で実行する場合は利用しません。起動時に手動(Manual)fsckを実行するように指示の出た場合はこのオプションは利用しないでください。

 

-n チェックだけで全ての修正をしないまま終了します。事前に修正箇所の確認をする場合に利用しますが、見つかった箇所は修正以外に対応方法が無いため、通常はこのオプションは利用しません。

 

修正パーティションの指定

修正パーティションのデバイス名指定は、物理ディスク、論理ディスクなど、環境によって代わります。

ご利用の環境に合わせてデバイス名を指定します。

 

例えば/homeの修正を行いたい場合は最初にmountコマンドで対象パーティションのデバイス名を確認します。

 

mountコマンドの実行例

# mount

/dev/mapper/VolGroup01-LogVol00 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/sdb1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

none on /proc/fs/vmblock/mountPoint type vmblock (rw)

/dev/mapper/VolGroup00-LogVol00 on /home type ext3 (rw)

 

この場合は/home[/dev/mapper/VolGroup00-LogVol00]がデバイス名となります。

 

 

fsckの実行例

fsckは修正対象のパーティションを必ずマウント解除して行ってください。

fsckプログラム自身や関連ライブラリが含まれる/(root)、/usrファイルシステムを修正する場合は、インストールCD-ROMからレスキューモードで起動し、必ずマウント解除(unmount)状態で実行してください。

 

以下の例では/homeパーティションのファイルシステムをチェックします。

 

1.unmountコマンドを使用し、/homeパーティションのマウントを解除します。

 

# umount /home

 

2.fsckコマンドに、以下のように[-y]オプションを付加して実行します。これでも修正できない場合はさらに[-f]オプションを追加して、3.を実行してください。

 

# fsck -y /dev/mapper/VolGroup00-LogVol00

 

fsckコマンドに、以下のように [-f]オプションおよび [-y]オプションを付加して実行します。

 

# fsck -fy /dev/mapper/VolGroup00-LogVol00

 

fsckの実行結果は以下のように表示されます。

 

fsck 1.39 (29-May-2006)

e2fsck 1.39 (29-May-2006)

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

/dev/mapper/VolGroup00-LogVol00: 200314/9125888 files (0.7% non-contiguous), 8705642/18235392 blocks

 

 

[更新履歴]

2008年 325日 新規作成