見出し画像

Linucメモ⑦ファイルシステムの作成と管理

ファイルシステム

  • ファイルとしてディスク上のデータを扱う仕組み。

  • ブロックという単位でデータを保存し、管理する。

  • Linuxのファイルシステムでは、「ファイルの中身(データ)」と「ファイルの属性や管理情報」は別々に保存している。後者はiノードと呼ばれる管理領域。

ファイルシステムの種類

  • ext2 標準のファイルシステム

  • ext3 ext2にジャーナリング機能を加えたファイルシステム

  • ex4 ext3を機能拡張したファイルシステム

mkfsコマンド

パーティション上にファイルシステムを作成。
ファイルシステムを指定してファイルシステムを作成。
(デフォルトはext2)

[root@CentOS dev]# mkfs -t ext4 /dev/sda1

mke2fsコマンド

mkfsコマンド同様パーティション作成コマンド。
(デフォルトはext2)
mke2fs -j ext3ファイルシステムを作成。

Btrfs作成

  • Btrfs(B-tree file system)はLinux向けの新しいファイルシステムで、耐障害性に優れ、いろんな機能搭載している。

  • パーティションやディスクを物理ボリュームという。
    複数の物理ボリュームをまとめて1つの仮想的なボリュームを作成できる。

  • 複数の物理ボリュームにまたがってファイルシステムを作成できる

  • スナップショットを作成できる。スナップショットを利用すれば、ファイルシステムをアンマウントすることなくバックアップがとれる。

  • ファイルシステムを分割したサブボリュームを利用できる。

  • mkfs.btrfsコマンドで作成できる

XFSの作成

  • RedHat系のOSで標準利用されている。

  • 最大ファイルシステムサイズや最大ファイルサイズが8Eバイトまで対応している

  • ファイルシステムの操作をログに記録する仕組みがある。

  • mkfs.xfsコマンドで作成できる

スワップ領域の作成

  • スワップ領域は、システムの物理メモリが足りない時に、メモリの一部を書き出して強制的にメモリの空きをつくるために利用される領域。

  • mkswapコマンドで作成できる。

  • スワップ領域を有効にするときはswaponコマンドを使用

  • スワップ領域を無効にするときはswapoffコマンドを使用

ファイルシステム情報の場所

/etc/fstabファイルにファイルシステム情報が記述されている。

[root@CentOS etc]# cat fstab

#
# /etc/fstab
# Created by anaconda on Sun Apr  9 13:12:20 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=e095205f-e7b9-43ec-9581-97bf49ca06ee /                       xfs     defaults        0 0
UUID=b8156780-a616-442b-af35-2f4318ddfc63 /boot                   xfs     defaults        0 0
UUID=477f461f-f6ef-48b0-b657-a659798daf64 swap                    swap    defaults        0 0

UUID(Universally Unique Identifier)

デバイスを識別するために使われるID。
デバイスに割り当てられており、blkidコマンドでデバイスファイルとの対応を確認できる

[root@CentOS etc]# blkid
/dev/sda1: UUID="b8156780-a616-442b-af35-2f4318ddfc63" TYPE="xfs"
/dev/sda2: UUID="477f461f-f6ef-48b0-b657-a659798daf64" TYPE="swap"
/dev/sda3: UUID="e095205f-e7b9-43ec-9581-97bf49ca06ee" TYPE="xfs"

ファイルシステムのマウント

ディスク上のファイルシステムを利用するためには、最初にマウントする必要がある。
あるファイルシステムに別のファイルシステムを組み込んで、全体として一つのファイルシステムとして扱えるものにすることをマウントという。
マウントしたファイルが結合されるディレクトリをマウントポイントという。

mount

ファイルシステムをマウントするコマンド。
オプション指定せずに実行するとマウント状況を表示できる。

[root@CentOS etc]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=915584k,nr_inodes=228896,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio,net_cls)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)

umount

マウントを解除するコマンド。
umount -a /etc/mtabに記述されているファイルシステムをすべてアンマウントする。
umount -t ファイルシステム 指定したファイルシステムだけアンマウントする。

※umountコマンドは「デバイス名」か「マウントポイント」を指定すればよい。もしくは、ファイルシステムを指定する方法もある。
両方選択するとエラーになるので注意!
umount -at xfs、umount /dev/sdb2、umount /data

その他

  • inodeとは、Linuxファイルシステムにおいてファイルの属性(パーミッションや所有ユーザなどの情報)を格納するものです。全てのファイルには対応するinode番号があります。
    動的inodeの機能とは、ファイル作成時にinode番号を動的に割り当てる機能のことです。inodeを動的に割り当てるため、inodeの数に制限はありません。
    inodeに制限があるファイルシステム↓↓↓↓

    • ext2

    • ext3

    • ext4

  • dumpフラグ
    そのファイルシステムをdumpコマンド(バックアップ用のコマンド)の対象とするかどうかを「0」か「1」で書きます。「0」では対象外となり、「1」では対象となります。

  • fsckフラグ
    起動時に自動的に行われるfsck(ファイルシステムチェック)の優先度を数字で書きます。数字が小さいものから順にチェックされますが、0は例外で、チェックを省く指定になります。

  • inuxのルートファイルシステムに使用できるファイルシステム

    • ext2、ext3、ext4

    • XFS

    • JFS

この記事が気に入ったらサポートをしてみませんか?