第 4 章 ディスク管理
4.2 パーティション
4.2.2 パーティション分割候補のディレクトリと分割例
Linuxをサーバーとして運用する場合、どのようにパーティションを分割するのがいいのでしょうか。また、そのサ
イズはどれだけ確保すればいいのでしょうか。一般的には、次に示すようなディレクトリがパーティション候補として 挙げられます。
• swap • /home
• /boot • /var
• /(ルート) • /tmp
• /usr • /opt
• diskdump •
Linuxで一般的に利用されるディレクトリは、FHS(Filesystem Hierarchy Standard)1によって定義されています。
ここでは、パーティション候補として挙げた各ディレクトリの役割について説明します。
• swap
Linuxのスワップパーティションです。Linuxのメモリ管理システムは、ページと呼ばれる単位(Intel 386系CPU の場合、1ページは通常4KB)で、メモリを管理しています。システムに搭載しているメモリよりも多くのメモリが 必要になる場合、参照頻度の低いページをスワップパーティションに移動します。よって、システムに搭載して いるメモリのサイズと、スワップパーティションとして用意したサイズの合計が、仮想記憶領域(OSが利用できる メモリ領域)のサイズになります。Linuxでは、ファイルの生存期間の観点から、通常スワップパーティションは 他のファイルシステムとは別のパーティションに確保します。実際にスワップパーティションがどれぐらい必要に なるかは、システム設計の範疇に含まれます。運用するシステムの高負荷時に必要な仮想記憶領域のサイズ を想定し、メモリサイズとスワップサイズの合計がその範囲より大きければ問題ないでしょう。
• /boot
Linuxの起動に必要なファイルがこのディレクトリ配下に存在します。したがって、ブートローダからこの配下の
ファイルが確実に読めなければ、システムを起動できません。BIOSの仕様や不具合によってブートに必要な データを読めないこともありますので、/boot は別パーティションに確保して、なるべくディスクの先頭に位置 させておくことを推奨します。また ソフトウェアRAID を使用して、/boot パーティションもソフトウェアRAID の対象範囲に含めた場合、正常にブートできないことがあります。このようなことを考慮して、/boot を独立し たパーティションとして、ソフトウェアRAIDの制御対象外にするのがいいでしょう。
MIRACLE LINUXでは、/boot パーティションには、ブートに必要なデータとカーネルイメージがインストール されるので、カーネルのアップデートなどに備えて、32MB以上の容量を確保しておくことを推奨します。
1 http://www.pathname.com/fhs/index.html
• /(ルート)
「ルートディレクトリ」と呼ばれる、システム全体のファイルシステムの最上位のディレクトリです。Linux では、こ のパーティションが必ずどこかに確保されている必要があり、システム起動時にマウントされます。システムに必 要な情報ファイルや、システムの起動に必要なコマンドがこのパーティション内に存在します。ファイルシステム の最上位に位置するので、他のパーティションとの関係によって、パーティションとして必要な容量が変わりま す。
• /home
通常、ユーザーのホームディレクトリがこの配下に置かれて、ユーザーのデータファイルなどがここに置かれる ことになります。ファイルの生存期間は中程度でしょう。このディレクトリも独立したパーティションに確保すること が望ましいでしょう。ユーザーが作成したファイルが格納されるので、運用期間が経過するにつれて、ディスク 使用量が増加していくことが一般的です。
• /usr
OSのプログラムやライブラリがこのディレクトリ配下にインストールされます。ファイルの生存期間が比較的長い ものが集まっており、性能の観点から独立したパーティションを確保することが望まれます。必要なパーティショ ンサイズは、インストールするパッケージによって変わりますが、MIRACLE LINUXのインストール時にすべて のパッケージをインストールした場合、4GB程度が必要となります。しかし、システム運用時には、年々新たな パッケージやプログラムをインストールすることになるため、/homeと同様に /usr も増加していくことが一般的 です。よって、あらかじめ余裕を持って領域を確保しておきましょう。また、/usr/local ディレクトリには、ユー ザーが独自にインストールしたソフトウェアのプログラムやライブラリが置かれるので、システム構成によっては、
/usr/local を別パーティションとして確保してもいいかもしれません。
• /var
システムのログやスプールファイルなどが、ここに作られます。プログラムによっては、/var/cacheにキャッシュ ファイルを作ったり、/var/tmp に一時ファイルを作ったりするものもあります。ファイルの生存期間が比較的 短いものが集まっており、システムの運用状態によっては、ファイルが次々に作られることもあるので、ルートパー ティションとは分けて確保しておくことが望ましいでしょう。パーティションのサイズは、最低でも1GB程度確保 することを推奨しますが、メールサーバーやHTTPサーバーのデフォルト設定では、このディレクトリ配下にメー ルやHTMLファイルを配置するので、システムの運用規模に応じた領域を確保しておく必要があります。
• /tmp
/tmpは特殊なディレクトリで、だれもが書き込み可能なディレクトリです。一時ファイルをこのディレクトリ配下に 作成するプログラムも数多く存在します。だれもが書き込み可能なディレクトリのため、便利である一方で危険 な一面もあります。悪意のあるユーザーや、プログラムのバグによって、自由に大きなファイルを /tmp ディレク
4.2 パーティション トリに作成できるため、/tmp ディレクトリが /(ルート)と同じパーティション内に存在する場合、/ (ルート)パー ティションの空き領域がなくなり、システムに異常をきたす可能性があります。よって、システムをより安全に運 用するためには、/(ルート)パーティションとは別のパーティションにすることを推奨します。
• /opt
/optは、アプリケーションのインストール先として利用されるディレクトリです。商用アプリケーションの多くは、
/opt ディレクトリにアプリケーションのプログラムやデータなどをインストールします。したがって、確保すべき 容量は、インストールするアプリケーションに依存します。OSのインストール時には何もインストールされないの で、商用アプリケーションなどを使わないのであれば、別パーティションを確保する必要はありません。
• diskdump
diskdumpパーティションは、システムで異常が発生したときのメモリ状況をダンプ機能によって、ディスクに書き出す 際に使われます。diskdump機能を使わなければ必要ありませんが、その場合には、障害原因を解析するための情 報としてダンプファイルを利用することができません。diskdumpパーティションに必要なサイズの目安として、搭載メ モリの1.05倍を確保してください。diskdumpパーティションは、インストール時、もしくはインストール後に作成するこ とができます。diskdump機能の設定については、「第27章 トラブルシューティング」を参照してください。
システム構築時には、表4-1に示す典型的なパーティション分割の設定例を参考にしてください。メールサーバー などを構築する場合には、/var により大きな領域を割り当てる必要があるでしょう。
表4-1 パーティションの設定例
パーティション
容量 メモリ 512MB、ディスク36GBを備える
ファイルサーバー用のシステム メモリ 1GB、ディスク 72GBを備える データベースサーバー用のシステム
/boot 128MB 128MB
swap 1GB 2GB
/ 5GB 5GB
/var 5GB(ファイル共有に利用) 1GB
/tmp 1GB 1GB
/home 残り全部(ユーザー用ファイル共有に利用) 1GB
/opt なし 残り全部(データベースに利用)
パーティション
容量 メモリ 512MB、ディスク36GBを備える
ファイルサーバー用のシステム
メモリ 1GB、ディスク 72GBを備える データベースサーバー用のシステム
diskdump 538MB 1076MB