2011年05月04日

パーティショニング2011

久々にゼロから趣味でサーバの構築をするので、パーティーション構成を考えてみたのですが、どうやれば今時のパーティーショニングができるかなかなか悩ましいモノです。

たとえば、openSUSEのデフォルトだと「/」「/home」「swap」の3パーティションしか分割しないようですし、近年ではLVMという選択肢もあるため、考え始めると意外と悩んでしまいました。

で、今回どういう理屈でパーテーションを切るのかメモがわりにまとめておこうと思います。

まず、今回構築するのはVMware上でRAIDを組んでいない空き容量にはかなり余裕があるS-ATAディスク領域です。
上手いこと構築が進めば数年利用するサーバになる予定です。

ディスク領域が厳しい場合や、用途が不明瞭な場合には「/」のワンパーテーションというのも有りですが、今回は割と用途も決まっているため、一応の分割はします。

また、マシン全体が仮想化されていない場合(特に信頼性のあるRAIDストレージに直接インストールする場合)にはLVMを使うと、オンラインで後から各パーテーションの容量を動的に増やせたり、スナップショットが取れたりと大きなメリットがありますが、LVMには障害発生時にデータ復旧が難しくなると言うデメリットがあるため、利用範囲は限定的にしようと思います。

ただ、LVM無しで一つの仮想ディスクに複数のパーテーションを切ってしまうと、その仮想ディスク内で最後に追加したパーテーションしか安定的に拡張できなくなってしまうため、1ドライブ1パーテーションで対応します。
(複数マウントポイント表記をしている物は領域の一部をbindしてマウントさせます。)

また、/bootは以前はLILOの制限などでディスクの先頭から一定の容量に無ければ動きませんでしたが、今は殆ど気にしなくていいはずなので、システム領域と一緒にします。

それから、swap用の領域はそのうち別の物理ドライブに置いたりするかも知れないので、専用の仮想ドライブにしておきます。

そんなこんなで今回は次のようにパーティションを切ってみたいと思います。

仮想ディスクパーティションマウントポイント容量フォーマット備考
Disk1Primary 1/25GBext4通常書き換えが発生しないシステム関連用メイン領域。rootユーザ以外が書き込めるファイルは置かない。/usrや/boot、/opt、swap用ファイルを含む
Disk2Primary 1/var10GBext4ログなどがシステムを圧迫するのを防ぐ為分離
Disk3Primary 1swap2GBswapswap用のファイルシステム
Disk4Primary 1/home200GBext4ユーザが触るデータ置き場。/srvと/tmpはここに置いてしまいます

このほかにデータ用のドライブを二つもうける予定なので、実質6つの仮想ドライブで動かすような形になる予定です。

まぁ、動くかどうかはこれから検証するのですが(笑)

※ちなみにパーティションの表記が揺れているのは検索用にワザとやっているので気にしないで下さい。

2012/11/03追記
上記の構成でしばらくはうまくいっていたのですがOSのバージョンアップで失敗したため/tmpはやっぱり個別に設けたほうがいいみたいです。

あと、マウント時にはUUID指定しておくことが重要。

でなければ、バージョンアップ時にこれまたエライ目にあいます。

Posted by Takuchan at 2011年05月04日 16:01 | トラックバック(0)