rootへの道
rootへの道 : 3、パーティションの割り振りは、システム設計の重要なステップ
今回は、パーティションの分割についてです。
LPIC Level1では「2:Linuxのインストールとパッケージ管理」の一部として含まれているものです。
ハードディスクなどのストレージデバイスはパーティションと呼ばれる"区画"に分けて使用できます。
Linuxの場合、最低でも「ルートパーティション」と「スワップ領域」という2つのパーティションが必要です。
Ubuntuデスクトップをデフォルトのままインストールすると、この構成でインストールされます。
一方、Webを始めとするサーバの場合は、さらに多くのパーティションを切って運用するのが一般的です。
その理由は次の通りです。
- ディスクに障害が発生した際に被害を最小限に抑えられる
- 障害発生時に復旧作業をスムーズに行える
- 再インストール、ディストリビューションを乗り換えた時にデータ/コンテンツを継承して使用できる。
■運用目的によっては独立パーティションに配置することで利便性が上がるディレクトリ
/boot
昔のシステム(・・・とは言っても今でも稼働しているシステムもある)は/bootパーティションの確保が必須でした。現在のブートローダーはGRUBが主流となっていますが、以前は"LILO"が多くのディストリビューションで採用されていました。
このLILOの制限として、Linuxカーネルの起動イメージをディスクの先頭から1,024シリンダ以内に収める必要がありました。一方、GRUBの場合、このような制限はありません。
しかし、LILOに戻らざるを得ないという可能性があるならば、/boot用パーティションを別途確保することがすすめられています。
この場合、先頭のパーティションに領域を確保します。50MB〜100MB程度が目安となるでしょう。
/home
一般ユーザが作成したデータ、コンテンツ、設定ファイルが置かれます。
ファイル・サーバとして運用する場合には、大切な"情報資産"を守るためにバックアップ、データリカバリが重要となります。
/homeを独立パーティションとしておけば、クリーンインストールを行わざるを得なくなってしまった場合でも、環境を引き継いで使用できるので便利です。
/var
/varには、ログファイルやメールスプールなど、頻繁に更新されるデータ/ファイルが格納されます。
特にWebサーバであるApacheを運用すると、大量のログが生成されることになります。
ルートファイルシステムに/varをおいておくとこの大量のログが溢れてしまい、システム全体に影響を与えてしまいます。
/usr
/usrには、ユーザ用のプログラム、ライブラリが格納されます。
ユーザにアプリケーションの追加を認めず、/usr以下を読み取り専用にして、NFSを用いてコマンドやプログラムを共有することでセキュリティを高める・・・という方式がサーバ管理においてよく用いられています。
/
上記以外のディレクトリは、全てこの「/」(ルート)以下に配置されることになります。
「/home」、「/var」、「/usr」の3つのディレクトリが内容の変化が大きなものとなります。
それ以外のディレクトリは、設定の変更、セキュリティアップデートが行われる程度で、さほど大きな変化は起きず、たとえ変更が加わっても大した容量の増大はないことでしょう。
以上のように、パーティションを分割する事は、障害発生時の復旧を容易にするために、ルートファイルシステムをできるだけ小さくした方がいい・・・という考えに基づいています。
スワップ領域
メモリ価格が格段と低下した今となっては、不要とも言われ始めているのが仮想メモリであるswap。
これは、物理メモリが不足した場合に備えて、ディスクの一部を仮想的なメモリとして用いるというものです。
しかし、スワップを用いるほどになると、物理メモリと比較してとんでもなく処理が低下してしまいます。これが豊富にメモリを搭載していれば不要であると言われる理由です。
しかし、ストレージ価格も大幅に低下していますので、万一に備えて、確保しておくのがいいでしょう。
また、ディストリビューションによっては、確保が必須のものもあります。
割り当てるサイズの目安は、搭載している実メモリの1〜2倍と言われています。
■パーティショニングの方法
実際に、パーティションを分ける作業を見てみましょう。
なお、パーティション編集ツールとしては、画面でも用いている「GParted」がビジュアルで分かりやすく操作もしやすくおすすめです。
LiveCDで起動すると、「システム」>「システム管理」から「パーティション・エディタ」を選ぶと起動できます。
ハードディスクへインストール時には導入されないので追加する場合には以下のコマンドでどうぞ!
sudo apt-get install gparted
ところで、先ほどのようにハードディスクのパーティションを切るためには、次の手順で行います。
まず拡張領域を作成し、その中に論理パーティションを作成していきます。
これは、基本領域は、システム全体で4個までしか作成できないためです。
6つのパーティションが必要という場合、画像のように、「/dev/sda1から3」までに基本領域を、最後の4つめにとなる基本領域=「/dev/sda4」を拡張領域に変更してしまいます。
そしてこの中に論理パーティションを追加していきます。
80GBのハードディスクを次のように割り振ってみます。
/dev/sda1 /boot 約2GB
/dev/sda2 /usr 約10GB
/dev/sda3 /var 約10GB
/dev/sda4 extended=拡張領域
/dev/sda5 /home 約50GB
/dev/sda6 / 約
/dev/sda7 swap領域 約2GB
論理パーティションは/dev/sda16まで作成可能なので、基本領域を含め、最大15個のパーティションが作成できることになります。
以上のような構成でUbuntuにインストールを行う際には、インストールのステップ4/7で各パーティションにマウントポイントをしてしていきます。
画面は/dev/sda5に「/home」を割り当てようとしているところです。
リストから「/dev/sda5」をクリックし、「パーティションを編集」をクリックします。
現れた画面で、マウントポイントを「/home」と入力します。(右端の矢印をクリックすると代表的なディレクトリ名を選択できます。)
ついでに言うと、この例のようにGPartedで「ext2」でフォーマットしてしまったとしても、この画面で「ext3」を選ぶことで初期化しなおしてくれます。
さて、以上のようにパーティショニングはそのシステムが今後どのように使用されていくかを予測し、設計を行う上での実作業の中でも重要なステップとも言えるでしょう。
ちなみにu-bonは、その昔、Webサーバの管理で「/var」の領域を少なく見すぎてApacheが吐き出すログファイルを溢れさせるという失敗をやらかした事があります。
パーティショニングは、まさにシステム管理者としての洞察力が求められる重要なステップなのではないでしょうか?
- 12、慣れると決して難しくない! かえって便利な「端末操作」 (2009-01-30 13:35:29)
- 11、依存関係の修復、「apt」以外のDebianのパッケージ管理ツール (2009-01-30 13:28:53)
- 10、Ubuntuを安心して使えるのは「apt」のおかげ。ああ、ありがたや! (2009-01-30 13:26:04)
- 9、deb形式のパッケージ管理システム: これのおかげで安定してルンだなぁ! (2009-01-30 13:24:45)
- 8、Ubuntuを安心して使えるのは「apt」のおかげ。ああ、ありがたや! (2009-01-25 05:01:01)
- 7、deb形式のパッケージ管理システム: これのおかげで安定してルンだなぁ! (2009-01-25 05:00:21)
- 6、「端末」を使いやすくカスタマイズすると気分も♪ウキウキ♪ (2009-01-25 04:59:23)
- 5、ブートローダー「GRUB」の役割と設定の変更 (2009-01-25 04:57:18)
- 4、パスワードを忘れてしまった時は、慌てず騒がずシングルユーザモードで起動! (2009-01-25 04:36:48)
- 3、パーティションの割り振りは、システム設計の重要なステップ (2009-01-25 04:36:00)
- 2、全てのデーモン/サービスはオイラの管理下。もうみだりに再起動なんかしない! (2009-01-25 04:34:36)
- 1、Ubuntuの「ランレベル」は、ちょと違う・・・というか考え方が違う (2009-01-25 04:33:50)
書込みされた内容の著作権はコメントの投稿者に帰属します。





