ファイル システムの種類
ファイルシステムを作成すると、デバイスに情報が書き込まれ、空き領域の順序が作成されます。このファイル システム関連のデータは、スペースのごく一部を消費します。ディスク ドライブの残りのスペースは、ブロックと呼ばれるサイズが一定の小さなセグメントに分割されます。 Linux は多くのファイル システム タイプをサポートしており、その一部を以下に説明します。
ファイルシステム | 説明 |
---|---|
ext2 | 固定ディスクとリムーバブル メディアの高性能 |
ext3 | ext2 のジャーナリング バージョン |
ext4 | より大きなファイルとファイル システム サイズをサポート |
vfat | Windows と Linux の間でファイルを共有するときに便利な MS-DOS ファイル システム |
XFS | 高性能ジャーナリング ファイル システム |
Btrfs | 大規模ストレージ システムのスケーラビリティ要件に対応 |
ファイルシステムの作成
デバイスまたはハード ディスク パーティションに Linux ファイル システムを構築するコマンドは mkfs です。コマンドの構文は次のとおりです:
# mkfs [options] device
mkfs コマンドは、実際には、mkfs.ext2 や mkfs.ext4 などのさまざまなファイル システム ビルダー ユーティリティのフロント エンドです。これらのユーティリティは、コマンド ラインから直接実行できます。 mkfs ラッパーを使用する場合は、-t fstype オプションを含めて、構築するファイル システムのタイプを指定します。指定しない場合、デフォルトのファイル システム タイプである ext2 が作成されます。
サポートされているどのファイル システム タイプがインストールされているかを確認するには、ls /sbin/mkfs* コマンドを使用します。
# ls -lrt /sbin/mkfs* -rwxr-xr-x. 1 root root 28624 Jun 10 2014 /sbin/mkfs.fat lrwxrwxrwx. 1 root root 8 Jan 7 2015 /sbin/mkfs.msdos -> mkfs.fat lrwxrwxrwx. 1 root root 8 Jan 7 2015 /sbin/mkfs.vfat -> mkfs.fat -rwxr-xr-x. 4 root root 96296 Aug 3 2017 /sbin/mkfs.ext4 -rwxr-xr-x. 4 root root 96296 Aug 3 2017 /sbin/mkfs.ext3 -rwxr-xr-x. 4 root root 96296 Aug 3 2017 /sbin/mkfs.ext2 -rwxr-xr-x. 1 root root 368464 Aug 4 2017 /sbin/mkfs.xfs -rwxr-xr-x. 1 root root 375240 Aug 6 2017 /sbin/mkfs.btrfs -rwxr-xr-x. 1 root root 37104 Dec 1 23:28 /sbin/mkfs.minix -rwxr-xr-x. 1 root root 36984 Dec 1 23:28 /sbin/mkfs.cramfs -rwxr-xr-x. 1 root root 11520 Dec 1 23:28 /sbin/mkfs
mkdosfs、mkfs.msdos、および mkfs.vfat ファイルは、mkfs.fat へのシンボリック リンクです。
mkfs の使用
mkfs コマンドを使用して作成されるデフォルトのファイル システム タイプは ext2 です。前述のように、mkfs は他のファイル システム ビルド ユーティリティを呼び出すラッパーです。したがって、次のコマンドはいずれも、指定したデバイスに ext2 ファイル システムを作成します:
# mkfs /dev/xvdd1 # mke2fs /dev/xvdd1 # mkfs.ext2 /dev/xvdd1
ext3 ファイル システムを作成するには、次のいずれかのコマンドを使用します:
# mkfs –t ext3 /dev/xvdd1 # mke2fs –t ext3 /dev/xvdd1 # mkfs.ext3 /dev/xvdd1
ext4 ファイル システムを作成するには、次のいずれかのコマンドを使用します:
# mkfs –t ext4 /dev/xvdd1 # mke2fs –t ext4 /dev/xvdd1 # mkfs.ext4 /dev/xvdd1
構成ファイル
ブロック サイズ、フラグメント サイズ、グループごとのブロック、ジャーナル オプション、inode 数、およびその他のパラメータをカスタマイズするためのオプションが多数用意されています。オプションを含めずに、/etc/mke2fs.conf で指定されているデフォルト 構成ファイルが使用されます。
サンプル /etc/mke2fs.conf ファイルファイル システム ラベル
ファイル システム ビルド ユーティリティの便利なオプションは -L です 名前オプション。これにより、パーティションにラベルが割り当てられます。このラベルは、ファイル システムをマウントするときにデバイス名の代わりに使用できます。ラベルの最大サイズは 16 文字 に制限されています .既存のファイル システムの場合、e2label コマンドは、ラベルを表示または設定するために使用されます。
ファイル システムには、ユニバーサル ユニーク ID (UUID) が自動的に割り当てられます .ファイルシステムのマウント時に UUID を使用できます。 UUID、ラベル、ファイル システム タイプを表示するには、blkid を使用します 指図。次の例は、ラベルの有無にかかわらず、さまざまなファイル システムを作成し、blkid コマンドを使用して情報を表示する方法を示しています。 ext2 ファイル システムを作成して情報を表示するには、次のように入力します。
# mkfs /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: UUID="41bae7c3-396a-436d-9764-d27d4ca3f17b" TYPE="ext2"
ext3 ファイル システムを作成して情報を表示するには、次のように入力します。
# mkfs -t ext3 /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: UUID="c8e958f4-e5d0-4404-8a9a-2cea24675fcd" SEC_TYPE="ext2" TYPE="ext3"
ext4 ファイル システムを作成し、ラベル名を割り当て、情報を表示するには、次のように入力します。
# mkfs -t ext4 -L "Test Label" /dev/xvdf1 # blkid /dev/xvdf1 /dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"
ファイル システムのマウント
異なるパーティション上のファイル システムと、CD、DVD、または USB フラッシュ ドライブなどのリムーバブル デバイスにアクセスするには、ディレクトリ階層に接続する必要があります。パーティションまたはデバイスを接続するには、マウント ポイントを作成する必要があります。マウント ポイントは、mkdir コマンドで作成された単なるディレクトリです。ディレクトリまたはマウント ポイントが作成されたら、mount コマンドを使用してパーティションを接続します。マウント コマンドの構文は次のとおりです。
# mount [options] device_file mount_point
次の例では、マウント ポイント (/test) を作成し、パーティションをアタッチします:
# mkdir /test # mount /dev/xvdf1 /test
または、UUID またはラベルを参照して、パーティションまたはデバイスをマウントします。次の例では、blkid コマンドを使用して UUID とラベルを表示し、それぞれを参照してパーティションをマウントします。
# blkid /dev/xvdf1 /dev/xvdf1: LABEL="Test Label" UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" TYPE="ext4"
# mount LABEL="Test Label" /test # mount UUID="687eb83f-c16f-4fa9-bb49-1621eed3a35d" /test
オプションを指定せずにマウント コマンドを実行すると、現在アタッチされているすべてのファイル システムが表示されます:
# mount | grep test /dev/xvdf1 on /test type ext4 (rw,relatime,seclabel,data=ordered)
この例では、/dev/xvdf1 パーティションが /test にマウントされています。ファイル システム タイプは ext4 で、読み取りと書き込みの両方のためにマウントされます。 df コマンドは、マウントされたファイル システムも表示します。例:
# df -hP /test Filesystem Size Used Avail Use% Mounted on /dev/xvdf1 923M 2.4M 857M 1% /test
proc ファイル システムの情報には、マウントされたファイル システムが表示されます。例:
# cat /proc/mounts | grep test /dev/xvdf1 /test ext4 rw,seclabel,relatime,data=ordered 0 0
マウント オプション
マウント オプションを指定するには、–o を使用します flag の後に、コンマで区切られたオプションの文字列が続きます。以下は、mount コマンドで使用可能なオプションの一部です:
- オート :mount –a コマンドを使用して、ファイル システムを自動的にマウントできるようにします
- ループ :イメージをループ デバイスとしてマウントします
- noauto :mount –a コマンドを使用したファイル システムの自動マウントを禁止します
- noexec :ファイル システムでのバイナリ ファイルの実行を禁止します
- ノーザー :通常のユーザー (root 以外) によるファイル システムのマウントとアンマウントを禁止します
- 再マウント :ファイル システムが既にマウントされている場合は、再マウントします
- ろ :ファイル システムを読み取り専用でマウントします
- 前 :読み取りと書き込みの両方のためにファイル システムをマウントします
- ユーザー :通常のユーザー (root 以外) がファイル システムをマウントおよびアンマウントできるようにします
たとえば、/test マウント ポイントに /dev/xvdf1 パーティションを読み取り専用としてマウントし、root ユーザーだけがファイル システムのマウントとアンマウントを実行できるようにするには、次のように入力します。
# mount –o nouser,ro /dev/xvdf1 /test
ループ デバイスを使用して ISO イメージをマウントするには (ISO イメージが現在のディレクトリに存在し、マウント ポイントが存在すると仮定します)、次のように入力します。
# mount -o ro,loop rhel7-x86_64-dvd.iso /media/cdrom
ジャーナリング マウント オプション
ext3 および ext4 ファイル システムには、-o オプションで設定できる 3 つのジャーナリング レベルがあります。 オプションをマウント コマンドまたは /etc/fstab のオプション セクションに追加:
- data=journal :最高レベル。最もジャーナリングを行うもの。これにより、すべてのデータとメタデータの変更に関するジャーナル エントリが書き込まれます。すべてのデータは、メイン ファイル システムに書き込まれる前にジャーナルにコミットされます。
- data=ordered :デフォルトのモード。すべてのデータは、メタデータがジャーナルにコミットされる前に、メイン ファイル システムに直接強制的に送信されます。
- data=writeback :最低レベル。データの順序は保持されません。メタデータがジャーナルにコミットされた後、データをメイン ファイル システムに書き込むことができます。
ファイル システムのアンマウント
ファイル システムをアンマウントするには、umount コマンドを使用します 指図。パーティション名、デバイス名、またはマウント ポイントが引数として使用されます。例:
# umount /dev/xvdd1 # umount /test
/etc/fstab ファイル
/etc/fstab ファイルはファイル システム マウント テーブルと呼ばれ、mount コマンドがデバイスをマウントするために必要なすべての情報が含まれています。新しいファイル システムを追加する場合は、/etc/fstab に適切なエントリを作成して、ブート時にファイル システムがマウントされるようにします。以下は、/etc/fstab ファイル内のエントリの例です:
# cat /etc/fstab LABEL=centos_root / ext4 defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 UUID=687eb83f-c16f-4fa9-bb49-1621eed3a35d /test ext4 defaults 0 0
最初の列はマウントするデバイスです。デバイス名は変更される可能性があるため、デバイス名の代わりに UUID またはラベル名を使用する必要があります。 2 番目の列は、スワップ パーティション エントリを除くマウント ポイントです。 3 番目の列は、ファイル システムの種類です。 4 番目の列は、マウント オプションを指定します。 5 列目は dump コマンドで使用されます。数値 1 はファイル システムをダンプすることを意味し、0 はファイル システムをダンプする必要がないことを意味します。最後の列は、再起動時にファイル システム チェックを実行する順序を決定するために fsck プログラムによって使用されます。ルート ファイル システムには値 1 を指定し、他のファイル システムには値 2 を指定する必要があります。値 0 はファイル システムをチェックしません。