ファイルシステム

May 21, 2018

ファイルシステムの種類

ファイルシステム 説明
ext2 Linux の標準ファイルシステム
ext3 ext2 にジャーナリング機能を加えたファイルシステム
ext4 ext3 を機能拡張したファイルシステム
ReiserFS 高速なジャーナリングファイルシステム
XFS SGI が開発したジャーナリングファイルシステム
JFS IBM が開発したジャーナリングファイルシステム
Btrfs 高度な機能を備えたファイルシステム
iso9660 CD-ROM のファイルシステム
msdos MS-DOS のファイルシステム
vfat SD カードや古い Windows で使われるファイルシステム
nfs NFS (Network File System)

ファイルシステムの作成

ファイルシステムの作成には mkfs 及び mke2fs コマンドが用いられる。

$ sudo mkfs -t xfs /dev/xvdc1   
meta-data=/dev/xvdc1             isize=512    agcount=4, agsize=32000 blks  
         =                       sectsz=512   attr=2, projid32bit=1  
         =                       crc=1        finobt=0, sparse=0  
data     =                       bsize=4096   blocks=128000, imaxpct=25  
         =                       sunit=0      swidth=0 blks  
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1  
log      =internal log           bsize=4096   blocks=855, version=2  
         =                       sectsz=512   sunit=0 blks, lazy-count=1  
realtime =none                   extsz=4096   blocks=0, rtextents=0  
  
$ sudo mke2fs -t ext4 /dev/xvdc2  
mke2fs 1.42.12 (29-Aug-2014)  
Creating filesystem with 512000 1k blocks and 128016 inodes  
Filesystem UUID: 534eedef-c746-47f5-97f9-8d51b861078d  
Superblock backups stored on blocks:   
	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409  
  
Allocating group tables: done                              
Writing inode tables: done                              
Creating journal (8192 blocks): done  
Writing superblocks and filesystem accounting information: done   

また、パーティション上にスワップ領域を作成するには、mkswap コマンドを用いる。

$ sudo mkswap /dev/xvdc5  
Setting up swapspace version 1, size = 511996 KiB  
no label, UUID=a79b07d1-0968-4102-83a9-fe4d3fc061ce  

ファイルシステムの管理

tune2fs コマンドは ext2/3/4 ファイルシステムの様々なパラメータを設定する。(fsck コマンドでチェックする間隔など)

ファイルシステム 説明
-c 回数 チェック無しでマウントできる最大回数
-i 時間 ファイルシステムをチェックする最大の時間間隔
-j ext2 ファイルシステムを ext3 に変換
-L ファイルシステムのボリュームラベルを設定する

dumpe2fs コマンドではファイルシステムの各種情報を表示することができる。

$ sudo dumpe2fs /dev/xvda1 | head -30  
dumpe2fs 1.42.12 (29-Aug-2014)  
Filesystem volume name:   /  
Last mounted on:          /  
Filesystem UUID:          ae07ceaf-f30e-4d65-a9d0-b2c531a3ed06  
Filesystem magic number:  0xEF53  
Filesystem revision #:    1 (dynamic)  
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize  
Filesystem flags:         signed_directory_hash   
Default mount options:    user_xattr acl  
Filesystem state:         clean  
Errors behavior:          Continue  
Filesystem OS type:       Linux  
Inode count:              19660800  
Block count:              78642683  
Reserved block count:     20966  
Free blocks:              77036770  
Free inodes:              19618239  
First block:              0  
Block size:               4096  
Fragment size:            4096  
...  

XFS

RHEL 7 や CentOS 7 では XFS が標準のファイルシステムとなっている。最大ファイルシステムサイズや最大ファイルサイズが 8 EB と大きなサイズに対応している。
XFS では以下のコマンドを用いて操作が可能。

コマンド 説明
mkfs.xfs XFS ファイルシステムを作成する
xfs_info XFS ファイルシステムの情報を表示する
xfs_db XFS ファイルシステムのデバッグを行う
xfs_repair XFS ファイルシステムをチェックする
xfs_admin XFS ファイルシステムのパラメータを変更する
xfs_fsr XFS ファイルシステムのデフラグを行う
$ xfs_info /dev/xvdc1  
meta-data=/dev/xvdc1             isize=512    agcount=4, agsize=32000 blks  
         =                       sectsz=512   attr=2, projid32bit=1  
         =                       crc=1        finobt=0 spinodes=0  
data     =                       bsize=4096   blocks=128000, imaxpct=25  
         =                       sunit=0      swidth=0 blks  
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1  
log      =internal               bsize=4096   blocks=855, version=2  
         =                       sectsz=512   sunit=0 blks, lazy-count=1  
realtime =none                   extsz=4096   blocks=0, rtextents=0  
  

 © 2023, Dealing with Ambiguity