【/etc/fstabとは】
/etc/fstabはパーティションやデバイスをどのようにマウントするかを記載しておく設定ファイル。OS起動時に自動的にデバイスをマウントしてくれるのはこのファイルのおかげ。OS起動時に自動マウントさせないようにすることもできる。
また本来mountコマンドでデバイスをマウントする際は以下のように、どのデバイスを、どのマウントポイントに、どのファイルシステムでマウントするかをオプションで指定する必要がある。
mount -t ext4 /dev/sdc1 /var/log/backup
しかし、/etc/fstabに記載してあるマウントポイントをマウントする場合は、オプション指定を省いて以下のようにmountコマンドを実行すれば、/etc/fstabに記載してある内容を読み込んで簡単にマウントすることができる。
mount /var/log/backup
【設定方法(書式)】
以下の書式で記載する。フィールドをスペースかタブで区切って設定する。
<device> <dir> <type> <options> <dump> <pass>
(設定例)
/dev/mapper/rootvg-rootlv / ext4 defaults 0 0
UUID=4f37cdb7-27c4-430f-bc87-aef32a55c6bd /boot ext4 defaults 0 0
/dev/mapper/rootvg-swap swap swap defaults 0 2
各項目について説明を以下に記載します。
①<device>
デバイス名を指定する。UUIDでも設定できる。UUIDを指定する時はUUID=〜で記載する
(例)
/dev/mapper/rootvg-rootlv
UUID=XXXXXXXXX〜
/dev/sda2
※/dev/sdXXでの指定はやめたほうがよい。デバイス名sda、sdb、sdc・・はディスクの認識順によって入れ替わる可能性がある。そのため/dev/sdXXではなく、UUIDで指定したほうがよい。
②<dir>
マウントする先(マウントポイント)を指定する。
③<type>
ファイルシステムの種類を指定する。
④<options>
マウント時のオプションを指定する。OS起動時に自動マウントさせないようにするには「noauto」を設定する。
defaultsにすると以下のオプション設定となる
async ファイルシステムに対するすべての入出力を非同期にする
auto -aオプションでmountコマンドを実行した時にマウント対象とする
dev ファイルシステム上のデバイスファイルを利用できる
nouser 一般ユーザーのマウントを禁止する
rw 読み書き許可でマウント
suid SUID/SGIDビットを有効にする
exec バイナリの実行を許可する
noexec ファイルの実行を禁止する
よく/tmpをnoexecでマウントする設定を聞くが、noexecにするとソフトウェアのインストールで失敗することがたまにあるので覚えておいたほうがよい。
その他のオプションが色々ありますが省略、、、
⑤<dump>
dumpの有無の指定。dumpコマンドのバックアップ対象とするか否かを設定するパラーメータ。0は対象外、1は対象となる。
dumpコマンドはext2,ext3,ext4のファイルシステムをバックアップするツールであるため、ファイルシステムがextでないものや、バックアップする意義がないswapなどは通常0にする。そもそもdumpコマンドを使う運用がないならあまり関係のないパラメータ(たぶん)
⑥<pass>
fsckの有無(順序)の設定。fsckはファイルシステムの整合性をチェックするツール。0はチェック対象外、1以降の数字はチェック対象となり、数字順にfsckが実行される(rootファイルシステムを1に設定し、それ以外のファイルシステムに2以降を割り振る)
/procは初期化時に作成されるのでfsckする必要はない。一部のジャーナリングファイルシステム(XFS など)はファイルシステム自身の機能で整合性チェックをするので0でよい。
0以外に設定されているとOSブート時にファイルシステムごとのfsckの実施条件により実施が必要と判断されれば実施される(毎回fsckが実行されるわけではない)
実施条件には「マウント回数」、「時間間隔(最後のfsckからの経過時間)」がある。ファイルシステムの設定の確認はtune2fsコマンドで確認できる。
(例) tune2fs -l /dev/mapper/rootvg-rootlv
Maximum mount count ←マウント回数がこれを越えたらfsckする
Check interval ←最後のfsckからの時間(秒)がこれを越えたらfsckする
※値を超えたとしてもfsckが実行されるのは次回OS起動時
OS起動時にサイズの大きいファイルシステムに対してfsckが実行されると、fsckに時間が掛かりOSの起動完了に5分以上掛かることもあるらしい。だけどfsckによるデメリットを調べてみたが、OSの起動が遅くなることくらいしか見つからなかった。あまりにもOS起動が遅いのは問題だが、数分で終わるならばわざわざfsckが実行されないようにする必要性はないように感じた。とりあえず構築段階では有効にしといて、運用してみて問題あれば変えればよい気がする。
/etc/fstab

コメント