今回はLinuxシステムにおける「マウント」について扱います。
マウントについてはわりと覚えることが多いです。
もしかするとLinuxシステムを単に使用するだけではあまり意識することが少ないかもしれませんが、システム運用などを行う上では実践的にもかなり重要になってくるところかと思います。
マウント
マウントについて
マウントとはデバイスとその上に構築されているファイルシステムを OS に認識させ、指定のディレクトリに割り当て、そのディレクトリ以下のパスでファイルシステム内にアクセスできるようにすることです。
また、元のファイルシステムから見て、別のファイルシステムが結合されるディレクトリのことをマウントポイントと言います。
試験的にマウントポイントという言葉分かっていること前提なので知らない場合は押さえておいた方がいいです。
実際はCD-ROMやUSBメモリ、ストレージなどをマウントするケースが多いかと思います。
私は一つのファイルシステム内で別のファイルシステムを、あたかも同一システム内のディレクトリのように扱えるようになるイメージをしています。
etc/fstabファイル
ファイルシステムの情報はetc/fstabというファイルに記述されています。
マウントを行うときはこのファイルが読み込まれるため、自動でマウントしたいファイルシステムなどは予め記述しておきます。
試験的には後述する「/etc/mtab」のファイルとは必ず区別できるようにしておきましょう。
・ファイルの記述例
UUID=ece69863-e3b1-442b-bbac-a9c2191ede80 /boot xfs defaults 0 0
・ファイルの各項目について
①デバイスファイル名
デバイスファイル名、ラベル名、UUIDで指定。
②マウントポイント
マウント先のディレクトリ
③ファイルシステムの種類
ext2、xfsなど
④マウントオプション
必要に応じて下表のようなオプションを指定。
オプション | 内容 |
---|---|
|
非同期で入出力を行う |
|
「mount -a」コマンドでマウント |
|
「mount -a」コマンドでマウントしない |
|
デフォルトオプションを設定(※後述) |
|
バイナリ実行を許可 |
|
バイナリ実行を許可しない |
|
読み取り専用でマウント |
|
読み書きを許可してマウント |
|
SUIDとSGIDを有効にする |
|
マウントしたユーザ以外でもアンマウントできる |
|
一般ユーザでもマウント可能 |
|
一般ユーザにマウント許可しない |
⑤dumpフラグ
1であればdumpコマンドによるバックアップ対象とする。
⑥ fsckフラグ
Linux起動時に自動で行われるファイルシステムチェックを行う順番を数値で指定。
※オプションのdefaultsは以下の設定が行われます。
async,auto,dev,exec,nouser,rw,suid
オプションは、試験的にはuserのマウント許可や読み書きの許可あたりがまず重要かと思います。
/etc/mtabファイル
/etc/mtabファイルには現在マウントされているファイルシステムの情報が格納されています。
fstabとの関係としてfstabの情報を元にマウントを行った情報がmtabに記述されることになります。
・ファイル例
[root@localhost work]# cat /etc/mtab rootfs / rootfs rw 0 0 sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=486008k,nr_inodes=121502,mode=755 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0 devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 <・・省略・・>
マウントコマンド
mountコマンド
マウントを手動で実行する際にはmountコマンドを使用します。
mountコマンドはオプションなしで実行すると現在のマウント状態を表示する。
[wantan@localhost work]$ mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=486008k,nr_inodes=121502,mode=755) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel) <・・省略・・>
オプション
オプション | 内容 |
---|---|
-a | /etc/fstabファイルのすべてをマウントする |
-t | ファイルシステムの種類を指定 |
-o | マウントオプションを指定 |
■/etc/fstabファイルの記述内容を全てマウントする
[root@localhost work]# mount -a
■/etc/fstabファイルの特定のファイルシステムのみマウントする
[root@localhost work]# mount -at xfs
■/etc/fstabファイルの特定のデバイスのみマウントする
/etc/fstabを使用したマウントは記述されているマウントポイントかデバイス名のみを指定した形でもマウントすることができます。
[root@localhost work]# mount /dev/sdb1
umountコマンド
ファイルシステムのアンマウントを行うにはumountコマンドを使用します。
mountコマンドと同様の使い方で使用することができます。
具体的には/etc/mtabに記述されているファイルシステムをアンマウントすることになります。
オプション
オプション | 内容 |
---|---|
-a | /etc/mtabファイルの内容すべてをアンマウント |
-t | ファイルシステムの種類を指定してアンマウント |
ーーーーーーーーーーーーーー
・前回(第二十一回)
www.wantanblog.com
・次回(第二十三回)
www.wantanblog.com