ファイルシステムとは、ストレージデバイス上のデータとメタデータの組織です。 Unix 系 OS でファイルにアクセスしたい場合、ファイルが存在するファイルシステムをマウントしなければなりません。
よく知られている Linux ファイルシステムは Ext、Ext2、Ext3、Ex4、BtrFS、ReiserFS、ZFS、XFS、JFS および Swap です。
ここでは、Linux でパーティションを作り、ファイルシステムを作り、ファイルシステムのマウント方法を学んでいきましょう。
ステップ 1: パーティションの作成
ファイルシステムを作成する前に、十分な未割り当てディスク領域 (または空きシリンダー) があることを確認してください。
ディスク領域を確認するには、fdisk -l
または parted print free
コマンドを使ってください。
新しいパーティションを作成するには、fdiskコマンドまたはpartedコマンドを使用します。
次の例では、fdiskコマンドを使用して、「/dev/sda」(最初のハードディスク)というハードディスクにパーティションを作成します。 e2labelコマンドはrootユーザで実行する必要があります。
次のコマンドは、ディスクパーティション名「/dev/sda3」にディスクデータファイルを設定します。
$ sudo e2label /dev/sda3 datafiles
ディスクラベルを表示するには、次のコマンドを実行します:
$ sudo e2labeldatafiles
Step 3: ファイルシステムの作成
Linuxでは、mkfs、 mkfs.ext2, mkfs.ext3, mkfs.ext4, mke4fs または mkfs.xfs コマンドでファイルシステムを作成することができます。 RHEL と CentOS システムでは、ext4 ファイルシステムを管理する e4fsprogs
という追加パッケージをインストールできます。
以下のコマンドは、ディスクパーティション ‘/dev/sda3’ に ext4 ファイルシステムを作成します。
$ sudo mkfs.ext4 /dev/sda3mke2fs 1.39 (29-May-2006)Filesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)26208 inodes, 104420 blocks5221 blocks (5.00%) reserved for the super userFirst data block=1Maximum filesystem blocks=6737100813 block groups8192 blocks per group, 8192 fragments per group2016 inodes per groupSuperblock backups stored on blocks:8193, 24577, 40961, 57345, 73729Writing inode tables: doneCreating journal (4096 blocks): doneWriting superblocks and filesystem accounting information: done
Step 3: ファイルシステムのマウント
ファイルシステムのマウントに最もよく使われる方法は、マウントコマンドによる手動か、あるいは /etc/fstab ファイルに項目を追加し、起動時にファイルシステムがマウントされるようにしておく方法です。
例:
$ sudo mount /dev/sda3 /data
上記の例では、’/dev/sda3′ パーティションを ‘/data’ ディレクトリにマウントしています。
以下のコマンドを実行することで確認できます。
$ sudo mount | grep -i sda3/dev/sda3 on /data type ext4 (rw)
また、umount コマンドを使用して /dev/sda3 をアンマウントできます。
$ sudo umount /data
Linuxシステムを再起動するたびに、’/data’ ファイルシステムが使用不能になります。
Linuxの起動後にこのようなマウントの繰り返しを避けるために、/etc/fstabファイルにエントリを追加して、再起動後も持続するようにする必要があります。
LABEL=datafiles /data ext4 defaults 1 2or/dev/sda3 /data ext4 defaults 1 2
fstab ファイルの例:
$ cat /etc/fstab#device name mountpoint Type of fs options dump fsckLABEL=/ / ext4 defaults 1 1LABEL=SWAP-sda2 swap swap defaults 0 0/dev/sda3 /data ext4 defaults 0 0
where,
device name: デバイス/パーティションの名前またはソースパス(マウントするもの) /dev/sda3
mount point.Device name: パーティションの名前またはソースパス(マウントするもの) /dev/sda3
discount point: マウントする場所)/data
type of the FS: ファイルシステムの種類 ext2, ext3, ext4, nfs, proc, etc.
options.FS: データが添付されているファイルシステム。 このオプションでは、特定のファイルシステムにセキュリティポリシーを適用することができます。 例えば、マウント時にバイナリの実行を禁止する設定や、ファイルシステムを読み取り専用にする設定などが可能です。 デフォルトでは、ファイルシステムは、rw, suid, rw, exec, auto, nouser, async.
dumpを持っています。 ファイルシステムのバックアップに使用されます. 0を指定すると、バックアップは無視されます。 1を指定するとファイルシステムのバックアップを行います.
Display Mount Information
マウントポイントやファイルシステムのサイズなど、マウントされたデバイスの情報を得るために df -h
または lsblk
コマンドを実行することができます。