ファイルシステムを作ってみよう!

ファイルシステムを作ってみよう!

2016.04.06

前回のコラムでは、パーティションの作成方法を紹介いたしました。 今回は、ファイルシステムについてご紹介します。今回も、RHEL7 の環境で実行の流れを紹介します。ファイルシステム作成は、RHEL(Red Hat Enterprise Linux)のコアの資格である、RHCSA(Red Hat Certified System Administrator)の資格取得にも必要な知識ですので、資格取得されたい方は実際に実行して確認してみましょう。

ファイルシステムとは

前回までの記事はこちらから。

ファイルシステムとは、データをファイルという単位で扱うための仕組みです。
ファイルシステムをパーティション上に作ることで、「ファイル」 という単位で扱うことができるようになります。

検証環境

今回、ファイルシステム作成を行うRed Hatのバージョンとカーネルは以下の通りです。

# cat /etc/redhat-release
 Red Hat Enterprise Linux Server release 7.0 (Maipo)
 # uname -r
 3.10.0-123.el7.x86_64

パーティションの確認

使用するマシンのディスクは fdisk コマンド の -l オプションで確認します。
この検証環境では、Red Hatが提供している KVM という仮想化環境で試しているため、/dev/vdX となります。X は a が 1本目、b が 2本目 をあらわします。
今回は、/dev/vdb上にあるパーティションにファイルシステムを作成します。

# fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00013f3e
Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    20970332    10484142+  83  Linux
Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xbbd294ad
 Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048      206847      102400   83  Linux
/dev/vdb2          206848      411647      102400   83  Linux
#

ファイルシステムの確認

ファイルシステムが存在しているパーティションに再度ファイルシステムを作成すると、そこに保存していたデータにはアクセスできなくなります。

念のため、ファイルシステムが存在しているか 確認 してみましょう。
ファイルシステムが存在しているかの確認は、blkidコマンド を使用します。

# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"

上記の結果より、/dev/vda1 には xfsファイルシステム が存在していますが、/dev/vdb には ファイルシステムは存在していない ことがわかります。
ファイルシステムの種類とコマンド

ファイルシステムの作成は、mkfs コマンド を使用します。
入力形式は以下の通りです。

# mkfs -t ファイルシステムタイプ デバイス名

RHEL7のハードディスク上に使用されるファイルシステムの代表的なものは以下の2つです。

ext4

RHEL6においてインストール時のデフォルトのファイルシステム
RHEL7でもサポート

xfs

RHEL7 において OSインストール時のデフォルト のファイルシステム

それぞれのファイルシステムの特徴と違いについては Red Hat社のドキュメント でご確認ください。
ファイルシステムの作成

では、以下のパーティションにそれぞれのファイルシステムを作成してみます。

  • /dev/vdb1 – ext4
  • /dev/vdb2 – xfs
# mkfs -t ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
 8193, 24577, 40961, 57345, 73729
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
# mkfs -t xfs /dev/vdb2
meta-data=/dev/vdb2              isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

再度ファイルシステムの確認

ではもう一度、blkidコマンド を使用して、ファイルシステムができあがっているか確認します。

# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 
/dev/vdb1: UUID="237ec9c2-4f8e-495e-b6c7-318cc7b863e3" TYPE="ext4" 
/dev/vdb2: UUID="c81e8f27-0231-481b-aa7a-1f60a499ac65" TYPE="xfs"

まとめ

ここまでの流れをまとめると以下のようになります。

# mkfs -t ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
 8193, 24577, 40961, 57345, 73729
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
# mkfs -t xfs /dev/vdb2
meta-data=/dev/vdb2              isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" 
/dev/vdb1: UUID="237ec9c2-4f8e-495e-b6c7-318cc7b863e3" TYPE="ext4" 
/dev/vdb2: UUID="c81e8f27-0231-481b-aa7a-1f60a499ac65" TYPE="xfs"

mkfs コマンドでファイルシステムを作成したパーティションは、実はこのままではファイルシステムを使うことはできません。作成したファイルシステムは、マウント というものをすることで利用できるようになります。これら全ての一通りの流れを実機を通して確認できるトレーニングもありますので、体系的にストレージの管理を学びたい、サポートを受けながら実機操作をしたい、という方、ぜひチェックしてみてください。

トレーニングや資格試験について

以下に、Linuxのシステム管理のおすすめトレーニングをご紹介します。

システム管理が始めての方
Red Hat システム管理 I
・Red Hat システム管理 II 試験付き / コースのみ

Linux、UNIXを使用したシステム管理を1~3年経験したことがある方
・RHCSA 速習 試験付き / コースのみ

トレーニングなしで試験のみ受験したい方 ※試験は実技試験のみ
Red Hat 認定システム管理者 (RHCSA) 認定試験

記事は、予告なく変更または削除される場合があります。
記載された情報は、執筆・公開された時点のものであり、予告なく変更されている場合があります。
また、社名、製品名、サービス名などは、各社の商標または登録商標の場合があります。