「Linuxの再起動したらマウントが外れてしまった」
サーバーの容量追加や運用管理の現場では、こうしたディスク周りの確認・設定が日常的に発生します。
この記事では、Linuxで現在マウントされているディスクを確認する最適なコマンドと、再起動後も設定を維持するための「/etc/fstab」の書き方を体系的に解説します。手動マウントの手順からfstabのUUID指定、よくあるエラーへの対処まで、現場ですぐに使える実践的な内容です。
マウント中のディスクを確認するコマンド
単にmount コマンドを引数なしで実行すると、システムが裏側で使用している仮想的なファイルシステム(cgroupやtmpfsなど)が大量に表示されてしまい、知りたい情報が埋もれてしまいます。現代のLinux運用では、以下の2つのコマンドを使い分けるのが一般的です。
1. 容量とマウントポイントを一覧表示する(dfコマンド)
ディスクの空き容量やファイルシステムの種類(ext4、xfsなど)と一緒に確認したい場合は、df コマンドに -hT オプションを付けて実行します。# df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm /dev/sda3 xfs 50G 15G 36G 30% / /dev/sda1 xfs 1.0G 250M 775M 25% /boot /dev/sdb1 ext4 100G 5.0G 90G 6% /data
2. ツリー状にわかりやすく表示する(findmntコマンド)
「どのディレクトリが、どの親ディレクトリの下にマウントされているか」という構造を視覚的に把握したい場合は、findmnt コマンドが便利です。# findmnt TARGET SOURCE FSTYPE OPTIONS / /dev/sda3 xfs rw,relatime,seclabel... |-/sys sysfs sysfs rw,nosuid,nodev,noexec... |-/proc proc proc rw,nosuid,nodev,noexec... |-/dev devtmpfs devtmpfs rw,nosuid,seclabel... |-/boot /dev/sda1 xfs rw,relatime,seclabel... `-/data /dev/sdb1 ext4 rw,relatime,seclabel...
手動でディスクをマウントする(mountコマンド)
新しいディスクを追加した場合や、アンマウントして再マウントしたい場合は、mount コマンドで手動マウントします。1. マウントポイントのディレクトリを作成する
マウント先のディレクトリが存在しない場合は、先に作成しておく必要があります。# mkdir /data
2. mountコマンドでマウントする
# mount /dev/sdb1 /data
-t オプションを使います。# mount -t ext4 /dev/sdb1 /data
df -hT で正しくマウントされているか確認しましょう。マウントを解除する(umountコマンド)
ディスクをメンテナンスしたい場合や別のディレクトリに付け替えたい場合は、umount コマンドでマウントを解除します。# umount /data # または # umount /dev/sdb1
「device is busy」と表示されて外せない場合は、そのディスク上でプロセスが動作中です。
lsof コマンドで原因プロセスを特定してから終了させます。# lsof /data COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 1234 root cwd DIR 8,1 4096 2 /data # 該当プロセスを終了させてからumount # kill 1234 # umount /data
再起動後もマウントを維持する「/etc/fstab」の設定
mount コマンドで手動マウントした設定は、サーバーを再起動するとすべて消えてしまいます。再起動後も自動的にマウントさせるには、
/etc/fstab(ファイルシステムテーブル)に設定を追記する必要があります。【推奨】デバイス名ではなくUUIDで指定する
fstabにデバイス名(/dev/sdb1)をそのまま書くと、ディスクを増設した際や環境によってデバイス名が変わり、マウントに失敗するリスクがあります。現場ではUUID(ユニバーサルユニークID)で指定するのが推奨されています。
UUIDは
blkid コマンドで確認できます。# blkid /dev/sdb1 /dev/sdb1: UUID="a1b2c3d4-e5f6-7890-abcd-ef1234567890" TYPE="ext4"
fstabの書き方と手順
ここでは例として、「/dev/sdb1(ext4)」を「/data」ディレクトリに自動マウントさせる手順を解説します。まずは
/etc/fstab ファイルをエディタで開きます。# vi /etc/fstab
ファイルの末尾に、以下のフォーマットに従って1行追記します。各項目はスペースまたはTabキーで区切ります。
# デバイス(UUID推奨) マウント先 ファイルシステム オプション dump fsck UUID=a1b2c3d4-e5f6-7890-abcd-ef1234567890 /data ext4 defaults 0 0
各項目の意味:
・デバイス名(UUID): マウントしたいディスクのUUID(blkidで確認)
・マウント先: アクセスするディレクトリパス(例:/data)
・ファイルシステム: ext4、xfsなど
・オプション: 通常は「defaults」でOK
・dump: バックアップ不要なら「0」
・fsck: ディスクチェックの順序(ルート以外は「2」か、不要なら「0」)
追記したら
:wq で保存して終了します。【重要】設定後に必ずテストを行う
/etc/fstab の記述を一文字でも間違えると、次回のOS起動時にカーネルパニックを起こし、サーバーが立ち上がらなくなるという致命的なトラブルに直面します。保存後は、必ず以下のコマンドを実行して、エラーが出ないかテストしてください。
# mount -a
mount -a コマンドは、「fstabに書かれている内容をすべてマウントし直す」という命令です。何もエラーメッセージが表示されず、
df -hT で意図通りにマウントされていれば設定は完璧です。よくあるエラーと対処法
「special device does not exist」が表示される
mount: /data: special device /dev/sdb1 does not exist.
/dev/sdb1)が存在しないことを示しています。lsblk コマンドで実際のデバイス名を確認してください。# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk |-sda1 8:1 0 1G 0 part /boot `-sda3 8:3 0 49G 0 part / sdb 8:16 0 100G 0 disk `-sdb1 8:17 0 100G 0 part
「wrong fs type」が表示される
mount: /data: wrong fs type, bad option, bad superblock on /dev/sdb1...
blkid でファイルシステムの種類を確認するか、未フォーマットであれば mkfs コマンドでフォーマットしてからマウントしてください。# blkid /dev/sdb1 # mkfs -t ext4 /dev/sdb1 ← 未フォーマットの場合(データが消えるので注意)
「mount point does not exist」が表示される
mount: /data: mount point does not exist.
mkdir /data で先にディレクトリを作成してください。本記事のまとめ
| やりたいこと | 使用するコマンド・ファイル |
|---|---|
| マウント状況と容量を確認 | df -hT |
| マウント状況をツリー状で確認 | findmnt |
| ディスクのUUIDを確認する | blkid /dev/sdb1 |
| 手動でマウントする | mount /dev/sdb1 /data |
| マウントを解除する | umount /data |
| 再起動後もマウントを維持する | /etc/fstab にUUIDで追記する |
| fstabの設定ミスがないかテストする | mount -a |
ディスクのマウントやfstabの記述ミスで、冷や汗をかいていませんか?
fstabの記述を一文字でも間違えると、OSが起動しなくなる恐れがあります。ディスク操作や権限管理など、システムを壊してしまうリスクのある操作は、確かな基礎知識がないまま触るのは非常に危険です。
安全に、そして確実にLinuxサーバーを構築・運用するための「Linuxサーバー構築入門マニュアル(図解60P)」を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
登録10秒/自動返信でDL/合わなければ解除3秒
<<関連記事>>
・MIMEでエンコードされたテキストを読めるように変換する
・viエディタで文字をコピーする
・ハードディスクの使用状況を調べるには
・tar.bz2ファイルの解凍・圧縮コマンド|tar.gzとの違いやオプション一覧
・tar.gz形式のファイルを解凍、展開するには
