次のページ 前のページ 目次へ

3. 私はどんなパーティションを必要としているのだろう?

3.1 私に必要なパーティションの数は?

OKay,ではどんなパーティションをあなたは必要としているのでしょう?論理 パーティションから起動することなど、頭から、全く考慮していないオペレー ティングシステムだってあります。だから、ひょっとするとMS-DOS, OS/2 や Linux や使っている OS の起動パーティションとして基本パーティションをとっ ておきたくなるかもしれません。1つの基本パーティションが、論理パーティ ション用の入れ物となる拡張パーティションとして必要となることをお忘れな く。

オペレーティングシステムの起動はリアルモードで行われます。つまり BIOS と1024シリンダの制限が絡みます。そこで問題を避けるために、すべてのブー トパーティションをハードディスクの最初の1024シリンダ以内に置きたくなる かもしれません。もう一度よく "large-disk" Mini-Howto を読んでください。

Linux をインストールするために、少なくとも1パーティションが必要です。 カーネルがこのパーティションから読み込まれれるなら(例えばLILOによって)、 このパーティションは BIOS から読めなければなりません。他の方法でカーネ ルを読み込む場合(例えばブートディスクや MS-DOS から Linux を起動する LOADLIN.EXE など)、パーティションはどこにあってもいいです。あらゆる場 合においてこのパーティションはファイル型 0x83の"Linux native" にします。

システムにはいくらかのスワップ領域が必要です。ファイルにスワップをとる のでなければ、専用のスワップパーティションが必要になります。このパーティ ションは Linux カーネルによるアクセスのみで、Linux カーネルは PC BIOS の欠点に悩まされませんので、スワップパーティションはどこに置いてもかま いません。私は論理パーティション(/dev/?d?5より上)を使うことをお勧めし ます。専用のLinuxスワップパーティションはファイル型 0x82 "Linux swap" です。

これらは最小限のパーティション構成です。Linux にとってはより多くのパー ティションを作ると便利かもしれません。以降を読んでください。

3.2 スワップ領域はどのくらいの大きさがいいのだろう?

専用のスワップパーティションを使うと決めた(普通これは 'Good Idea [tm]'ですが)場合、その大きさを見積もるのには以下のガイドラインを 使って下さい:

ですから 16MB RAM のばあい、最小限の設定ではスワップは必要ではないし、 48MB を越えるスワップはたぶん無用でしょう。正確な必要メモリ量はマシン 上のアプリケーションによります。(なにを期待してたんですか?)

3.3 どこにスワップスペースを置くべきか?

まとめ:他の仕事に忙しくなく、多くのヘッドを持った、高速なディス ク上にスワップ領域を取りましょう。複数のディスクを持っているとき:全て のディスク上、異なるコントローラがあればそれらでもスワップを分割、分散 しましょう。

さらに良い方法:RAMをもっと買いましょう。

3.4 ファイルシステムとフラグメンテーションに関するいくつかの事実

ディスクスペースはオペレーティングシステムによってブロック単位やブロッ クのフラグメントで管理されています。ext2 ではフラグメントとブロックは 同じサイズでなければなりません。そこでわれわれは議論をブロックに限るこ とができます。

ファイルはいかなるサイズでもありえます。それらはブロック境界では終りま せん。そこで全てのファイルではファイルの最後のブロックの一部が無駄とな ります。ファイルサイズが不規則だとすれば、ディスク上のファイルのそれぞ れにブロックの半分の(サイズの)無駄があると予想できます。Tanenbaum 教授 はこれを"Operating Systems"のなかで"internal fragmentation"と呼んでい ます。

ディスク上で占められるinodeの数からファイル数が推測できます。私の場合 は:


# df -i
Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
/dev/hda3              64256   12234   52022    19%  /
/dev/hda5              96000   43058   52942    45%  /var

約12000のファイルが/(ルート)に、約44000のファイルが/var にあります。1 KBのブロックサイズでは 6+22 = 28 MB のディスク容量がファ イルの尻尾の部分として失われています。ブロックサイズを 4KB とした場合、 この容量の4倍を失うことになります。

データ転送速度はおおきくて連続したデータのかたまりのほうが速いです。そ こで ext2 はサイズが大きくなりつつあるファイルのために8つの連続したブ ロックごとにあらかじめ領域を割り当てようとします。あらかじめとっておい た領域の使われない部分はこのファイルが閉じられたときに解放されます。

1つのファイルが不連続なブロックに配置されているのはパフォーマンスの点 でよくないことです。なぜならファイルはしばしば連続的にアクセスされるか らです。ファイルが不連続だとオペレーティングシステムにディスクアクセス を分割しなければならず、ディスクはヘッドを動かさなければなりません。こ れは"external fragmentation"とか単純に"フラグメンテーション (fragmentation)"と呼ばれ DOSファイルシステム上と共通の問題です。

ext2 は external fragmentation を避けるためにいくつかの戦略を持ってい ます。普通、フラグメンテーションは USENET ニューススプールの様に酷使さ れない限り、ext2 にとって大きな問題ではありません。ext2 ファイルシステ ム用のデフラグツールがあるのですが、ext2 の現リリースに追い付いていま せん。これを使うときは、自分の責任で行ってください。

MS-DOS ファイルシステムはディスクスペースの異常な管理でよく知られてい ます。MS-DOS のバッファキャッシュの使い方がひどく悪いことと相まってパ フォーマンスに及ぼすファイルフラグメンテーションの影響は際だっています。 DOS ユーザー達はほとんど毎週ディスクをデフラグすることに慣れていて、デ フラグすることに関して儀式的な信仰に達している人すらいます。このような 習慣は Linux と ext2 に持ちこむべきではありません。Linux のネイティブ なファイルシステムは普通の使い方ではデフラグを必要としません。ディスク 上の空き領域がすくなくとも 5% ある状況なら「普通の使い方」の範疇です。

MS-DOS ファイルシステムはまた、internal fragmentation によりディスク領 域の大きな部分を失うことも知られています。256MB より大きなパーティショ ンでは DOS のブロックサイズはもはや使い難いほど大きくなります。(このこ とは FAT32 による拡張などにもあてはまります)

ext2 は、小さなブロックサイズが役立たずになる0.5TB (テラバイトと読み 1TB は 1024GB になります)とかそれ以上の巨大なファイルシステム以外は、 大きなファイルシステムのために大きなブロックサイズを選ばなければならな い、ということはありません。ですので DOS と違って、ブロックサイズを小 さくするために大きなディスクを複数のパーティションに分ける必要はありま せん。可能ならば、デフォルトのブロックサイズ 1KBを使ってください。いく つかのパーティションを実験的に 2KB のブロックサイズにしてみたくなるか もしれませんが、まれなバグに遭遇することを覚悟しておいてください。ほと んどの人がデフォルトを使っているので。

3.5 パーティション分けの判断基準となるファイル寿命とバックアップサイクル

ext2 のもとでは、パーティション分けはバックアップを考慮したり異なるファ イル寿命から生じる external fragmentation を避けるためなどから決めるべ きです。

ファイルには寿命があります。ファイルが作られたあと、それはしばらくシス テム上に保持され、のちに削除されます。ファイルの寿命はシステム内で様々 ですし、ある程度ファイルのパスに依存します。例えば、/bin, /sbin, /usr/sbin, /usr/bin とか同じようなディレク トリ中のファイルはおそらく大変長い寿命(数ヶ月とかそれ以上)を持つでしょ う。/home のファイルは数週間かそこらの中くらいの寿命を持つでしょ う。/var のファイルは普通、寿命が短いです。 /var/spool/news 中のファイルは数日以上は残らないでしょう。 /var/spool/lpd 中のファイルは数分とかそれ以下の単位で寿命が計れ ます。

もし「デイリーバックアップ」の量がバックアップメディア1枚の容量以下な らばバックアップはやりやすいです。「デイリーバックアップ」とはフルバッ クアップまたはインクリメンタルバックアップです。

パーティションサイズを1枚のバックアップメディアに収まるように、 十分小さくしておくようにすることもできます(毎日フルバックアップするよ うにしましょう) 。そうでない場合でも、パーティションは毎日の増加分(変 更された全てのファイル)が1枚のバックアップメディアに十分収まる程度の 大きさにしておくべきです。(インクリメンタルバックアップを選択し、毎週/ 毎月のフルバックアップ -無人では作業できないバックアップ- の度にバック アップメディアを交換するようにしましょう)。

あなたのバックアップ戦略はこれらの決定に依存しています。

ディスク領域に関し計画したり、ディスクを購入するときは、バックアップの ために十分なお金を用意することに留意しておいてください。バックアップさ れていないデータは価値がないのです!データを作り直すコストはほとんどす べての人にとってバックアップのコストよりずっと大きいのです。

異なった寿命を持つファイルを異なったパーティションに置いておくのはパフォー マンスにとってよいことです。このやりかただとニュースパーティション上の 短命なファイルはフラグメントが大きいです。このことが //home パーティションのパフォーマンスに影響をおよぼすことはあり ません。


次のページ 前のページ 目次へ