Instiq
第2章 · ファイルシステムとストレージ管理·v1.0.0·更新 2026/7/7·読了目安 約11分

変更要約: 初版(主題2.02・副主題2.02.1〜2.02.3に対応)

2.1ファイルシステムの設定とマウント

この節の要点

ストレージをディレクトリツリーへ組み込むマウントの仕組みを学びます。恒久的な設定である/etc/fstab、手動操作のmountumount、現在のマウント状態を映す/proc/mountsスワップを扱うswaponswapoffmkswap、デバイス識別のblkidlsblkUUIDを押さえます。

パーティションや論理ボリュームを作っただけでは、Linux はまだそこにアクセスできません。ディレクトリツリーの特定の場所に接続する操作がマウントで、起動のたびに毎回手作業でやるわけにはいかないため、恒久設定と手動操作の両方を正確に使い分ける必要があります。

2.1.1/etc/fstab と mount/umount

  • /etc/fstab=起動時に自動マウントする恒久設定。1行=1マウントでデバイス・マウントポイント・ファイルシステム種別・オプション・dump・fsckパス順の6フィールド。デバイス指定は/dev/sdXnのほかUUIDUUID=xxxx)を使うのが定石(デバイス名はディスク増設で変わりうる)。
  • mount=手動マウント(mount /dev/sdb1 /mnt/data、fstab記載済みならmount /mnt/dataだけで可)。mount -aでfstab全行を一括マウント(設定反映の確認に使う)。umount=取り外し(使用中はumount: target busyで失敗→fuserlsofで使用プロセスを特定)。
  • /proc/mountsカーネルが把握している現在のマウント状態をリアルタイムに反映する仮想ファイル(fstabは意図、/proc/mountsは実態)。/etc/mtabは伝統的にmount実行結果を記録する別ファイルだが、現在は多くのディストリで/proc/mountsへのシンボリックリンク。

2.1.2スワップとデバイス識別

  • スワップ=物理メモリ不足時にディスクへ退避する領域。作成=mkswapmkswap /dev/sdb2でスワップ用の署名を書き込む)。有効化=swaponswapon /dev/sdb2swapon -aでfstab記載分を一括)。無効化=swapoff。fstabにもswap種別・swオプションで恒久登録する。
  • blkid=ブロックデバイスのUUID・LABEL・TYPE(ファイルシステム種別)を一覧表示(fstab記載用のUUID確認の定番)。lsblk=ブロックデバイスをツリー表示(ディスク→パーティション→マウントポイントの親子関係が一目で分かる)。
試験ポイント

「fstabのフィールド順=デバイス・マウントポイント・種別・オプション・dump・fsckパス」「UUID指定はデバイス名変更に強い」「mount -aはfstab一括マウント・swapon -aはfstabのswap一括有効化」「/proc/mountsは実際の現在状態」が最頻出です。blkidでUUIDを調べてfstabに書く一連の流れも定番の実技問題です。

ディスクを1台追加してext4でフォーマットし、恒久的に/dataへマウントする作業を通しで考えてみましょう。まずblkid /dev/sdb1UUIDを控え、/etc/fstabUUID=xxxx-xxxx /data ext4 defaults 0 2のような行を追加します。ここで即座に再起動して確認するのは危険です。書式ミスで起動不能になりかねないため、実務では必ずmount -a再起動なしにfstabの内容を試すのが定石です。エラーが出なければdf -hmount | grep /data、あるいは/proc/mountsで実際にマウントされたかを確認します。スワップの追加も似た流れです。パーティション作成後にmkswap /dev/sdb2swapon /dev/sdb2で即座に有効化しつつ、/etc/fstabUUID=yyyy none swap sw 0 0を書いて次回起動時も自動有効化されるようにします。マウントオプションではdefaults(rw, suid, dev, exec, auto, nouser, async の集合)を起点に、読み取り専用にしたい場合のro、SUID/SGIDを無効化するセキュリティ強化のnosuid、デバイスファイル解釈を禁じるnodevなどを追記する場面も出題されます。

コマンド役割備考
mount -afstab全行を一括マウント再起動せずfstab検証に使う
swapon -afstabのswap行を一括有効化mkswap済みの領域が対象
blkidUUID/LABEL/TYPEを一覧fstab記載用UUIDの取得元
lsblkブロックデバイスをツリー表示親子関係の把握向け
注意

ひっかけ: 「/etc/fstabの変更は保存しただけで即座にシステムへ反映される」は誤りです。fstabは次回マウント時(通常は次回起動)に読まれる設定ファイルにすぎず、既にマウント済みの領域には影響しません。反映確認にはmount -aや明示的な再mountが必要です。また「/proc/mountsはユーザーが編集して恒久設定できる」も誤り=これはカーネルが自動生成する読み取り専用の現況表示で、恒久設定を書く先は/etc/fstabです。

/etc/fstabのフィールド構成、mount/umountの操作、swapon/swapoff/mkswap、blkid/lsblkによるデバイス識別を整理した図。
fstab=意図・/proc/mounts=実態

2.1.3この節のまとめ

  • /etc/fstab=恒久設定(デバイス/マウントポイント/種別/オプション/dump/fsck順)mount -a=再起動なしで検証/proc/mounts=実際の現況
  • mkswap→swaponでスワップ有効化・blkidでUUID取得しfstabへ登録・lsblkでツリー確認

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. 新しいディスクをext4でフォーマットし、UUIDを使って /data に恒久的にマウントしたい。/etc/fstab へ設定を追加した後、再起動せずに設定内容を検証する最も適切な方法は?

Q2. 新規パーティション /dev/sdb2 をスワップ領域として今すぐ有効化し、次回起動時も自動的に有効化されるようにしたい。正しい手順は?

Q3. サーバーにディスクを2台追加後、ディスク名の割り当てが起動のたびに変わり fstab のマウントが失敗するようになった。この問題を根本的に回避するための fstab のデバイス指定方法は?

理解度を確認第2章「ファイルシステムとストレージ管理」の問題を解く