はじめに
手動でマウントしたファイルシステムは、永続的なマウント設定が行われていない限り、再起動後に消えてしまいます。Linux では、/etc/fstab ファイルに、システム起動時や mount -a コマンド実行時にマウントすべきファイルシステムを記述します。正しいエントリには、ソース、マウントポイント、ファイルシステムタイプ、マウントオプション、および dump/fsck フィールドが必要です。
この実験では、安全なラボ用の永続マウントを 1 つ設定します。環境には /home/labex/project/persistent-disk.img 内に ext4 ファイルシステムが準備されています。/etc/fstab に 1 行追加し、loop オプションを使用してそのイメージを /home/labex/project/persistent-mount にマウントし、mount -a で検証します。既存のシステムマウントエントリは一切変更しません。
準備されたファイルシステムの確認
このステップでは、/etc/fstab を変更する前に、準備されたファイルシステムイメージとマウントポイントを確認します。永続マウントは、ソースとターゲットのパスを事前に確認しておくことで、より安全に行えます。
プロジェクトディレクトリに移動します。
cd /home/labex/project
イメージファイルとマウントディレクトリを確認します。
ls -lh persistent-disk.img
ls -ld persistent-mount
現在の /etc/fstab を読み取ります。ここでは、ラボ用のエントリを追加する前に、どのようなシステムマウントエントリが既に存在するかを確認する目的でファイルの内容を読み取ります。
cat /etc/fstab
fstab へのラボ用エントリの追加
このステップでは、永続マウントエントリを 1 つ追加します。/etc/fstab の 1 行には、ソース、マウントポイント、ファイルシステムタイプ、オプション、dump フラグ、ファイルシステムチェック順序の 6 つのフィールドがあります。
編集前に /etc/fstab をバックアップします。バックアップを取っておくことで、実際の管理作業において比較や復元が必要になった際に役立ちます。
sudo cp /etc/fstab /etc/fstab.lab40.bak
ラボ用のエントリを追記します。ソースはイメージファイル、ターゲットは persistent-mount、タイプは ext4 です。オプションには、ファイルがループデバイス経由でマウントされるように loop を含めます。nofail オプションを指定することで、このラボ用エントリが起動に不可欠なファイルシステムとして扱われるのを防ぎます。
printf '/home/labex/project/persistent-disk.img /home/labex/project/persistent-mount ext4 loop,nofail,rw 0 0\n' | sudo tee -a /etc/fstab >/dev/null
追加したエントリを表示します。
grep -F '/home/labex/project/persistent-mount' /etc/fstab
fstab からのマウント
このステップでは、mount コマンドでソースデバイスを手動指定する代わりに、/etc/fstab を使用します。mount -a を実行すると、Linux は /etc/fstab 内のエントリのうち、まだマウントされていないものをマウントしようとします。
mount -a を実行します。コマンドが成功した場合、通常は何も出力されませんが、これは正常な動作です。
sudo mount -a
マウントされたパスを確認します。
findmnt -T persistent-mount
ファイルシステムの容量を確認します。
df -h persistent-mount
永続マウントへの書き込み検証
このステップでは、マウントされたファイルシステムが使用可能であることを証明します。ターゲットパスが意図した通りにファイルシステムとして機能して初めて、マウント作業は完了です。
マウントされたファイルシステムのルートの所有権を labex ユーザーに変更します。
sudo chown labex:labex persistent-mount
マウントされたファイルシステム上にテストファイルを作成します。
printf 'persistent mount ok\n' > persistent-mount/persistent.txt
内容を読み取ります。
cat persistent-mount/persistent.txt
テストファイルがマウントされたパス上に存在することを再度確認します。
findmnt -T persistent-mount/persistent.txt
まとめ
既存のシステムマウントを変更することなく、永続マウントの設定を行いました。準備された ext4 イメージとマウントポイントを確認し、/etc/fstab をバックアップし、loop および nofail オプションを使用してラボ用のエントリを追記し、mount -a でマウントしました。さらに findmnt と df でファイルシステムをチェックし、テストファイルの書き込みを行いました。これで、誤ったマウント設定を診断する次のトラブルシューティングの実験に向けた準備が整いました。



