LinuC Level1 v10.0 対策コース(パート1)38/39
ファイルシステムの作成とマウント
こちらの記事ではファイルシステムの作成方法とファイルシステムのマウント方法について解説します。
ファイルシステム
ファイルシステムとは、ディスクに保存されるデータをファイルとして管理する仕組みです。/
ディレクトリを含むファイルシステムをルートファイルシステムといいます。ファイルにアクセスする時にファイルシステムがないと、153864セクタのように指定しなければなりません。
ファイルシステムがあることで、cat /data/text.txt
というように分かりやすくなります。
ファイルシステムを作成
パーティション内にファイルシステムを作成する時はmkfs
コマンドを使用します。ファイルシステムにも種類があり、-t
オプションでタイプを指定します。
mkfs -t ext4 /dev/sdb3 # ファイルシステムext4を/dev/sdb3の下に作成
システムファイル | 説明 |
---|---|
ext2 | Linuxの初期に使用されていた。最大ファイルサイズ2TiB、最大容量16TiB。 |
ext3 | ex2と互換性がある。新しくジャーナルが追加された。ジャーナルはファイルシステムへの変更を記録する機能。HDDなどに変更を書き込むときにジャーナルに書き込む。変更が完了した後はジャーナルの書き込みは削除される。 |
ext4 | ext3の後継のファイルシステムで、拡張機能を使っていない場合はext3としてマウントできる。サブディレクトリ数が無制限になった。 |
ReiserFS | CentOS以前のバージョンで使われていたファイルシステム。メモリを多く消費する分、パフォーマンスが向上している。 |
XFS | RHEL7およびCentOS7でデフォルトのファイルシステム。 |
VFAT | FATではファイル名が最大11文字(文字列8文字、拡張子3文字)の制約があったが、最大255文字まで扱えるようにしたファイルシステム。 |
Btrfs | Btrfsは耐障害性、修復機能が得意なファイルシステム。 |
tmpfs | 一時的にデータを格納するためのファイルシステム。tmpfsをマウントするだけで、パーティションのようにファイルの読み書きなどすることが出来る。メモリ上に作成されるため、一度電源を落としたり再起動するとファイルは消える。 |
オプション | 説明 |
---|---|
-t ファイルシステムタイプ | 作成するファイルシステムのタイプを指定する |
-c | ファイルシステム作成前に不良ブロックを検査し見つかったら表示する |
ファイルシステムをマウント
マウントとは、あるファイルシステムを別のファイルシステムに組み込んで、一つのファイルシステムとして扱うことです。マウントしたファイルシステムが結合されるディレクトリをマウントポイントといいます。
mount # 現在のマウント状況を表示
mount -t ファイルシステム名 デバイス名 マウントポイント # ファイルシステムを指定してマウント
mount -t ext4 /dev/sdb4/ /data # /dev/sdb4にあるext4パーテーションを/dataディレクトリにマウント
オプション | 説明 |
---|---|
-a | /etc/fstabに記述されているファイルシステムをすべてマウントする |
-t ファイルシステム | ファイルシステムの種類を指定する |
-o | マウントオプションを指定する |
再起動してもマウント状態を維持する
再起動してもマウントを維持したい場合は、/etc/fstab
を編集してからmountする必要があります。/etc/fstab
を編集せずにmountのみを行った場合は、再起動すると解除されてしまいます。
viエディタを使って必要な項目を記入します。
vi /etc/fstab
1 LABEL=cloudimg-rootfs / ext4 defaults 0 1
/dev/sdb4/ /data ext4 default 1 2 # 新しく追加
フィールド | 説明 |
---|---|
マウントするデバイスファイル名 | /dev/sdb4/ (マウントするデバイスファイル名を指定) |
マウントポイント | /data (マウントポイントとなるディレクトリの絶対パスを指定) |
ファイルシステムの種類 | ext4 |
マウントオプション | default |
dump | 1:する、2:しない(dumpコマンドによるバックアップ対象となるかどうかを指定) |
fsck | 0:しない、1:/に指定する数値、2以上:その他のファイルシステムに指定する数値(システム起動時にfsckコマンドでチェックを行う時の順序を指定) |
アンマウント
マウントを解除したいときはumount
コマンドを使用します。
umount オプション
umount オプション # デバイス名/マウントポイント
umount /data #/dataにマウントしたファイルシステムをアンマウント
umount /dev/sdb4 # /dev/sdb4のマウントを解除
umount -at xfs # xfsのファイルシステムをすべてアンマウント
オプション | 説明 |
---|---|
-a | /etc/mtab に記述されているファイルシステムを全てアンマウント |
-t ファイルシステム | 指定した種類のファイルシステだけをアンマウントする |
スワップ領域を作成
スワップ領域とはメモリ容量が足りなくなったときに一時的にハードディスクにメモリ内のデータの一部を移動させておく場所のことです。ハードディスクに移動させるデータはメモリの中でもあまり使われていないデータが対象とされます。システムには最低一つのスワップ領域が必要です。
mkswap /dev/sda4 # /dev/sda4にスワップ領域を作成する
swapon /dev/sda4 # スワップ領域を有効にする
swapon -s # スワップ領域の利用状況を表示する
オプション | 説明 |
---|---|
-a | /etc/fstab ファイルでスワップとして指定されているデバイスをすべて有効にする(ただしnoautoオプション付きのものは除く) |
-e | デバイスが存在しなければスキップする |
-V | 詳細な情報を表示する |
まとめ
今回は、ファイルシステムの作成方法、種類、マウント方法、スワップ領域について解説しました。
ファイルシステムとは、ディスク上に保存されるデータをファイルとして管理する仕組みです。Linuxでよく使われるファイルシステムには、ext4、XFS、Btrfsなどがあります。
ファイルシステムを作成するには、mkfs
コマンドを使用します。例えば、ext4 ファイルシステムを作成するには、mkfs.ext4 [デバイス名]
を実行します。
マウントとは、あるファイルシステムを別のファイルシステムに組み込んで、一つのファイルシステムとして扱うことです。マウント操作は、mount
コマンドを使用します。例えば、mount -t ext4 /dev/sdb1 /mnt/data
というコマンドで、ext4 ファイルシステムを/mnt/data
というディレクトリにマウントします。
アンマウントとは、マウントされているファイルシステムを取り外すことです。アンマウント操作は、umount
コマンドを使用します。例えば、umount /dev/sdb1
というコマンドで、/dev/sdb1
のマウントを解除します。
スワップ領域とは、メモリ容量が足りなくなったときに一時的にハードディスクにメモリ内のデータの一部を移動させておく場所のことです。スワップ領域を作成するには、mkswap
コマンドを使用し、swapon
コマンドでスワップ領域を有効化します。
これらの知識を持っておくことで、Linuxでのファイルシステムの操作が容易になります。
記事の内容は理解できましたか?