パーティションとは
Linuxではハードディスクを利用するために、パーティションと呼ばれる
ハードディスクを論理的に分割して使用することができます。
ディスク全体をひとつの領域として使用したい場合は全容量で
一つのパーティションを作る必要がありますが、一つのディスクを
複数のパーティションに分割した場合、それぞれのパーティションには
異なるファイルシステムを作成することができます。
ディスクのパーティショニングよりシステムやデータに対するバックアップや、
メンテナンス等でシステム管理が柔軟に行えるようになり、
障害時には、障害が発生したパーティションのみをリカバリする事で、
別パーティションに影響を与えることがありません。
パーティションの種類には3つあります。
・基本パーティション
ディスクには先ず、基本パーティションが割り当てられ、
1つのディスクは最大4つの基本パーティションに分割できます。
基本パーティションにはファイルシステムを作成する事ができ、
デバイスファイル名は/dev/xxx1~/dev/xxx4となります。
・拡張パーティション
論理パーティションを作成するためのパーティションで、
基本パーティションのうち1つを拡張パーティションとして割り当てます。
デバイスファイル名は/dev/xxx1~/dev/xxx4のうち、拡張パーティションと
して割り当てたデバイスになります。
・論理パーティション
パーティションが5つ以上必要なり、基本パーティションだけではパーティションが
足りない場合、拡張パーティション内に論理パーティションを作成します。
それぞれの論理パーティションにはファイルシステムを作成することが出来ます。
デバイスファイル名は、基本パーティション数が4つでなくても論理パーティションは
/dev/xxx5~となります。
必要なパーティションとルートファイルシステム
Linuxでは用途に応じて、インストール時にディスクパーティションを割り当てます。
パーティションの割当はユーザにて決定することができますが、
以下の2つが最低限必要となります。
・ルートパーティション
最上位のディレクトリであるルートディレクトリ(/)を割り当てた
パーティションのことで、その配下に様々なディレクトリやファイルが含まれています。
・スワップ領域
仮想メモリと呼ばれる、物理メモリに収まらなかった情報を
一時的に格納するメモリとして利用される領域です。
ルートファイルシステムとは
Linuxのディレクトリ構造は’/’(ルート)ディレクトリを頂点とする、ツリー状の階層構造になります。
この、/ディレクトリを含む、ファイルシステムを「ルートファイルシステム」と呼びます。
最低限必要なパーティションのみで作成した場合、全てのディレクトリがルートパーティションに
収まることになります。
しかし、通常はディレクトリの用途に応じて、特定のディレクトリを別のパーティションに割り当てます。
特に読み込みや書き込みが頻繁に発生するディレクトリに専用のパーティションを割り当てる事が多いです。
専用のパーティションを割り当てることによって、障害時の被害を、障害が発生したパーティション内に
抑えられる可能性があります。また、Linuxでもパーティション毎のバックアップやリストアが可能ですので、
バックアップしたいディレクトリに専用のパーティションに割り当てておくと、それらの作業も容易になります。
ルートファイルシステムにはシステム起動に必要な以下のディレクトリが含まれていなければなりません。
・/bin、/sbin:システムに必要なコマンドがあります。
・/etc:システムに必要な設定ファイルを格納します。
・/lib:システムに必要なライブラリが可能されます。
・/dev:デバイスファイルを格納します。
また、Linuxの標準的なディレクトリ構成(FHS)(*)に沿った、
以下のディレクトリは個別にパーティションを割り当てる事が推奨されています。
*FHS(File Hierarchy Standsard)はLinuxのディレクトリ構造の規格です。
ディレクトリ | 説明 |
/home | 一般ユーザが利用するディレクトリです。 ユーザによる書込みが頻繁に発生するためにパーティションを切る事があります |
/var | 各種ログ、メールスプール等の更新頻度が高いファイルを格納する領域です システムによる書込みが頻繁に発生するためにパーティションを切る事があります |
/usr | ユーザが共有するプログラムや設定ファイルを格納する領域です ユーザによる読み込みが頻繁に発生するので別パーティションにすることが推奨されます |
/boot | ブートローダ用の領域でハードディスクの先頭の領域に配置する為にパーティションを切る事があります。 |
/tmp | ユーザ共用の一時ファイル用の領域で、一時ファイルが多くなる 共有サーバ等では別パーティションにすることがあります |
ディスクパーティションのレイアウト
Linuxにてディスクを効率よく使用するためには、システムの用途、
ディスク容量に注意して、パーティションのレイアウトを設計します。
・スワップ領域は実メモリと同程度~2倍程度確保する
・ファイルサーバなど多くの一般ユーザが利用する場合は、/usr,/home,/tmpを多く取る
・Web、メールサーバ等では/varを多く取る
LVM(logical volume manager=論理ボリュームマネージャ)
最近のLinuxではLVMと言われる仕組みを利用して、パーティションを作成することが多くなっています。
LVMとは物理的な記憶デバイスの領域を複数まとめてボリュームグループと呼ぶ、仮想的ディスクを作成し、
そこから仮想的なパーティション領域を設定することで柔軟に記憶領域を管理することができるようにする
仕組みです。