ストレージをLinuxから利用する方法
本記事では、Linuxがコンピュータに接続されたHDD/SSD等のストレージ(記憶領域)に読み書きできるようになるまでの流れを整理する。iSCSI等のストレージプロトコルや、NFSなどのリモートストレージなどの内容には触れない。
ストレージをLinuxから利用するまでのステップ
HDDやSSD等のストレージをLinux上から利用するためには、ストレージを物理的にシステムに接続してからいくつか以下のステップを踏む必要がある*1。
パーティションとは
パーティションとはストレージを論理的に分割した際のここの領域のことである*2。ディスク全体をひとつの領域とする場合にも、全容量を割り当てたひとつのパーティションを作る必要がある(下部の「補足:ストレージ全体を一つの領域とした場合」も参照のこと)。
lsblk
コマンドでパーティションの種類を確認することができる。デバイスsdaはディスク装置で、sda1やsda2はパーティションであることが確認できる。
[root@nuc-centos8 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 1.8T 0 disk |-sda1 8:1 0 200M 0 part /boot/efi |-sda2 8:2 0 1G 0 part (省略)
パーティションに関する操作(作成、変更等)には fdisk
というコマンドが利用できる。
フォーマットとは
フォーマットとは、ファイルシステムの種類に合わせて記憶領域を構造化することである*3
各パーティションはただの領域であり、それだけではデータの読み書きに利用することができない。
パーティションをファイルシステムで「フォーマット」することで、ファイルを単位としたデータの管理が行えるようになる。
この操作にはファイルシステムを作成するコマンドが用意されているので(mkfs
等)、それを利用する。
マウントとは
抽象的な定義としては、コンピュータに接続したストレージをOS等のソフトウェアに認識させ、読み書き可能な状態にすることを指す。より具体的には、ストレージ上のファイルの読み書きをルートファイルシステム上のアクセス可能な位置に配置し統合することである。
下図のようにフォーマット済みのファイルシステムをルートファイルシステム(=システムのファイルシステム)に統合する。この図ではすでにストレージ上にデータがある場合を書いているが、まっさらなストレージをマウントするケースも同じである。また、種類の違うファイルシステムでもマウント可能である。
マウント操作には mount
コマンドを使う。マウントを解除する場合はアンマウント(umount
コマンド)を利用する。
まとめ
ストレージをLinuxから利用するにはパーティションを切り(fdisk)、何らかのファイルシステムでフォーマットし(mkfs)、マウントする(mount)というステップが必要である。 コマンドの流れだけ書くと、fdisk → mkfs → mountとなる。
補足:ストレージ全体を一つの領域とした場合
あえて、ストレージ全体を一つの領域とする(/bootやswap領域も分けない)ようにインストールを行っても、自動でパーティションが構成されていることがわかる。ルートファイルシステム/
は1つのパーティションになっているが、対応するデバイスsda1はパーティションである(分割前のsdaではない)。
関連記事
tanke25616429.hatenablog.com tanke25616429.hatenablog.com tanke25616429.hatenablog.com
参考にしたもの
パーティション - Wikipedia hnavi.co.jp eng-entrance.com e-words.jp qiita.com
Linux - ファイルシステムのマウントとアンマウント Linux - パーティションとファイルシステムの作成 Ping-t LPIC/LinuC Lv2-201(Ver4.5) Linuxファイルシステムの操作と保守