🐧 Linuxファイルシステム完全攻略: fstab自動マウントと読み取り専用(Read-Only)設定でデータを保護する

こんにちは、Linuxシステム管理者および開発者の皆様!サーバーを運用していると、新しいディスクを追加したり、起動するたびに自動的に接続させたり、重要なデータが誤って変更されないように保護したりする必要がある場面に遭遇します。

本日は、この2つの必須シナリオ、①起動時のファイルシステム自動マウントと②すでにマウントされているファイルシステムを読み取り専用に変更してデータ整合性を保護するについて、非常に詳しく見ていきましょう。

この投稿一つで、ファイルシステムのマウント管理に自信が持てるようになるでしょう! 💪

Part 1. 再起動しても大丈夫! /etc/fstabでファイルシステムを自動マウントする 🚀

サーバーに新しいバックアップ用ディスクを追加したと想像してみてください。mountコマンドでディスクを/backupsディレクトリに接続しましたが、サーバーを再起動すると接続が切れてしまいました! 😱 毎回起動するたびに手動でマウントするわけにはいきませんよね?

このようなときに使用するのが、/etc/fstabファイルです。

fstabファイルとは何でしょうか? 🤔

  • fstab = File System Table (ファイルシステムテーブル)
  • Linuxが起動するときに参照するファイルシステムリスト情報ファイルです。
  • このファイルに登録されたデバイスは、起動プロセス中に指定された場所に自動的にマウントされます。

fstabファイルに直接登録してみる 📝

xfsファイルシステムを使用する/dev/vdb1デバイスを/backupsディレクトリに自動的にマウントしてみましょう。

ターミナルで以下のコマンドを実行し、/etc/fstabファイルの最終行に設定を追加してください。

echo '/dev/vdb1   /backups   xfs   defaults   0   0' | sudo tee -a /etc/fstab

ちょっと待って!このコマンド、安全ですか? はい、非常に安全で推奨される方法です。

  • echo ‘…’: クォーテーション内のテキストを出力します。
  • | sudo tee -a …: 管理者権限(sudo)でteeコマンドを実行します。-aオプションは、上書きせずにファイルの末尾に内容を追加(append)するという意味です。システム設定ファイルを修正する際にミスを防ぐ最良の方法の一つです!

追加された設定の一行、完全分析! dissected

/dev/vdb1 /backups xfs defaults 0 0 この一行は6つのフィールドで構成されます。

  1. デバイス名 (/dev/vdb1): マウントするパーティションの名前です。
  2. マウントポイント (/backups): デバイスが接続されるディレクトリパスです。
  3. ファイルシステムの種類 (xfs): xfs、ext4、ntfsなど、ファイルシステムのタイプを指定します。
  4. オプション (defaults): マウント時に適用するオプションです。defaultsは、rw(読み書き)、suid、dev、exec、auto、nouser、asyncなど、最も一般的で基本的なオプションをすべて含むキーワードです。
  5. Dump設定 (0): dumpコマンドでバックアップするかどうかです。0はバックアップしないことを意味し、最近ではほとんど0に設定されます。
  6. ファイルシステムチェック順序 (0): 起動時のファイルシステムチェック(fsck)の順序です。0はチェックしないことを意味します。ルートファイルシステムは1、その他は通常2または0を使用します。

再起動せずに設定をテストする ✅

設定が正しく追加されたかを確認するために、わざわざ再起動する必要はありません。以下のコマンドを実行してみてください。

sudo mount -a

mount -aコマンドは、/etc/fstabファイルを読み込み、現在マウントされていない項目をすべてマウントしてくれる非常に便利なコマンドです。エラーメッセージがなければ、設定は正常に完了しています!

Part 2. データは大切だから!読み取り専用(Read-Only)でリマウントする 🛡️

次に、別のシナリオを考えてみましょう。/mntディレクトリに非常に重要なオリジナルデータが格納されたディスク(ext4形式の/dev/vdb2)がマウントされています。このデータは絶対に修正または削除されてはなりません。

このような場合、ファイルシステムを読み取り専用(read-only)で再マウントすることで、データの変更を根本的に遮断できます。

remountオプションで安全に変更する 🔒

すでにマウントされているファイルシステムのオプションを変更する際、わざわざumountして再度mountする必要はありません。remountオプションを使用すれば、非常に簡単に解決できます。

ターミナルに以下のコマンドを入力してください。

sudo mount -o remount,ro /mnt

コマンド完全分析!

  • sudo mount: マウントコマンドを管理者権限で実行します。
  • -o remount,ro: マウントオプション(-o)を指定します。
  • remount: 既存のマウントを解除せず、オプションのみを再適用します。
  • ro: read-onlyの略で、読み取り専用に設定します。
  • /mnt: オプションを変更する対象のマウントポイントです。

本当に適用されたか確認する 👀

設定が正しく適用されたかを確認することは必須ですよね?以下のコマンドで現在のマウント状態を確認してみましょう。

mount | grep /mnt

コマンドを実行したとき、結果にroという文字が表示されれば成功です!

# 実行結果の例
/dev/vdb2 on /mnt type ext4 (ro,relatime)

これで、/mntディレクトリ内ではファイル作成(touch)、修正(vi)、削除(rm)など、いかなる書き込み操作も不可能になります。皆様の大切なデータはこれで安全です!

まとめ ✨

本日は、Linuxシステム管理の核心技術であるfstabを利用した自動マウントと、remountを活用した読み取り専用設定について学びました。この2つの技術をうまく活用するだけで、サーバーの安定性とデータ整合性を大幅に向上させることができます。

自動化はシステム管理の基本であり、データ保護は何よりも重要です。本日学んだ内容をぜひ皆様のサーバーに適用してみてください!


タグ: Linux, fstab, mount, remount, ファイルシステム, サーバー管理, データ保護, xfs, ext4, DevOps, システムエンジニアリング


Comments

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です